X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fperformanceprefs.C;h=8edc41d51bc264b1e31f2e23d6582cecef64511e;hb=4b6c39e6cf4a3fd9c1b347db6de686ab55d6cac8;hp=1404ea8cb6296fef2bb5535e4b6c4f845ccaf50f;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/performanceprefs.C b/cinelerra-5.1/cinelerra/performanceprefs.C index 1404ea8c..8edc41d5 100644 --- a/cinelerra-5.1/cinelerra/performanceprefs.C +++ b/cinelerra-5.1/cinelerra/performanceprefs.C @@ -28,6 +28,7 @@ #include "mwindow.h" #include "performanceprefs.h" #include "preferences.h" +#include "probeprefs.h" #include #include "theme.h" @@ -40,11 +41,13 @@ PerformancePrefs::PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow) : PreferencesDialog(mwindow, pwindow) { hot_node = -1; + file_probe_dialog = 0; } PerformancePrefs::~PerformancePrefs() { delete brender_tools; + delete file_probe_dialog; nodes[0].remove_all_objects(); nodes[1].remove_all_objects(); nodes[2].remove_all_objects(); @@ -61,7 +64,7 @@ void PerformancePrefs::create_objects() 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,55 +80,52 @@ 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(); + int x1 = cache_size->get_x() + cache_size->get_w() + 30; + add_subwindow(file_probes = new PrefsFileProbes(pwindow, this, x1, y0)); + 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(); + 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); - int x1 = force_1cpu->get_x() + force_1cpu->get_w() + 50; + x1 = force_1cpu->get_x() + force_1cpu->get_w() + 120; PrefsTrapSigSEGV *trap_segv = new PrefsTrapSigSEGV(this, x1, y); add_subwindow(trap_segv); - int x2 = x1 + trap_segv->get_w() + 10; + 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 add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; @@ -346,6 +346,29 @@ void PerformancePrefs::update_rates() update_node_list(); } +void PerformancePrefs::start_probe_dialog() +{ + if( !file_probe_dialog ) + file_probe_dialog = new FileProbeDialog(pwindow); + file_probe_dialog->start(); +} + +PrefsFileProbes::PrefsFileProbes(PreferencesWindow *pwindow, + PerformancePrefs *perf_prefs, int x, int y) + : BC_GenericButton(x, y, _("Probe Order")) +{ + this->pwindow = pwindow; + this->perf_prefs = perf_prefs; + set_tooltip(_("File Open Probe Ordering")); +} + +int PrefsFileProbes::handle_event() +{ + perf_prefs->start_probe_dialog(); + return 1; +} + + PrefsUseBRender::PrefsUseBRender(PreferencesWindow *pwindow, int x, @@ -552,44 +575,6 @@ int PrefsTrapSigINTR::handle_event() } -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) @@ -610,9 +595,6 @@ int PrefsRenderFarmConsolidate::handle_event() } - - - PrefsRenderFarmPort::PrefsRenderFarmPort(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, @@ -861,6 +843,25 @@ int PrefsRenderFarmReset::handle_event() +PrefsProjectSMP::PrefsProjectSMP(PreferencesWindow *pwindow, + PerformancePrefs *subwindow, int x, int y) + : BC_TumbleTextBox(subwindow, + (int64_t)pwindow->thread->preferences->project_smp, + (int64_t)1, (int64_t)100, x, y, 100) +{ + this->pwindow = pwindow; +} +PrefsProjectSMP::~PrefsProjectSMP() +{ +} +int PrefsProjectSMP::handle_event() +{ + pwindow->thread->preferences->project_smp = atol(get_text()); + return 1; +} + + + PrefsRenderFarmJobs::PrefsRenderFarmJobs(PreferencesWindow *pwindow, @@ -914,10 +915,9 @@ int PrefsRenderFarmMountpoint::handle_event() PrefsRenderFarmVFS::PrefsRenderFarmVFS(PreferencesWindow *pwindow, - PerformancePrefs *subwindow, - int x, - int y) - : BC_CheckBox(x, y, pwindow->thread->preferences->renderfarm_vfs, _("Use virtual filesystem")) + PerformancePrefs *subwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->thread->preferences->renderfarm_vfs, + _("Use virtual filesystem")) { this->pwindow = pwindow; this->subwindow = subwindow; @@ -929,3 +929,19 @@ 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; +} +