[CinCV-commits] CinelerraCV.git (#1516) - master (branch) updated: v2.3-64-g7c09a73

git repository hosting git at cinelerra-cv.org
Tue Apr 5 18:39:31 CEST 2016


The branch, master has been updated
       via  7c09a7398915628c02713f434d5bfb0a3d21f53f (commit)
      from  a68de2d2708c924cd951d7451125f6dcd21af863 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7c09a7398915628c02713f434d5bfb0a3d21f53f
Author: Einar R√ľnkaru <einarrunkaru at gmail.com>
Date:   Sat Apr 2 22:38:13 2016 +0300

    Make window titles translateable
    
    Gettext does not catch propely concatenated strings like
    '"window_name - " PROGRAM_NAME'.
    Create a function that concatenates strings with program name
    and use it to create titles. Use new style for titles.

-----------------------------------------------------------------------

Summary of changes:
 cinelerra/assetedit.C         |  4 ++--
 cinelerra/assetremove.C       |  2 +-
 cinelerra/awindowgui.C        |  2 +-
 cinelerra/batchrender.C       |  4 ++--
 cinelerra/channeledit.C       |  9 +++++----
 cinelerra/clipedit.C          |  4 ++--
 cinelerra/confirmquit.C       |  2 +-
 cinelerra/confirmsave.C       |  2 +-
 cinelerra/cropvideo.C         |  2 +-
 cinelerra/cwindowgui.C        |  2 +-
 cinelerra/cwindowtool.C       | 12 ++++++------
 cinelerra/deleteallindexes.C  |  2 +-
 cinelerra/editpopup.C         |  4 ++--
 cinelerra/exportedl.C         |  2 +-
 cinelerra/featheredits.C      |  2 +-
 cinelerra/file.C              |  3 ++-
 cinelerra/fileac3.C           |  4 ++--
 cinelerra/fileavi.C           |  6 +++---
 cinelerra/filedv.C            |  6 +++---
 cinelerra/fileexr.C           |  4 ++--
 cinelerra/fileformat.C        |  2 +-
 cinelerra/filejpeg.C          |  4 ++--
 cinelerra/filejpeglist.C      |  2 +-
 cinelerra/filemov.C           |  6 +++---
 cinelerra/filempeg.C          |  6 +++---
 cinelerra/fileogg.C           |  6 +++---
 cinelerra/filepng.C           |  4 ++--
 cinelerra/filesndfile.C       |  4 ++--
 cinelerra/filetga.C           |  4 ++--
 cinelerra/filetiff.C          |  3 ++-
 cinelerra/filevorbis.C        |  4 ++--
 cinelerra/fileyuv.C           |  2 +-
 cinelerra/formatcheck.C       | 10 +++++-----
 cinelerra/formatwindow.C      |  4 ++--
 cinelerra/gwindowgui.C        |  2 +-
 cinelerra/labeledit.C         |  2 +-
 cinelerra/levelwindowgui.C    |  3 ++-
 cinelerra/loadfile.C          |  4 ++--
 cinelerra/mainerror.C         |  2 +-
 cinelerra/manualgoto.C        |  2 +-
 cinelerra/menueffects.C       | 19 ++++++++-----------
 cinelerra/mwindow.C           |  9 ++++++++-
 cinelerra/mwindow.h           |  2 ++
 cinelerra/mwindowgui.C        |  4 ++--
 cinelerra/new.C               |  2 +-
 cinelerra/newfolder.C         |  2 +-
 cinelerra/packagerenderer.C   |  2 +-
 cinelerra/pluginpopup.C       |  2 +-
 cinelerra/preferencesthread.C |  2 +-
 cinelerra/question.C          |  2 +-
 cinelerra/quit.C              |  4 ++--
 cinelerra/recconfirmdelete.C  |  2 +-
 cinelerra/recordaudio.C       |  2 +-
 cinelerra/recordgui.C         |  4 ++--
 cinelerra/recordmonitor.C     |  4 ++--
 cinelerra/recordvideo.C       |  2 +-
 cinelerra/recordwindow.C      |  2 +-
 cinelerra/reindex.C           |  2 +-
 cinelerra/render.C            |  8 ++++----
 cinelerra/renderprofiles.C    |  2 +-
 cinelerra/resizetrackthread.C |  2 +-
 cinelerra/savefile.C          |  6 +++---
 cinelerra/scale.C             |  2 +-
 cinelerra/setformat.C         |  2 +-
 cinelerra/splashgui.C         |  4 ++--
 cinelerra/tipwindow.C         |  2 +-
 cinelerra/transitionpopup.C   |  2 +-
 cinelerra/vwindowgui.C        |  4 ++--
 68 files changed, 133 insertions(+), 123 deletions(-)

The diff of changes is:
diff --git a/cinelerra/assetedit.C b/cinelerra/assetedit.C
index df78bf0..1c9b9b3 100644
--- a/cinelerra/assetedit.C
+++ b/cinelerra/assetedit.C
@@ -150,7 +150,7 @@ void AssetEdit::run()
 
 
 AssetEditWindow::AssetEditWindow(MWindow *mwindow, AssetEdit *asset_edit)
- : BC_Window(PROGRAM_NAME ": Asset Info", 
+ : BC_Window(MWindow::create_title(N_("Asset Info")),
  	mwindow->gui->get_abs_cursor_x(1) - 400 / 2, 
 	mwindow->gui->get_abs_cursor_y(1) - 550 / 2, 
 	400, 
@@ -207,7 +207,7 @@ int AssetEditWindow::create_objects()
 		path_text, 
 		y, 
 		asset->path, 
-		PROGRAM_NAME ": Asset path", _("Select a file for this asset:")));
+		MWindow::create_title(N_("Asset path")), _("Select a file for this asset:")));
 	y += 30;
 
 	add_subwindow(new BC_Title(x, y, _("File format:")));
diff --git a/cinelerra/assetremove.C b/cinelerra/assetremove.C
index f7c5a18..f341b1b 100644
--- a/cinelerra/assetremove.C
+++ b/cinelerra/assetremove.C
@@ -27,7 +27,7 @@
 
 
 AssetRemoveWindow::AssetRemoveWindow(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Remove assets", 
+ : BC_Window(MWindow::create_title(N_("Remove assets")),
 				mwindow->gui->get_abs_cursor_x(1),
 				mwindow->gui->get_abs_cursor_y(1),
 				320, 
diff --git a/cinelerra/awindowgui.C b/cinelerra/awindowgui.C
index fd568d4..e1943e2 100644
--- a/cinelerra/awindowgui.C
+++ b/cinelerra/awindowgui.C
@@ -322,7 +322,7 @@ void AssetPicon::create_objects()
 
 
 AWindowGUI::AWindowGUI(MWindow *mwindow, AWindow *awindow)
- : BC_Window(PROGRAM_NAME ": Resources",
+ : BC_Window(MWindow::create_title(N_("Resources")),
  	mwindow->session->awindow_x, 
     mwindow->session->awindow_y, 
     mwindow->session->awindow_w, 
diff --git a/cinelerra/batchrender.C b/cinelerra/batchrender.C
index 3768111..4a88f71 100644
--- a/cinelerra/batchrender.C
+++ b/cinelerra/batchrender.C
@@ -434,7 +434,7 @@ int BatchRenderThread::test_edl_files()
 				sprintf(string, _("EDL %s not found.\n"), jobs.values[i]->edl_path);
 				if(mwindow)
 				{
-					ErrorBox error_box(PROGRAM_NAME ": Error",
+					ErrorBox error_box(MWindow::create_title(N_("Error")),
 						mwindow->gui->get_abs_cursor_x(1),
 						mwindow->gui->get_abs_cursor_y(1));
 					error_box.create_objects(string);
@@ -661,7 +661,7 @@ BatchRenderGUI::BatchRenderGUI(MWindow *mwindow,
 	int y,
 	int w,
 	int h)
- : BC_Window(PROGRAM_NAME ": Batch Render", 
+ : BC_Window(MWindow::create_title(N_("Batch Render")),
 	x,
 	y,
 	w, 
diff --git a/cinelerra/channeledit.C b/cinelerra/channeledit.C
index f7fcb01..65cc6ce 100644
--- a/cinelerra/channeledit.C
+++ b/cinelerra/channeledit.C
@@ -30,6 +30,7 @@
 #include "clip.h"
 #include "condition.h"
 #include "language.h"
+#include "mwindow.h"
 #include "picture.h"
 #include "theme.h"
 #include "videodevice.h"
@@ -192,7 +193,7 @@ char* ChannelEditThread::value_to_input(int value)
 
 ChannelEditWindow::ChannelEditWindow(ChannelEditThread *thread, 
 	ChannelPicker *channel_picker)
- : BC_Window(PROGRAM_NAME ": Channels", 
+ : BC_Window(MWindow::create_title(N_("Channels")),
  	channel_picker->parent_window->get_abs_cursor_x(1) - 330, 
 	channel_picker->parent_window->get_abs_cursor_y(1), 
 	350, 
@@ -666,7 +667,7 @@ int ChannelEditPicture::handle_event()
 
 
 ConfirmScan::ConfirmScan(ChannelEditWindow *gui, int x, int y)
- : BC_Window(PROGRAM_NAME ": Scan confirm",
+ : BC_Window(MWindow::create_title(N_("Scan confirm")),
  	x,
 	y,
 	350,
@@ -1014,7 +1015,7 @@ SET_TRACE
 ChannelEditEditWindow::ChannelEditEditWindow(ChannelEditEditThread *thread, 
 	ChannelEditWindow *window,
 	ChannelPicker *channel_picker)
- : BC_Window(PROGRAM_NAME ": Edit Channel", 
+ : BC_Window(MWindow::create_title(N_("Edit Channel")),
  	channel_picker->parent_window->get_abs_cursor_x(1), 
 	channel_picker->parent_window->get_abs_cursor_y(1), 
  	390, 
@@ -1450,7 +1451,7 @@ void ChannelEditPictureThread::close_threads()
 
 ChannelEditPictureWindow::ChannelEditPictureWindow(ChannelEditPictureThread *thread, 
 	ChannelPicker *channel_picker)
- : BC_Window(PROGRAM_NAME ": Picture", 
+ : BC_Window(MWindow::create_title(N_("Picture")),
  	channel_picker->parent_window->get_abs_cursor_x(1) - 200, 
 	channel_picker->parent_window->get_abs_cursor_y(1) - 220, 
  	250, 
diff --git a/cinelerra/clipedit.C b/cinelerra/clipedit.C
index c53f4a7..dbb3569 100644
--- a/cinelerra/clipedit.C
+++ b/cinelerra/clipedit.C
@@ -117,7 +117,7 @@ void ClipEdit::run()
 				}
 				if (!name_ok_or_cancel)
 				{
-					ErrorBox error(PROGRAM_NAME ": Error", 
+					ErrorBox error(MWindow::create_title(N_("Error")),
 						mwindow->gui->get_abs_cursor_x(1), 
 						mwindow->gui->get_abs_cursor_y(1));
 					error.create_objects(_("A clip with that name already exists."));
@@ -174,7 +174,7 @@ void ClipEdit::run()
 
 
 ClipEditWindow::ClipEditWindow(MWindow *mwindow, ClipEdit *thread)
- : BC_Window(PROGRAM_NAME ": Clip Info", 
+ : BC_Window(MWindow::create_title(N_("Clip Info")),
  	mwindow->gui->get_abs_cursor_x(1) - 400 / 2,
 	mwindow->gui->get_abs_cursor_y(1) - 350 / 2,
 	400, 
diff --git a/cinelerra/confirmquit.C b/cinelerra/confirmquit.C
index 7701ebf..f2ffeee 100644
--- a/cinelerra/confirmquit.C
+++ b/cinelerra/confirmquit.C
@@ -30,7 +30,7 @@
 
 
 ConfirmQuitWindow::ConfirmQuitWindow(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Question", 
+ : BC_Window(MWindow::create_title(N_("Question")),
  	mwindow->gui->get_abs_cursor_x(1), 
 	mwindow->gui->get_abs_cursor_y(1), 
 	375, 
diff --git a/cinelerra/confirmsave.C b/cinelerra/confirmsave.C
index b3765ae..4e0d231 100644
--- a/cinelerra/confirmsave.C
+++ b/cinelerra/confirmsave.C
@@ -104,7 +104,7 @@ int ConfirmSave::test_files(MWindow *mwindow,
 
 ConfirmSaveWindow::ConfirmSaveWindow(MWindow *mwindow, 
 	ArrayList<BC_ListBoxItem*> *list)
- : BC_Window(PROGRAM_NAME ": File Exists", 
+ : BC_Window(MWindow::create_title(N_("File Exists")),
  		mwindow->gui->get_abs_cursor_x(1) - 160, 
 		mwindow->gui->get_abs_cursor_y(1) - 120, 
 		320, 
diff --git a/cinelerra/cropvideo.C b/cinelerra/cropvideo.C
index 99fe765..f98e85b 100644
--- a/cinelerra/cropvideo.C
+++ b/cinelerra/cropvideo.C
@@ -94,7 +94,7 @@ int CropVideo::save_defaults()
 }
 
 CropVideoWindow::CropVideoWindow(MWindow *mwindow, CropVideo *thread)
- : BC_Window(PROGRAM_NAME ": Crop", 380, 75, 0, 0)
+ : BC_Window(MWindow::create_title(N_("Crop")), 380, 75, 0, 0)
 {
 	this->mwindow = mwindow;
 	this->thread = thread;
diff --git a/cinelerra/cwindowgui.C b/cinelerra/cwindowgui.C
index 5581ed9..f66c760 100644
--- a/cinelerra/cwindowgui.C
+++ b/cinelerra/cwindowgui.C
@@ -76,7 +76,7 @@ static int total_zooms = sizeof(my_zoom_table) / sizeof(double);
 
 
 CWindowGUI::CWindowGUI(MWindow *mwindow, CWindow *cwindow)
- : BC_Window(PROGRAM_NAME ": Compositor",
+ : BC_Window(MWindow::create_title(N_("Compositor")),
  	mwindow->session->cwindow_x, 
     mwindow->session->cwindow_y, 
     mwindow->session->cwindow_w, 
diff --git a/cinelerra/cwindowtool.C b/cinelerra/cwindowtool.C
index 7843108..f340df7 100644
--- a/cinelerra/cwindowtool.C
+++ b/cinelerra/cwindowtool.C
@@ -364,7 +364,7 @@ int CWindowCropOK::keypress_event()
 CWindowCropGUI::CWindowCropGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Crop",
+	MWindow::create_title(N_("Crop")),
 	330,
 	100)
 {
@@ -475,7 +475,7 @@ void CWindowCropGUI::update()
 CWindowEyedropGUI::CWindowEyedropGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Color",
+	MWindow::create_title(N_("Color")),
 	150,
 	150)
 {
@@ -631,7 +631,7 @@ int CWindowTangentToggle::handle_event()
 CWindowCameraGUI::CWindowCameraGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Camera",
+	MWindow::create_title(N_("Camera")),
 	170,
 	170)
 {
@@ -1085,7 +1085,7 @@ int CWindowCameraBottom::handle_event()
 CWindowProjectorGUI::CWindowProjectorGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Projector",
+	MWindow::create_title(N_("Projector")),
 	170,
 	170)
 {
@@ -1912,7 +1912,7 @@ int CWindowMaskBeforePlugins::handle_event()
 CWindowMaskGUI::CWindowMaskGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Mask",
+	MWindow::create_title(N_("Mask")),
 	330,
 	280)
 {
@@ -2099,7 +2099,7 @@ void CWindowMaskGUI::update_preview()
 CWindowRulerGUI::CWindowRulerGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow, 
  	thread,
-	PROGRAM_NAME ": Ruler",
+	MWindow::create_title(N_("Ruler")),
 	320,
 	240)
 {
diff --git a/cinelerra/deleteallindexes.C b/cinelerra/deleteallindexes.C
index 7e5a6a6..2847c75 100644
--- a/cinelerra/deleteallindexes.C
+++ b/cinelerra/deleteallindexes.C
@@ -101,7 +101,7 @@ printf("DeleteAllIndexes::run %s\n", string2);
 
 
 ConfirmDeleteAllIndexes::ConfirmDeleteAllIndexes(MWindow *mwindow, char *string)
- : BC_Window(PROGRAM_NAME ": Delete All Indexes", 
+ : BC_Window(MWindow::create_title(N_("Delete All Indexes")),
  		mwindow->gui->get_abs_cursor_x(1), 
 		mwindow->gui->get_abs_cursor_y(1), 
 		340, 
diff --git a/cinelerra/editpopup.C b/cinelerra/editpopup.C
index fbfbf27..4747765 100644
--- a/cinelerra/editpopup.C
+++ b/cinelerra/editpopup.C
@@ -106,7 +106,7 @@ int EditAttachEffect::handle_event()
 {
 	dialog_thread->start_window(popup->track,
 		0, 
-		PROGRAM_NAME ": Attach Effect");
+		MWindow::create_title(N_("Attach Effect")));
 	return 1;
 }
 
@@ -273,7 +273,7 @@ int EditPopupTitle::handle_event()
 
 
 EditPopupTitleWindow::EditPopupTitleWindow (MWindow *mwindow, EditPopup *popup)
- : BC_Window (PROGRAM_NAME ": Set edit title",
+ : BC_Window (MWindow::create_title(N_("Set edit title")),
 	mwindow->gui->get_abs_cursor_x(0) - 400 / 2,
 	mwindow->gui->get_abs_cursor_y(0) - 500 / 2,
 	300,
diff --git a/cinelerra/exportedl.C b/cinelerra/exportedl.C
index 9076460..38f1ce9 100644
--- a/cinelerra/exportedl.C
+++ b/cinelerra/exportedl.C
@@ -365,7 +365,7 @@ static int list_widths[] =
 };
 	
 ExportEDLWindow::ExportEDLWindow(MWindow *mwindow, ExportEDL *exportedl, ExportEDLAsset *exportasset)
- : BC_Window(PROGRAM_NAME ": Export EDL", 
+ : BC_Window(MWindow::create_title(N_("Export EDL")),
  	mwindow->gui->get_root_w(0, 1) / 2 - WIDTH / 2,
 	mwindow->gui->get_root_h(1) / 2 - HEIGHT / 2,
  	WIDTH, 
diff --git a/cinelerra/featheredits.C b/cinelerra/featheredits.C
index 27ef662..1a3c23c 100644
--- a/cinelerra/featheredits.C
+++ b/cinelerra/featheredits.C
@@ -75,7 +75,7 @@ void FeatherEdits::run()
 
 
 FeatherEditsWindow::FeatherEditsWindow(MWindow *mwindow, long feather_samples)
- : BC_Window(PROGRAM_NAME ": Feather Edits", 
+ : BC_Window(MWindow::create_title(N_("Feather Edits")),
  	mwindow->gui->get_abs_cursor_x(), 
 	mwindow->gui->get_abs_cursor_y(), 
 	340, 
diff --git a/cinelerra/file.C b/cinelerra/file.C
index efb44fd..d9aabeb 100644
--- a/cinelerra/file.C
+++ b/cinelerra/file.C
@@ -52,6 +52,7 @@
 #include "framecache.h"
 #include "language.h"
 #include "mutex.h"
+#include "mwindow.h"
 #include "pluginserver.h"
 #include "resample.h"
 #include "stringfile.h"
@@ -263,7 +264,7 @@ int File::get_options(FormatTools *format,
 
 	if(!format_window)
 	{
-		ErrorBox *errorbox = new ErrorBox(PROGRAM_NAME ": Error",
+		ErrorBox *errorbox = new ErrorBox(MWindow::create_title(N_("Error")),
 			parent_window->get_abs_cursor_x(1),
 			parent_window->get_abs_cursor_y(1));
 		format_window = errorbox;
diff --git a/cinelerra/fileac3.C b/cinelerra/fileac3.C
index 457c369..5c8d86a 100644
--- a/cinelerra/fileac3.C
+++ b/cinelerra/fileac3.C
@@ -23,7 +23,7 @@
 #include "clip.h"
 #include "fileac3.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "mainerror.h"
 
 
@@ -245,7 +245,7 @@ int FileAC3::write_samples(double **buffer, int64_t len)
 
 AC3ConfigAudio::AC3ConfigAudio(BC_WindowBase *parent_window,
 	Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	500,
diff --git a/cinelerra/fileavi.C b/cinelerra/fileavi.C
index e148b46..89bdabb 100644
--- a/cinelerra/fileavi.C
+++ b/cinelerra/fileavi.C
@@ -34,7 +34,7 @@
 #include "fileavi.h"
 #include "fileavi.inc"
 #include "interlacemodes.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "vframe.h"
 
 
@@ -741,7 +741,7 @@ int FileAVI::write_samples(double **buffer, int64_t len)
 
 
 AVIConfigAudio::AVIConfigAudio(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio compression",
+ : BC_Window(MWindow::create_title(N_("Audio compression")),
  	parent_window->get_abs_cursor_x(1),
 	parent_window->get_abs_cursor_y(1),
 	calculate_w(asset->format),
@@ -873,7 +873,7 @@ int AVIACodecList::handle_event()
 AVIConfigVideo::AVIConfigVideo(BC_WindowBase *parent_window, 
 		Asset *asset, 
 		const char *locked_compressor)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	calculate_w(asset->format),
diff --git a/cinelerra/filedv.C b/cinelerra/filedv.C
index 1c38ca1..bb518d3 100644
--- a/cinelerra/filedv.C
+++ b/cinelerra/filedv.C
@@ -30,7 +30,7 @@
 #include "interlacemodes.h"
 #include "language.h"
 #include "mutex.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "quicktime.h"
 #include "vframe.h"
 #include "videodevice.inc"
@@ -999,7 +999,7 @@ int FileDV::get_audio_offset(int64_t pos)
 
 
 DVConfigAudio::DVConfigAudio(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
 	parent_window->get_abs_cursor_x(1),
 	parent_window->get_abs_cursor_y(1),
 	350,
@@ -1033,7 +1033,7 @@ int DVConfigAudio::close_event()
 
 
 DVConfigVideo::DVConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
 	parent_window->get_abs_cursor_x(1),
 	parent_window->get_abs_cursor_y(1),
 	350,
diff --git a/cinelerra/fileexr.C b/cinelerra/fileexr.C
index 1a65590..b642f4a 100644
--- a/cinelerra/fileexr.C
+++ b/cinelerra/fileexr.C
@@ -37,7 +37,7 @@
 #include <ImfRgbaFile.h>
 #include <ImfRgbaYca.h>
 #include <ImfVersion.h>
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "vframe.h"
 
 
@@ -576,7 +576,7 @@ EXRUnit::~EXRUnit()
 
 
 EXRConfigVideo::EXRConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	300,
diff --git a/cinelerra/fileformat.C b/cinelerra/fileformat.C
index 8f26ee7..5263dd9 100644
--- a/cinelerra/fileformat.C
+++ b/cinelerra/fileformat.C
@@ -31,7 +31,7 @@
 
 
 FileFormat::FileFormat(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": File Format", 
+ : BC_Window(MWindow::create_title(N_("File Format")),
 		mwindow->gui->get_abs_cursor_x(1),
 		mwindow->gui->get_abs_cursor_y(1),
  		375, 
diff --git a/cinelerra/filejpeg.C b/cinelerra/filejpeg.C
index 1a4bb51..c0e63d8 100644
--- a/cinelerra/filejpeg.C
+++ b/cinelerra/filejpeg.C
@@ -28,7 +28,7 @@
 #include "jpegwrapper.h"
 #include "language.h"
 #include "libmjpeg.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "quicktime.h"
 #include "vframe.h"
 #include "videodevice.inc"
@@ -280,7 +280,7 @@ JPEGUnit::~JPEGUnit()
 
 
 JPEGConfigVideo::JPEGConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	400,
diff --git a/cinelerra/filejpeglist.C b/cinelerra/filejpeglist.C
index c66c92d..87b7d24 100644
--- a/cinelerra/filejpeglist.C
+++ b/cinelerra/filejpeglist.C
@@ -150,7 +150,7 @@ int FileJPEGList::write_frame(VFrame *frame, VFrame *data)
 
 
 JPEGConfigVideo::JPEGConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(),
  	parent_window->get_abs_cursor_y(),
 	400,
diff --git a/cinelerra/filemov.C b/cinelerra/filemov.C
index adaa4b6..58a03e0 100644
--- a/cinelerra/filemov.C
+++ b/cinelerra/filemov.C
@@ -30,7 +30,7 @@
 #include "guicast.h"
 #include "language.h"
 #include "mutex.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "vframe.h"
 #include "videodevice.inc"
 #include "mainerror.h"
@@ -1393,7 +1393,7 @@ void FileMOVThread::run()
 
 
 MOVConfigAudio::MOVConfigAudio(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	350,
@@ -1681,7 +1681,7 @@ int MOVConfigAudioPopup::handle_event()
 MOVConfigVideo::MOVConfigVideo(BC_WindowBase *parent_window, 
 	Asset *asset, 
 	const char *locked_compressor)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	420,
diff --git a/cinelerra/filempeg.C b/cinelerra/filempeg.C
index 831c6b6..0c24133 100644
--- a/cinelerra/filempeg.C
+++ b/cinelerra/filempeg.C
@@ -35,7 +35,7 @@
 #include "interlacemodes.h"
 #include "language.h"
 #include "mainerror.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "pipe.h"
 #include "preferences.h"
 #include "vframe.h"
@@ -1504,7 +1504,7 @@ void FileMPEGAudio::run()
 
 
 MPEGConfigAudio::MPEGConfigAudio(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	310,
@@ -1699,7 +1699,7 @@ char* MPEGABitrate::bitrate_to_string(char *string, int bitrate)
 
 MPEGConfigVideo::MPEGConfigVideo(BC_WindowBase *parent_window, 
 	Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	500,
diff --git a/cinelerra/fileogg.C b/cinelerra/fileogg.C
index 35c7cc0..28d2f41 100644
--- a/cinelerra/fileogg.C
+++ b/cinelerra/fileogg.C
@@ -29,7 +29,7 @@
 #include "guicast.h"
 #include "language.h"
 #include "mutex.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "quicktime.h"
 #include "vframe.h"
 #include "videodevice.inc"
@@ -2035,7 +2035,7 @@ int FileOGG::write_frames(VFrame ***frames, int len)
 }
 
 OGGConfigAudio::OGGConfigAudio(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
 	parent_window->get_abs_cursor_x(1),
 	parent_window->get_abs_cursor_y(1),
 	350,
@@ -2165,7 +2165,7 @@ int OGGVorbisAvgBitrate::handle_event()
 
 
 OGGConfigVideo::OGGConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
 	parent_window->get_abs_cursor_x(1),
 	parent_window->get_abs_cursor_y(1),
 	450,
diff --git a/cinelerra/filepng.C b/cinelerra/filepng.C
index c284153..3498112 100644
--- a/cinelerra/filepng.C
+++ b/cinelerra/filepng.C
@@ -25,7 +25,7 @@
 #include "filepng.h"
 #include "interlacemodes.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "quicktime.h"
 #include "vframe.h"
 #include "videodevice.inc"
@@ -437,7 +437,7 @@ PNGUnit::~PNGUnit()
 
 
 PNGConfigVideo::PNGConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	200,
diff --git a/cinelerra/filesndfile.C b/cinelerra/filesndfile.C
index 1e69883..70d027d 100644
--- a/cinelerra/filesndfile.C
+++ b/cinelerra/filesndfile.C
@@ -27,7 +27,7 @@
 #include "file.h"
 #include "filesndfile.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "mainerror.h"
 
 FileSndFile::FileSndFile(Asset *asset, File *file)
@@ -371,7 +371,7 @@ void FileSndFile::get_parameters(BC_WindowBase *parent_window,
 }
 
 SndFileConfig::SndFileConfig(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	250,
diff --git a/cinelerra/filetga.C b/cinelerra/filetga.C
index 0475ded..eff3446 100644
--- a/cinelerra/filetga.C
+++ b/cinelerra/filetga.C
@@ -24,7 +24,7 @@
 #include "edit.h"
 #include "filetga.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "vframe.h"
 #include "mainerror.h"
 
@@ -904,7 +904,7 @@ TGAUnit::~TGAUnit()
 
 
 TGAConfigVideo::TGAConfigVideo(BC_WindowBase *gui, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	gui->get_abs_cursor_x(1),
  	gui->get_abs_cursor_y(1),
 	400,
diff --git a/cinelerra/filetiff.C b/cinelerra/filetiff.C
index 2b22717..5a5eca1 100644
--- a/cinelerra/filetiff.C
+++ b/cinelerra/filetiff.C
@@ -25,6 +25,7 @@
 #include "filetiff.h"
 #include "interlacemodes.h"
 #include "language.h"
+#include "mwindow.h"
 #include "vframe.h"
 #include "mainerror.h"
 
@@ -584,7 +585,7 @@ FileTIFFUnit::~FileTIFFUnit()
 
 
 TIFFConfigVideo::TIFFConfigVideo(BC_WindowBase *parent_window, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Video Compression",
+ : BC_Window(MWindow::create_title(N_("Video Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	400,
diff --git a/cinelerra/filevorbis.C b/cinelerra/filevorbis.C
index b0450f0..4fe08f9 100644
--- a/cinelerra/filevorbis.C
+++ b/cinelerra/filevorbis.C
@@ -26,7 +26,7 @@
 #include "filevorbis.h"
 #include "guicast.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "mainerror.h"
 
 #include <errno.h>
@@ -551,7 +551,7 @@ int FileVorbis::read_samples_float(float *buffer, int64_t len)
 
 VorbisConfigAudio::VorbisConfigAudio(BC_WindowBase *parent_window, 
 	Asset *asset)
- : BC_Window(PROGRAM_NAME ": Audio Compression",
+ : BC_Window(MWindow::create_title(N_("Audio Compression")),
  	parent_window->get_abs_cursor_x(1),
  	parent_window->get_abs_cursor_y(1),
 	350,
diff --git a/cinelerra/fileyuv.C b/cinelerra/fileyuv.C
index 61a0e2c..d6c696c 100644
--- a/cinelerra/fileyuv.C
+++ b/cinelerra/fileyuv.C
@@ -362,7 +362,7 @@ void FileYUV::ensure_temp(int width, int height)
 
 
 YUVConfigVideo::YUVConfigVideo(BC_WindowBase *parent_window, Asset *asset, FormatTools *format)
-	: BC_Window(PROGRAM_NAME ": YUV4MPEG Stream",
+	: BC_Window(MWindow::create_title(N_("YUV4MPEG Stream")),
 		    parent_window->get_abs_cursor_x(1),
 		    parent_window->get_abs_cursor_y(1),
 		    500,
diff --git a/cinelerra/formatcheck.C b/cinelerra/formatcheck.C
index 5685cf5..a41d528 100644
--- a/cinelerra/formatcheck.C
+++ b/cinelerra/formatcheck.C
@@ -23,7 +23,7 @@
 #include "file.h"
 #include "errorbox.h"
 #include "formatcheck.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 
 #include <libintl.h>
 #define _(String) gettext(String)
@@ -48,7 +48,7 @@ int FormatCheck::check_format()
 // Only 1 format can store video.
 		if(!File::supports_video(asset->format))
 		{
-			ErrorBox errorbox(PROGRAM_NAME ": Error");
+			ErrorBox errorbox(MWindow::create_title(N_("Error")));
 			errorbox.create_objects(_("The format you selected doesn't support video."));
 			errorbox.run_window();
 			result = 1;
@@ -59,7 +59,7 @@ int FormatCheck::check_format()
 	{
 		if(!File::supports_audio(asset->format))
 		{
-			ErrorBox errorbox(PROGRAM_NAME ": Error");
+			ErrorBox errorbox(MWindow::create_title(N_("Error")));
 			errorbox.create_objects(_("The format you selected doesn't support audio."));
 			errorbox.run_window();
 			result = 1;
@@ -67,7 +67,7 @@ int FormatCheck::check_format()
 
 		if(!result && asset->bits == BITSIMA4 && asset->format != FILE_MOV)
 		{
-			ErrorBox errorbox(PROGRAM_NAME ": Error");
+			ErrorBox errorbox(MWindow::create_title(N_("Error")));
 			errorbox.create_objects(_("IMA4 compression is only available in Quicktime movies."));
 			errorbox.run_window();
 			result = 1;
@@ -77,7 +77,7 @@ int FormatCheck::check_format()
 			asset->format != FILE_MOV &&
 			asset->format != FILE_PCM)
 		{
-			ErrorBox errorbox(PROGRAM_NAME ": Error");
+			ErrorBox errorbox(MWindow::create_title(N_("Error")));
 			errorbox.create_objects(_("ULAW compression is only available in\n" 
 				"Quicktime Movies and PCM files."));
 			errorbox.run_window();
diff --git a/cinelerra/formatwindow.C b/cinelerra/formatwindow.C
index 110044f..e385065 100644
--- a/cinelerra/formatwindow.C
+++ b/cinelerra/formatwindow.C
@@ -26,7 +26,7 @@
 
 
 FormatAWindow::FormatAWindow(Asset *asset, int *dither)
- : BC_Window(PROGRAM_NAME ": File format", 410, 
+ : BC_Window(MWindow::create_title(N_("File format")), 410,
  	(asset->format == FILE_WAV || asset->format == FILE_MOV) ? 115 : 185, 
 	0, 0)
 { this->asset = asset; this->dither = dither; }
@@ -87,7 +87,7 @@ int FormatAWindow::close_event()
 
 
 FormatVWindow::FormatVWindow(Asset *asset, int recording)
- : BC_Window(PROGRAM_NAME ": File format", 410, 115, 0, 0)
+ : BC_Window(MWindow::create_title(N_("File format")), 410, 115, 0, 0)
 { this->asset = asset; this->recording = recording; }
 
 FormatVWindow::~FormatVWindow()
diff --git a/cinelerra/gwindowgui.C b/cinelerra/gwindowgui.C
index 25b9431..a61d04d 100644
--- a/cinelerra/gwindowgui.C
+++ b/cinelerra/gwindowgui.C
@@ -39,7 +39,7 @@
 GWindowGUI::GWindowGUI(MWindow *mwindow,
 	int w,
 	int h)
- : BC_Window(PROGRAM_NAME N_(": Overlays"),
+ : BC_Window(MWindow::create_title(N_("Overlays")),
  	mwindow->session->gwindow_x, 
     mwindow->session->gwindow_y, 
     w, 
diff --git a/cinelerra/labeledit.C b/cinelerra/labeledit.C
index f290efa..919442a 100644
--- a/cinelerra/labeledit.C
+++ b/cinelerra/labeledit.C
@@ -78,7 +78,7 @@ void LabelEdit::run()
 
 
 LabelEditWindow::LabelEditWindow(MWindow *mwindow, LabelEdit *thread)
- : BC_Window(PROGRAM_NAME ": Label Info", 
+ : BC_Window(MWindow::create_title(N_("Label Info")),
  	mwindow->gui->get_abs_cursor_x(1) - 400 / 2,
 	mwindow->gui->get_abs_cursor_y(1) - 350 / 2,
 	400, 
diff --git a/cinelerra/levelwindowgui.C b/cinelerra/levelwindowgui.C
index f012d04..25b4609 100644
--- a/cinelerra/levelwindowgui.C
+++ b/cinelerra/levelwindowgui.C
@@ -21,6 +21,7 @@
 
 #include "edl.h"
 #include "edlsession.h"
+#include "language.h"
 #include "levelwindow.h"
 #include "levelwindowgui.h"
 #include "mainmenu.h"
@@ -32,7 +33,7 @@
 #include "theme.h"
 
 LevelWindowGUI::LevelWindowGUI(MWindow *mwindow, LevelWindow *thread)
- : BC_Window(PROGRAM_NAME ": Levels", 
+ : BC_Window(MWindow::create_title(N_("Levels")),
  	mwindow->session->lwindow_x, 
 	mwindow->session->lwindow_y, 
 	mwindow->session->lwindow_w, 
diff --git a/cinelerra/loadfile.C b/cinelerra/loadfile.C
index 06bcb27..4706f51 100644
--- a/cinelerra/loadfile.C
+++ b/cinelerra/loadfile.C
@@ -199,7 +199,7 @@ LoadFileWindow::LoadFileWindow(MWindow *mwindow,
  : BC_FileBox(mwindow->gui->get_abs_cursor_x(1),
  		mwindow->gui->get_abs_cursor_y(1) - BC_WindowBase::get_resources()->filebox_h / 2,
 		init_directory, 
-		PROGRAM_NAME ": Load",
+		MWindow::create_title(N_("Load")),
 		_("Select files to load:"), 
 		0,
 		0,
@@ -342,7 +342,7 @@ LocateFileWindow::LocateFileWindow(MWindow *mwindow,
  : BC_FileBox(mwindow->gui->get_abs_cursor_x(1),
  		mwindow->gui->get_abs_cursor_y(1), 
 		init_directory, 
-		PROGRAM_NAME ": Locate file", 
+		MWindow::create_title(N_("Locate file")),
 		old_filename)
 { 
 	this->mwindow = mwindow; 
diff --git a/cinelerra/mainerror.C b/cinelerra/mainerror.C
index c1b0709..12293a9 100644
--- a/cinelerra/mainerror.C
+++ b/cinelerra/mainerror.C
@@ -40,7 +40,7 @@ MainError* MainError::main_error = 0;
 
 
 MainErrorGUI::MainErrorGUI(MWindow *mwindow, MainError *thread, int x, int y)
- : BC_Window(PROGRAM_NAME ": Errors",
+ : BC_Window(MWindow::create_title(N_("Errors")),
         x,
         y,
         mwindow->session->ewindow_w,
diff --git a/cinelerra/manualgoto.C b/cinelerra/manualgoto.C
index ce989fb..4791c12 100644
--- a/cinelerra/manualgoto.C
+++ b/cinelerra/manualgoto.C
@@ -168,7 +168,7 @@ void ManualGoto::run()
 
 
 ManualGotoWindow::ManualGotoWindow(MWindow *mwindow, ManualGoto *thread)
- : BC_Window(PROGRAM_NAME ": Goto position", 
+ : BC_Window(MWindow::create_title(N_("Goto position")),
  	mwindow->gui->get_abs_cursor_x(1) - 250 / 2,
 	mwindow->gui->get_abs_cursor_y(1) - 80 / 2,
 	250, 
diff --git a/cinelerra/menueffects.C b/cinelerra/menueffects.C
index cb0d3eb..96be468 100644
--- a/cinelerra/menueffects.C
+++ b/cinelerra/menueffects.C
@@ -132,7 +132,7 @@ void MenuEffectThread::run()
 	if(!get_recordable_tracks(default_asset))
 	{
 		sprintf(string, _("No recordable tracks specified."));
-		ErrorBox error(PROGRAM_NAME ": Error");
+		ErrorBox error(MWindow::create_title(N_("Error")));
 		error.create_objects(string);
 		error.run_window();
 		Garbage::delete_object(default_asset);
@@ -143,7 +143,7 @@ void MenuEffectThread::run()
 	if(!plugindb->total)
 	{
 		sprintf(string, _("No plugins available."));
-		ErrorBox error(PROGRAM_NAME ": Error");
+		ErrorBox error(MWindow::create_title(N_("Error")));
 		error.create_objects(string);
 		error.run_window();
 		Garbage::delete_object(default_asset);
@@ -243,7 +243,7 @@ void MenuEffectThread::run()
 	if(!result && !strlen(default_asset->path))
 	{
 		result = 1;        // no output path given
-		ErrorBox error(PROGRAM_NAME ": Error");
+		ErrorBox error(MWindow::create_title(N_("Error")));
 		error.create_objects(_("No output file specified."));
 		error.run_window();
 	}
@@ -251,7 +251,7 @@ void MenuEffectThread::run()
 	if(!result && plugin_number < 0)
 	{
 		result = 1;        // no output path given
-		ErrorBox error(PROGRAM_NAME ": Error");
+		ErrorBox error(MWindow::create_title(N_("Error")));
 		error.create_objects(_("No effect selected."));
 		error.run_window();
 	}
@@ -293,7 +293,7 @@ void MenuEffectThread::run()
 	if(!result && total_length <= 0)
 	{
 		result = 1;        // no output path given
-		ErrorBox error(PROGRAM_NAME ": Error");
+		ErrorBox error(MWindow::create_title(N_("Error")));
 		error.create_objects(_("No selected range to process."));
 		error.run_window();
 	}
@@ -308,9 +308,6 @@ void MenuEffectThread::run()
 // Open a prompt GUI
 			MenuEffectPrompt prompt(mwindow);
 			prompt.create_objects();
-			char title[BCTEXTLEN];
-			sprintf(title, PROGRAM_NAME ": %s", plugin->title);
-
 // Open the plugin GUI
 			plugin->set_mwindow(mwindow);
 			plugin->set_keyframe(&plugin_data);
@@ -455,7 +452,7 @@ void MenuEffectThread::run()
 			{
 // open failed
 				sprintf(string, _("Couldn't open %s"), asset->path);
-				ErrorBox error(PROGRAM_NAME ": Error");
+				ErrorBox error(MWindow::create_title(N_("Error")));
 				error.create_objects(string);
 				error.run_window();
 				result = 1;
@@ -569,7 +566,7 @@ MenuEffectWindow::MenuEffectWindow(MWindow *mwindow,
 	MenuEffectThread *menueffects, 
 	ArrayList<BC_ListBoxItem*> *plugin_list, 
 	Asset *asset)
- : BC_Window(PROGRAM_NAME ": Render effect", 
+ : BC_Window(MWindow::create_title(N_("Render effect")),
  		mwindow->gui->get_abs_cursor_x(1),
 		mwindow->gui->get_abs_cursor_y(1) - mwindow->session->menueffect_h / 2,
 		mwindow->session->menueffect_w, 
@@ -751,7 +748,7 @@ int MenuEffectWindowList::handle_event()
 #define PROMPT_TEXT _("Set up effect panel and hit \"OK\"")
 
 MenuEffectPrompt::MenuEffectPrompt(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Effect Prompt", 
+ : BC_Window(MWindow::create_title(N_("Effect Prompt")),
  		mwindow->gui->get_abs_cursor_x(1) - 260 / 2,
 		mwindow->gui->get_abs_cursor_y(1) - 300,
  		MenuEffectPrompt::calculate_w(mwindow->gui), 
diff --git a/cinelerra/mwindow.C b/cinelerra/mwindow.C
index 1f23ba7..96df6d6 100644
--- a/cinelerra/mwindow.C
+++ b/cinelerra/mwindow.C
@@ -291,6 +291,13 @@ char *MWindow::get_preset_name(int index)
 	return (char*)format_presets[index].name;
 }
 
+char *MWindow::create_title(const char *name)
+{
+	static char title_string[BCTEXTLEN];
+
+	sprintf(title_string, "%s - " PROGRAM_NAME, _(name));
+	return title_string;
+}
 
 void MWindow::init_defaults(BC_Hash* &defaults, char *config_path)
 {
@@ -2307,7 +2314,7 @@ int MWindow::set_filename(const char *filename)
 			FileSystem dir;
 			char string[BCTEXTLEN], string2[BCTEXTLEN];
 			dir.extract_name(string, filename);
-			sprintf(string2, PROGRAM_NAME ": %s", string);
+			sprintf(string2,"%s - " PROGRAM_NAME, string);
 			gui->set_title(string2);
 		}
 	}
diff --git a/cinelerra/mwindow.h b/cinelerra/mwindow.h
index 66c49f5..b5baa68 100644
--- a/cinelerra/mwindow.h
+++ b/cinelerra/mwindow.h
@@ -288,6 +288,8 @@ public:
 	static int create_aspect_ratio(float &w, float &h, int width, int height);
 // Calculate defaults path
 	static void create_defaults_path(char *string);
+// Compose standard window title
+	static char *create_title(const char *name);
 
 	void delete_folder(char *folder);
 	void delete_inpoint();
diff --git a/cinelerra/mwindowgui.C b/cinelerra/mwindowgui.C
index 32fd574..ddb84f4 100644
--- a/cinelerra/mwindowgui.C
+++ b/cinelerra/mwindowgui.C
@@ -57,7 +57,7 @@
 
 // the main window uses its own private colormap for video
 MWindowGUI::MWindowGUI(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Program", 
+ : BC_Window(MWindow::create_title(N_("Program")),
  		mwindow->session->mwindow_x, 
 		mwindow->session->mwindow_y, 
 		mwindow->session->mwindow_w, 
@@ -277,7 +277,7 @@ void MWindowGUI::update_title(char *path)
 	FileSystem fs;
 	char filename[BCTEXTLEN], string[BCTEXTLEN];
 	fs.extract_name(filename, path);
-	sprintf(string, PROGRAM_NAME ": %s", filename);
+	sprintf(string, "%s - " PROGRAM_NAME, filename);
 	set_title(string);
 //printf("MWindowGUI::update_title %s\n", string);
 	flush();
diff --git a/cinelerra/new.C b/cinelerra/new.C
index 1062d95..62854d4 100644
--- a/cinelerra/new.C
+++ b/cinelerra/new.C
@@ -218,7 +218,7 @@ N_("Cinelerra: New Project");
 #endif
 
 NewWindow::NewWindow(MWindow *mwindow, NewThread *new_thread, int x, int y)
- : BC_Window(_(PROGRAM_NAME ": New Project"), 
+ : BC_Window(MWindow::create_title(N_("New Project")),
  		x,
 		y,
 		WIDTH, 
diff --git a/cinelerra/newfolder.C b/cinelerra/newfolder.C
index 6b79778..0258a4b 100644
--- a/cinelerra/newfolder.C
+++ b/cinelerra/newfolder.C
@@ -34,7 +34,7 @@
 
 
 NewFolder::NewFolder(MWindow *mwindow, AWindowGUI *awindow, int x, int y)
- : BC_Window(PROGRAM_NAME ": New folder", 
+ : BC_Window(MWindow::create_title(N_("New folder")),
  	x, 
 	y, 
 	320, 
diff --git a/cinelerra/packagerenderer.C b/cinelerra/packagerenderer.C
index 3737ace..0c3e2d1 100644
--- a/cinelerra/packagerenderer.C
+++ b/cinelerra/packagerenderer.C
@@ -173,7 +173,7 @@ void PackageRenderer::create_output()
 // open failed
 		char string[BCTEXTLEN];
 		sprintf(string, _("Couldn't open %s"), asset->path);
-		ErrorBox error(PROGRAM_NAME ": Error",
+		ErrorBox error(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1),
 			mwindow->gui->get_abs_cursor_y(1));
 		error.create_objects(string);
diff --git a/cinelerra/pluginpopup.C b/cinelerra/pluginpopup.C
index bedfc88..f60670d 100644
--- a/cinelerra/pluginpopup.C
+++ b/cinelerra/pluginpopup.C
@@ -94,7 +94,7 @@ int PluginPopupChange::handle_event()
 {
 	dialog_thread->start_window(popup->plugin->track,
 		popup->plugin,
-		PROGRAM_NAME ": Change Effect");
+		MWindow::create_title(N_("Change Effect")));
 	return 1;
 }
 
diff --git a/cinelerra/preferencesthread.C b/cinelerra/preferencesthread.C
index af1f826..6f3e717 100644
--- a/cinelerra/preferencesthread.C
+++ b/cinelerra/preferencesthread.C
@@ -328,7 +328,7 @@ PreferencesWindow::PreferencesWindow(MWindow *mwindow,
 	PreferencesThread *thread,
 	int x,
 	int y)
- : BC_Window(PROGRAM_NAME ": Preferences", 
+ : BC_Window(MWindow::create_title(N_("Preferences")),
  	x,
 	y,
  	WIDTH, 
diff --git a/cinelerra/question.C b/cinelerra/question.C
index 35e4677..ae1e21f 100644
--- a/cinelerra/question.C
+++ b/cinelerra/question.C
@@ -30,7 +30,7 @@
 #define HEIGHT 160
 
 QuestionWindow::QuestionWindow(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Question", 
+ : BC_Window(MWindow::create_title(N_("Question")),
  	mwindow->gui->get_abs_cursor_x(1) - WIDTH / 2, 
 	mwindow->gui->get_abs_cursor_y(1) - HEIGHT / 2, 
 	WIDTH, 
diff --git a/cinelerra/quit.C b/cinelerra/quit.C
index cb702aa..7525531 100644
--- a/cinelerra/quit.C
+++ b/cinelerra/quit.C
@@ -78,7 +78,7 @@ void Quit::run()
 // Test execution conditions
 	if(mwindow->gui->mainmenu->record->current_state == RECORD_CAPTURING)
 	{
-		ErrorBox error(PROGRAM_NAME ": Error", 
+		ErrorBox error(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1), 
 			mwindow->gui->get_abs_cursor_y(1));
 		error.create_objects(_("Can't quit while a recording is in progress."));
@@ -88,7 +88,7 @@ void Quit::run()
 	else
 	if(mwindow->render->running())
 	{
-		ErrorBox error(PROGRAM_NAME ": Error", 
+		ErrorBox error(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1), 
 			mwindow->gui->get_abs_cursor_y(1));
 		error.create_objects(_("Can't quit while a render is in progress."));
diff --git a/cinelerra/recconfirmdelete.C b/cinelerra/recconfirmdelete.C
index fb5db8e..645bce1 100644
--- a/cinelerra/recconfirmdelete.C
+++ b/cinelerra/recconfirmdelete.C
@@ -31,7 +31,7 @@
 
 
 RecConfirmDelete::RecConfirmDelete(MWindow *mwindow)
- : BC_Window(PROGRAM_NAME ": Confirm", 
+ : BC_Window(MWindow::create_title(N_("Confirm")),
  	mwindow->gui->get_abs_cursor_x(1),
 	mwindow->gui->get_abs_cursor_y(1),
  	320, 100)
diff --git a/cinelerra/recordaudio.C b/cinelerra/recordaudio.C
index 5b08e71..fe850b6 100644
--- a/cinelerra/recordaudio.C
+++ b/cinelerra/recordaudio.C
@@ -263,7 +263,7 @@ void RecordAudio::run()
 TRACE("RecordAudio::run 4");
 	if(write_result && !record->default_asset->video_data)
 	{
-		ErrorBox error_box(PROGRAM_NAME ": Error",
+		ErrorBox error_box(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1),
 			mwindow->gui->get_abs_cursor_y(1));
 		error_box.create_objects(_("No space left on disk."));
diff --git a/cinelerra/recordgui.C b/cinelerra/recordgui.C
index e99fb10..f913395 100644
--- a/cinelerra/recordgui.C
+++ b/cinelerra/recordgui.C
@@ -57,7 +57,7 @@
 
 
 RecordGUI::RecordGUI(MWindow *mwindow, Record *record)
- : BC_Window(PROGRAM_NAME ": Recording", 
+ : BC_Window(MWindow::create_title(N_("Recording")),
  	mwindow->session->rwindow_x, 
 	mwindow->session->rwindow_y, 
 	mwindow->session->rwindow_w, 
@@ -196,7 +196,7 @@ int RecordGUI::create_objects()
 		batch_path->get_x() + batch_path->get_w(), 
 		y,
 		record->default_asset->path,
-		PROGRAM_NAME ": Record path",
+		MWindow::create_title(N_("Record path")),
 		_("Select a file to record to:"),
 		0));
 	x2 = MAX(x2, batch_path->get_w() + batch_browse->get_w());
diff --git a/cinelerra/recordmonitor.C b/cinelerra/recordmonitor.C
index 44bed22..46cc464 100644
--- a/cinelerra/recordmonitor.C
+++ b/cinelerra/recordmonitor.C
@@ -203,7 +203,7 @@ RecordMonitorGUI::RecordMonitorGUI(MWindow *mwindow,
 	Record *record, 
 	RecordMonitor *thread,
 	int min_w)
- : BC_Window(PROGRAM_NAME ": Video in", 
+ : BC_Window(MWindow::create_title(N_("Video in")),
  			mwindow->session->rmonitor_x,
 			mwindow->session->rmonitor_y,
  			mwindow->session->rmonitor_w, 
@@ -594,7 +594,7 @@ return 0;
 
 	scale = (int)(thread->get_scale(thread->record->video_window_w) * 100 + 0.5);
 
-	sprintf(string, PROGRAM_NAME ": Video in %d%%", scale);
+	sprintf(string, MWindow::create_title(N_("Video in %d%%")), scale);
 	BC_Window::set_title(string);
 	return 0;
 }
diff --git a/cinelerra/recordvideo.C b/cinelerra/recordvideo.C
index da85a02..3d5b83a 100644
--- a/cinelerra/recordvideo.C
+++ b/cinelerra/recordvideo.C
@@ -365,7 +365,7 @@ void RecordVideo::run()
 	{
 		if(!record_thread->monitor)
 		{
-			ErrorBox error_box(PROGRAM_NAME ": Error",
+			ErrorBox error_box(MWindow::create_title(N_("Error")),
 				mwindow->gui->get_abs_cursor_x(1),
 				mwindow->gui->get_abs_cursor_y(1));
 			error_box.create_objects(_("No space left on disk."));
diff --git a/cinelerra/recordwindow.C b/cinelerra/recordwindow.C
index f249bb4..b02f6e8 100644
--- a/cinelerra/recordwindow.C
+++ b/cinelerra/recordwindow.C
@@ -28,7 +28,7 @@
 #include "videodevice.inc"
 
 RecordWindow::RecordWindow(MWindow *mwindow, Record *record, int x, int y)
- : BC_Window(PROGRAM_NAME ": Record", 
+ : BC_Window(MWindow::create_title(N_("Record")),
 	x,
 	y,
  	RECORD_WINDOW_WIDTH, 
diff --git a/cinelerra/reindex.C b/cinelerra/reindex.C
index b6be21a..d2546bc 100644
--- a/cinelerra/reindex.C
+++ b/cinelerra/reindex.C
@@ -68,7 +68,7 @@ void ReIndex::run()
 }
 
 ReIndexWindow::ReIndexWindow(char *display = "")
- : BC_Window(display, MEGREY, PROGRAM_NAME ": Redraw Indexes", 340, 140, 340, 140)
+ : BC_Window(display, MEGREY, MWindow::create_title(N_("Redraw Indexes")), 340, 140, 340, 140)
 {
 }
 
diff --git a/cinelerra/render.C b/cinelerra/render.C
index e372c0b..393bca9 100644
--- a/cinelerra/render.C
+++ b/cinelerra/render.C
@@ -253,7 +253,7 @@ void Render::start_interactive()
 			render_window->raise_window();
 		}
 		else {
-			ErrorBox error_box(PROGRAM_NAME ": Error",
+			ErrorBox error_box(MWindow::create_title(N_("Error")),
 					   mwindow->gui->get_abs_cursor_x(1),
 					   mwindow->gui->get_abs_cursor_y(1));
 			error_box.create_objects("Already rendering");
@@ -275,7 +275,7 @@ void Render::start_batches(ArrayList<BatchRenderJob*> *jobs)
 	}
 	else
 	{
-		ErrorBox error_box(PROGRAM_NAME ": Error",
+		ErrorBox error_box(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1),
 			mwindow->gui->get_abs_cursor_y(1));
 		error_box.create_objects("Already rendering");
@@ -805,7 +805,7 @@ printf("Render::render 90\n");
 		{
 			if(mwindow)
 			{
-				ErrorBox error_box(PROGRAM_NAME ": Error",
+				ErrorBox error_box(MWindow::create_title(N_("Error")),
 					mwindow->gui->get_abs_cursor_x(1),
 					mwindow->gui->get_abs_cursor_y(1));
 				error_box.create_objects(_("Error rendering data."));
@@ -1051,7 +1051,7 @@ int Render::save_defaults(Asset *asset)
 
 
 RenderWindow::RenderWindow(MWindow *mwindow, Render *render, Asset *asset)
- : BC_Window(PROGRAM_NAME ": Render", 
+ : BC_Window(MWindow::create_title(N_("Render")),
  	mwindow->gui->get_root_w(0, 1) / 2 - WIDTH / 2,
 	mwindow->gui->get_root_h(1) / 2 - HEIGHT / 2,
  	WIDTH, 
diff --git a/cinelerra/renderprofiles.C b/cinelerra/renderprofiles.C
index 65c0dad..696213f 100644
--- a/cinelerra/renderprofiles.C
+++ b/cinelerra/renderprofiles.C
@@ -261,7 +261,7 @@ int SaveRenderProfileButton::handle_event()
 		slot = profile->get_new_profile_slot();
 		if (slot < 0)
 		{
-			ErrorBox error_box(PROGRAM_NAME ": Error",
+			ErrorBox error_box(MWindow::create_title(N_("Error")),
 					   profile->mwindow->gui->get_abs_cursor_x(1),
 					   profile->mwindow->gui->get_abs_cursor_y(1));
 			error_box.create_objects("Maximum number of render profiles reached");
diff --git a/cinelerra/resizetrackthread.C b/cinelerra/resizetrackthread.C
index cf3fd71..fc22236 100644
--- a/cinelerra/resizetrackthread.C
+++ b/cinelerra/resizetrackthread.C
@@ -103,7 +103,7 @@ ResizeTrackWindow::ResizeTrackWindow(MWindow *mwindow,
 	ResizeTrackThread *thread,
 	int x,
 	int y)
- : BC_Window(PROGRAM_NAME ": Resize Track", 
+ : BC_Window(MWindow::create_title(N_("Resize Track")),
 				x - 320 / 2,
 				y - get_resources()->ok_images[0]->get_h() + 100 / 2,
 				340, 
diff --git a/cinelerra/savefile.C b/cinelerra/savefile.C
index 1f0309c..1ce05ff 100644
--- a/cinelerra/savefile.C
+++ b/cinelerra/savefile.C
@@ -93,7 +93,7 @@ int Save::handle_event()
 		{
 			char string2[256];
 			sprintf(string2, _("Couldn't open %s"), mwindow->session->filename);
-			ErrorBox error(PROGRAM_NAME ": Error",
+			ErrorBox error(MWindow::create_title(N_("Error")),
 				mwindow->gui->get_abs_cursor_x(1),
 				mwindow->gui->get_abs_cursor_y(1));
 			error.create_objects(string2);
@@ -195,7 +195,7 @@ void SaveAs::run()
 		char string2[256];
 		mwindow->set_filename("");      // update the project name
 		sprintf(string2, _("Couldn't open %s."), filename);
-		ErrorBox error(PROGRAM_NAME ": Error",
+		ErrorBox error(MWindow::create_title(N_("Error")),
 			mwindow->gui->get_abs_cursor_x(1),
 			mwindow->gui->get_abs_cursor_y(1));
 		error.create_objects(string2);
@@ -232,7 +232,7 @@ SaveFileWindow::SaveFileWindow(MWindow *mwindow, char *init_directory)
  : BC_FileBox(mwindow->gui->get_abs_cursor_x(1),
  	mwindow->gui->get_abs_cursor_y(1) - BC_WindowBase::get_resources()->filebox_h / 2,
  	init_directory, 
-	PROGRAM_NAME ": Save", 
+	MWindow::create_title(N_("Save")),
 	_("Enter a filename to save as"))
 { 
 	this->mwindow = mwindow; 
diff --git a/cinelerra/scale.C b/cinelerra/scale.C
index ee48b6b..30c9552 100644
--- a/cinelerra/scale.C
+++ b/cinelerra/scale.C
@@ -194,7 +194,7 @@ int ScaleThread::update_aspect(ScaleWindow *window)
 
 
 ScaleWindow::ScaleWindow(ScaleThread *thread)
- : BC_Window(PROGRAM_NAME ": Scale", 370, 260, 0, 0)
+ : BC_Window(MWindow::create_title(N_("Scale")), 370, 260, 0, 0)
 { this->thread = thread; }
 
 ScaleWindow::~ScaleWindow()
diff --git a/cinelerra/setformat.C b/cinelerra/setformat.C
index 16eb9a1..071e17c 100644
--- a/cinelerra/setformat.C
+++ b/cinelerra/setformat.C
@@ -316,7 +316,7 @@ SetFormatWindow::SetFormatWindow(MWindow *mwindow,
 	SetFormatThread *thread,
 	int x,
 	int y)
- : BC_Window(PROGRAM_NAME ": Set Format",
+ : BC_Window(MWindow::create_title(N_("Set Format")),
  	x,
 	y,
 	mwindow->theme->setformat_w,
diff --git a/cinelerra/splashgui.C b/cinelerra/splashgui.C
index 5ceb85f..9190bed 100644
--- a/cinelerra/splashgui.C
+++ b/cinelerra/splashgui.C
@@ -21,7 +21,7 @@
 
 #include "bcdisplayinfo.h"
 #include "language.h"
-#include "mwindow.inc"
+#include "mwindow.h"
 #include "splashgui.h"
 #include "vframe.h"
 
@@ -30,7 +30,7 @@
 
 
 SplashGUI::SplashGUI(VFrame *bg, int x, int y)
- : BC_Window(PROGRAM_NAME ": Loading",
+ : BC_Window(MWindow::create_title(N_("Loading")),
 		x,
 		y,
 		bg->get_w(),
diff --git a/cinelerra/tipwindow.C b/cinelerra/tipwindow.C
index 34549b3..6f346a5 100644
--- a/cinelerra/tipwindow.C
+++ b/cinelerra/tipwindow.C
@@ -131,7 +131,7 @@ TipWindowGUI::TipWindowGUI(MWindow *mwindow,
 	TipWindow *thread,
 	int x,
 	int y)
- : BC_Window(PROGRAM_NAME ": Tip of the day",
+ : BC_Window(MWindow::create_title(N_("Tip of the day")),
  	x,
 	y,
  	640,
diff --git a/cinelerra/transitionpopup.C b/cinelerra/transitionpopup.C
index 0f53503..e3850dd 100644
--- a/cinelerra/transitionpopup.C
+++ b/cinelerra/transitionpopup.C
@@ -57,7 +57,7 @@ void TransitionLengthThread::run()
 
 
 TransitionLengthDialog::TransitionLengthDialog(MWindow *mwindow, Transition *transition)
- : BC_Window(PROGRAM_NAME ": Transition length", 
+ : BC_Window(MWindow::create_title(N_("Transition length")),
 				mwindow->gui->get_abs_cursor_x(1) - 150,
 				mwindow->gui->get_abs_cursor_y(1) - 50,
 				300, 
diff --git a/cinelerra/vwindowgui.C b/cinelerra/vwindowgui.C
index 64cc601..015752d 100644
--- a/cinelerra/vwindowgui.C
+++ b/cinelerra/vwindowgui.C
@@ -57,7 +57,7 @@
 
 
 VWindowGUI::VWindowGUI(MWindow *mwindow, VWindow *vwindow)
- : BC_Window(PROGRAM_NAME ": Viewer",
+ : BC_Window(MWindow::create_title(N_("Viewer")),
  	mwindow->session->vwindow_x,
 	mwindow->session->vwindow_y,
 	mwindow->session->vwindow_w,
@@ -84,7 +84,7 @@ void VWindowGUI::change_source(EDL *edl, char *title)
 	update_sources(title);
 	char string[BCTEXTLEN];
 	if(title[0]) 
-		sprintf(string, PROGRAM_NAME ": %s", title);
+		sprintf(string, MWindow::create_title("%s"), title);
 	else
 		sprintf(string, PROGRAM_NAME);
 	strcpy(loaded_title, title);


hooks/post-receive
-- 
CinelerraCV.git (CinelerraCV)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CinelerraCV.git" (CinelerraCV).



More information about the cinelerra-commits mailing list