fix for F_sine segv, bunch of intl fixes
[goodguy/history.git] / cinelerra-5.1 / cinelerra / performanceprefs.C
index 84672769fc7251ea6bba1c4323772e17999eccbe..e3c7e2ca7b424082c9230187f01bb2e33ff23eb3 100644 (file)
@@ -55,13 +55,13 @@ void PerformancePrefs::create_objects()
 {
        int x, y;
        int xmargin1;
-       int xmargin2 = 170;
-       int xmargin3 = 250;
-       int xmargin4 = 380;
+       int xmargin2 = 180;
+       int xmargin3 = 260;
+       int xmargin4 = 420;
        char string[BCTEXTLEN];
        BC_Resources *resources = BC_WindowBase::get_resources();
        BC_WindowBase *win;
-       int maxw, curw, y1;
+       int maxw, curw;
 
        node_list = 0;
        generate_node_list();
@@ -77,60 +77,34 @@ void PerformancePrefs::create_objects()
 //
 //     y += get_text_height(LARGEFONT) + 5;
 
-       int ybx[2];
-       ybx[0] = y;
+       int y0 = y;
 
        win = add_subwindow(new BC_Title(x, y + 5, _("Cache size (MB):"), MEDIUMFONT, resources->text_default));
        maxw = win->get_w();
 
-       ybx[1] = y += 30;
+       int y1 = y += 30;
        win = add_subwindow(new BC_Title(x, y + 5, _("Seconds to preroll renders:")));
        if((curw = win->get_w()) > maxw)
                maxw = curw;
        maxw += x + 5;
 
-       cache_size = new CICacheSize(maxw,
-               ybx[0],
-               pwindow,
-               this);
+       cache_size = new CICacheSize(maxw, y0, pwindow, this);
        cache_size->create_objects();
+
        add_subwindow(new BC_Title(x, y + 5, _("Seconds to preroll renders:")));
-       PrefsRenderPreroll *preroll = new PrefsRenderPreroll(pwindow,
-               this,
-               maxw,
-               ybx[1]);
+       PrefsRenderPreroll *preroll = new PrefsRenderPreroll(pwindow, this, maxw, y1);
        preroll->create_objects();
-       int x1 = preroll->get_x() + preroll->get_w() + 20;
+       y += 30;
+
+       int x1 = x + xmargin4;
        BC_Title *smp_title = new BC_Title(x1, y + 5, _("Project SMP cpus:"));
        add_subwindow(smp_title);
        int x2 = x1 + smp_title->get_w() + 5;
        PrefsProjectSMP *proj_smp = new PrefsProjectSMP(pwindow, this, x2, y);
        proj_smp->create_objects();
-       
-       y += 30;
+
        PrefsForceUniprocessor *force_1cpu = new PrefsForceUniprocessor(pwindow, x, y);
        add_subwindow(force_1cpu);
-
-       x1 = force_1cpu->get_x() + force_1cpu->get_w() + 120;
-
-       PrefsTrapSigSEGV *trap_segv = new PrefsTrapSigSEGV(this, x1, y);
-       add_subwindow(trap_segv);
-       x2 = x1 + trap_segv->get_w() + 10;
-       add_subwindow(new BC_Title(x2, y, _("(must be root)"), MEDIUMFONT, RED));
-       y += 30;
-
-       PrefsTrapSigINTR *trap_intr = new PrefsTrapSigINTR(this, x1, y);
-       add_subwindow(trap_intr);
-       add_subwindow(new BC_Title(x2, y, _("(must be root)"), MEDIUMFONT, RED));
-       ffmpeg_marker_indexes = new PrefsFFMPEGMarkerIndecies(this, x, y);
-       add_subwindow(ffmpeg_marker_indexes);
-       y += 30;
-
-       ffmpeg_early_probe = new PrefsFFMPEGEarlyProbe(this, x, y);
-       add_subwindow(ffmpeg_early_probe);
-
-       yuv420p_dvdlace = new PrefsYUV420P_DVDlace(pwindow, this, x1, y);
-       add_subwindow(yuv420p_dvdlace);
        y += 30;
 
 // Background rendering
@@ -141,9 +115,7 @@ void PerformancePrefs::create_objects()
        add_subwindow(new BC_Title(x, y, _("Background Rendering (Video only)"), LARGEFONT, resources->text_default));
        y1 = y += 30;
 
-       win = add_subwindow(new PrefsUseBRender(pwindow,
-               x,
-               y));
+       win = add_subwindow(new PrefsUseBRender(pwindow, x, y));
 
        y += win->get_h() + 10;
        win = add_subwindow(new BC_Title(x, y, _("Frames per background rendering job:")));
@@ -302,7 +274,7 @@ void PerformancePrefs::generate_node_list()
        }
 }
 
-static const char *titles[] =
+static const char *default_titles[] =
 {
        N_("On"),
        N_("Hostname"),
@@ -310,7 +282,7 @@ static const char *titles[] =
        N_("Framerate")
 };
 
-static int widths[] =
+static int default_widths[] =
 {
        30,
        150,
@@ -321,13 +293,13 @@ static int widths[] =
 
 void PerformancePrefs::update_node_list()
 {
-       node_list->update(nodes,
-                                               titles,
-                                               widths,
-                                               TOTAL_COLUMNS,
-                                               node_list->get_xposition(),
-                                               node_list->get_yposition(),
-                                               node_list->get_selection_number(0, 0));
+       node_list->update_list();
+}
+
+void PrefsRenderFarmNodes::update_list()
+{
+       update(subwindow->nodes, titles, widths, PerformancePrefs::TOTAL_COLUMNS,
+               get_xposition(), get_yposition(), get_selection_number(0, 0));
 }
 
 
@@ -526,77 +498,6 @@ int PrefsForceUniprocessor::handle_event()
        return 1;
 }
 
-PrefsTrapSigSEGV::PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->trap_sigsegv,
-       _("trap sigSEGV"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsTrapSigSEGV::~PrefsTrapSigSEGV()
-{
-}
-int PrefsTrapSigSEGV::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->trap_sigsegv = get_value();
-       return 1;
-}
-
-PrefsTrapSigINTR::PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->trap_sigintr,
-       _("trap sigINT"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsTrapSigINTR::~PrefsTrapSigINTR()
-{
-}
-int PrefsTrapSigINTR::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->trap_sigintr = get_value();
-       return 1;
-}
-
-
-PrefsFFMPEGEarlyProbe::PrefsFFMPEGEarlyProbe(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->ffmpeg_early_probe,
-       _("On file open, ffmpeg probes early"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsFFMPEGEarlyProbe::~PrefsFFMPEGEarlyProbe()
-{
-}
-
-int PrefsFFMPEGEarlyProbe::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->ffmpeg_early_probe = get_value();
-       return 1;
-}
-
-
-PrefsFFMPEGMarkerIndecies::PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->ffmpeg_marker_indexes,
-       _("build ffmpeg marker indexes"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsFFMPEGMarkerIndecies::~PrefsFFMPEGMarkerIndecies()
-{
-}
-
-int PrefsFFMPEGMarkerIndecies::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->ffmpeg_marker_indexes = get_value();
-       return 1;
-}
-
-
-
-
 
 
 PrefsRenderFarmConsolidate::PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y)
@@ -617,9 +518,6 @@ int PrefsRenderFarmConsolidate::handle_event()
 }
 
 
-
-
-
 PrefsRenderFarmPort::PrefsRenderFarmPort(PreferencesWindow *pwindow,
        PerformancePrefs *subwindow,
        int x,
@@ -648,19 +546,18 @@ int PrefsRenderFarmPort::handle_event()
 
 
 PrefsRenderFarmNodes::PrefsRenderFarmNodes(PreferencesWindow *pwindow,
-       PerformancePrefs *subwindow,
-       int x,
-       int y)
- : BC_ListBox(x,
-               y,
-               340,
-               230,
+       PerformancePrefs *subwindow, int x, int y)
+ : BC_ListBox(x, y, 340, 230,
                LISTBOX_TEXT,                         // Display text list or icons
                subwindow->nodes,
-               titles,
-               widths,
-               4)
+               0, //default_titles,
+               0, //default_widths,
+               PerformancePrefs::TOTAL_COLUMNS)
 {
+       for( int i=0; i<PerformancePrefs::TOTAL_COLUMNS; ++i ) {
+               titles[i] = _(default_titles[i]);
+               widths[i] = default_widths[i];
+       }
        this->subwindow = subwindow;
        this->pwindow = pwindow;
 }
@@ -670,7 +567,7 @@ PrefsRenderFarmNodes::~PrefsRenderFarmNodes()
 
 int PrefsRenderFarmNodes::column_resize_event()
 {
-       for(int i = 0; i < 3; i++)
+       for( int i=0; i<PerformancePrefs::TOTAL_COLUMNS; ++i )
                widths[i] = get_column_width(i);
        return 1;
 }
@@ -954,19 +851,3 @@ int PrefsRenderFarmVFS::handle_event()
        return 1;
 }
 
-
-PrefsYUV420P_DVDlace::PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
-       PerformancePrefs *subwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->dvd_yuv420p_interlace,
-       _("Use yuv420p dvd interlace format"))
-{
-       this->pwindow = pwindow;
-       this->subwindow = subwindow;
-}
-
-int PrefsYUV420P_DVDlace::handle_event()
-{
-       pwindow->thread->preferences->dvd_yuv420p_interlace = get_value();
-       return 1;
-}
-