X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fperformanceprefs.C;h=5c35553f1d9f5c93e7aaadf690ee822cde8920da;hb=c279e21fc2394a7908bbd1ba8c79b116fe9fb14a;hp=e3c7e2ca7b424082c9230187f01bb2e33ff23eb3;hpb=2451d3174f3b64d3ce4e311b125813cf2881eca4;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/performanceprefs.C b/cinelerra-5.1/cinelerra/performanceprefs.C index e3c7e2ca..5c35553f 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 #include #include "theme.h" @@ -69,16 +70,7 @@ void PerformancePrefs::create_objects() xmargin1 = x = mwindow->theme->preferencesoptions_x; y = mwindow->theme->preferencesoptions_y; -// add_subwindow(new BC_Title(x, -// y, -// _("Time Format"), -// LARGEFONT, -// resources->text_default)); -// -// y += get_text_height(LARGEFONT) + 5; - int y0 = y; - win = add_subwindow(new BC_Title(x, y + 5, _("Cache size (MB):"), MEDIUMFONT, resources->text_default)); maxw = win->get_w(); @@ -120,31 +112,23 @@ void PerformancePrefs::create_objects() y += win->get_h() + 10; win = add_subwindow(new BC_Title(x, y, _("Frames per background rendering job:"))); y += win->get_h() + 5; - PrefsBRenderFragment *brender_fragment = new PrefsBRenderFragment(pwindow, - this, - x + xmargin3, - y); + PrefsBRenderFragment *brender_fragment = new PrefsBRenderFragment(pwindow, this, + x + xmargin3, y); brender_fragment->create_objects(); y += brender_fragment->get_h() + 5; win = add_subwindow(new BC_Title(x, y, _("Frames to preroll background:"))); y += win->get_h() + 5; - PrefsBRenderPreroll *bpreroll = new PrefsBRenderPreroll(pwindow, - this, - x + xmargin3, - y + 5); + PrefsBRenderPreroll *bpreroll = new PrefsBRenderPreroll(pwindow, this, + x + xmargin3, y + 5); bpreroll->create_objects(); y += bpreroll->get_h() + 20; - x += xmargin4; add_subwindow(new BC_Title(x, y1, _("Output for background rendering:"))); y1 += 20; - brender_tools = - new FormatTools(mwindow, - this, + brender_tools = new FormatTools(mwindow, this, pwindow->thread->preferences->brender_asset); - brender_tools->create_objects(x, - y1, + brender_tools->create_objects(x, y1, 0, // Include tools for audio 1, // Include tools for video 0, // Include checkbox for audio @@ -153,7 +137,7 @@ void PerformancePrefs::create_objects() 1, 0, // Select compressors to be offered 0, // Prompt for recording options - 0, // If nonzero, prompt for insertion strategy + 0, // prompt for use labels 1); // Supply file formats for background rendering x = xmargin1; @@ -162,84 +146,42 @@ void PerformancePrefs::create_objects() add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; add_subwindow(new BC_Title(x, y, _("Render Farm"), LARGEFONT, resources->text_default)); + x1 = get_w() - BC_GenericButton::calculate_w(this, _("Reset rates")) - x; + add_subwindow(new PrefsRenderFarmReset(pwindow, this, x1, y)); x1 = x + xmargin4; BC_Title *node_title = new BC_Title(x1, y, _("Nodes:")); add_subwindow(node_title); - x1 += node_title->get_w() + 25; + x1 += node_title->get_w() + 15; sprintf(string, _(MASTER_NODE_FRAMERATE_TEXT), pwindow->thread->preferences->local_rate); add_subwindow(master_rate = new BC_Title(x1, y, string)); - y += 25; - add_subwindow(node_list = new PrefsRenderFarmNodes(pwindow, - this, - x + xmargin4, - y)); - y += 5; - add_subwindow(new PrefsRenderFarm(pwindow, x, y)); - y += 30; - add_subwindow(new BC_Title(x, y, _("Hostname:"))); + add_subwindow(node_list = new PrefsRenderFarmNodes(pwindow, this, x + xmargin4, y+=25)); + add_subwindow(new PrefsRenderFarm(pwindow, x, y+=5)); + add_subwindow(new BC_Title(x, y+=30, _("Hostname:"))); add_subwindow(new BC_Title(x + xmargin3, y, _("Port:"))); - - y += 25; - add_subwindow(edit_node = new PrefsRenderFarmEditNode(pwindow, - this, - x, - y)); - edit_port = new PrefsRenderFarmPort(pwindow, - this, - x + xmargin3, - y); + add_subwindow(edit_node = new PrefsRenderFarmEditNode(pwindow, this, x, y+=25)); + edit_port = new PrefsRenderFarmPort(pwindow, this, x+xmargin3, y); edit_port->create_objects(); - y += 30; - - - add_subwindow(new PrefsRenderFarmReplaceNode(pwindow, - this, - x, - y)); - add_subwindow(new PrefsRenderFarmNewNode(pwindow, - this, - x + xmargin2, - y)); - y += 30; - add_subwindow(new PrefsRenderFarmDelNode(pwindow, - this, - x + xmargin2, - y)); - add_subwindow(new PrefsRenderFarmSortNodes(pwindow, - this, - x, - y)); - y += 30; - add_subwindow(new PrefsRenderFarmReset(pwindow, - this, - x, - y)); - y += 35; - add_subwindow(new BC_Title(x, - y, - _("Total jobs to create:"))); - add_subwindow(new BC_Title(x, - y + 30, - _("(overridden if new file at each label is checked)"))); - PrefsRenderFarmJobs *jobs = new PrefsRenderFarmJobs(pwindow, - this, - x + xmargin3, - y); + add_subwindow(new PrefsRenderFarmReplaceNode(pwindow, this, x, y+=30)); + add_subwindow(new PrefsRenderFarmNewNode(pwindow, this, x+xmargin2, y)); + add_subwindow(new PrefsRenderFarmSortNodes(pwindow, this, x, y+=30)); + add_subwindow(new PrefsRenderFarmDelNode(pwindow, this, x+xmargin2, y)); + add_subwindow(new BC_Title(x, y+=35, _("Client Watchdog Timeout:"))); + renderfarm_watchdog = new PrefsRenderFarmWatchdog(pwindow, this, x+xmargin3, y-5); + renderfarm_watchdog->create_objects(); + add_subwindow(new BC_Title(x, y+=35, _("Total jobs to create:"))); + PrefsRenderFarmJobs *jobs = new PrefsRenderFarmJobs(pwindow, this, + x + xmargin3, y-5); jobs->create_objects(); - y += 55; -// add_subwindow(new PrefsRenderFarmVFS(pwindow, -// this, -// x, -// y)); -// add_subwindow(new BC_Title(x, -// y, + y += jobs->get_h() + 5; + win = add_subwindow(new BC_Title(x, y, + _("(overridden if new file at each label is checked)"))); +// y += win->get_h() + 5; +// add_subwindow(new PrefsRenderFarmVFS(pwindow, this, x, y)); +// add_subwindow(new BC_Title(x, y, // _("Filesystem prefix on remote nodes:"))); -// add_subwindow(new PrefsRenderFarmMountpoint(pwindow, -// this, -// x + xmargin3, -// y)); +// add_subwindow(new PrefsRenderFarmMountpoint(pwindow, this, x + xmargin3, y)); // y += 30; } @@ -274,20 +216,13 @@ void PerformancePrefs::generate_node_list() } } -static const char *default_titles[] = -{ - N_("On"), - N_("Hostname"), - N_("Port"), - N_("Framerate") + +static const char *default_titles[] = { + N_("On"), N_("Hostname"), N_("Port"), N_("Framerate") }; -static int default_widths[] = -{ - 30, - 150, - 50, - 50 +static int default_widths[] = { + 30, 150, 50, 50 }; @@ -346,21 +281,11 @@ int PrefsUseBRender::handle_event() } - - - - PrefsBRenderFragment::PrefsBRenderFragment(PreferencesWindow *pwindow, - PerformancePrefs *subwindow, - int x, - int y) + PerformancePrefs *subwindow, int x, int y) : BC_TumbleTextBox(subwindow, (int64_t)pwindow->thread->preferences->brender_fragment, - (int64_t)1, - (int64_t)65535, - x, - y, - 100) + (int64_t)1, (int64_t)65535, x, y, 100) { this->pwindow = pwindow; } @@ -370,27 +295,13 @@ int PrefsBRenderFragment::handle_event() return 1; } - - - - - - - - - - -CICacheSize::CICacheSize(int x, - int y, - PreferencesWindow *pwindow, - PerformancePrefs *subwindow) +CICacheSize::CICacheSize(int x, int y, + PreferencesWindow *pwindow, PerformancePrefs *subwindow) : BC_TumbleTextBox(subwindow, (int64_t)pwindow->thread->preferences->cache_size / 0x100000, (int64_t)MIN_CACHE_SIZE / 0x100000, (int64_t)MAX_CACHE_SIZE / 0x100000, - x, - y, - 100) + x, y, 100) { this->pwindow = pwindow; set_increment(1); @@ -452,15 +363,6 @@ int PrefsBRenderPreroll::handle_event() } - - - - - - - - - PrefsRenderFarm::PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, @@ -479,8 +381,6 @@ int PrefsRenderFarm::handle_event() } - - PrefsForceUniprocessor::PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, @@ -547,17 +447,14 @@ int PrefsRenderFarmPort::handle_event() PrefsRenderFarmNodes::PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) - : BC_ListBox(x, y, 340, 230, - LISTBOX_TEXT, // Display text list or icons - subwindow->nodes, - 0, //default_titles, - 0, //default_widths, - PerformancePrefs::TOTAL_COLUMNS) + : BC_ListBox(x, y, 340, 230, LISTBOX_TEXT, 0,0,0,1, 0,0, LISTBOX_MULTIPLE) { for( int i=0; inodes, titles, widths, PerformancePrefs::TOTAL_COLUMNS, + 0, 0, -1, 0, 0); this->subwindow = subwindow; this->pwindow = pwindow; } @@ -579,7 +476,9 @@ SET_TRACE { subwindow->hot_node = get_selection_number(1, 0); subwindow->edit_node->update(get_selection(1, 0)->get_text()); - subwindow->edit_port->update(get_selection(2, 0)->get_text()); + const char *text = get_selection(2, 0)->get_text(); + subwindow->edit_port->update(text); + pwindow->thread->preferences->renderfarm_port = atol(text); if(get_cursor_x() < widths[0]) { pwindow->thread->preferences->renderfarm_enabled.values[subwindow->hot_node] = @@ -603,11 +502,6 @@ int PrefsRenderFarmNodes::selection_changed() } - - - - - PrefsRenderFarmEditNode::PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) : BC_TextBox(x, y, 240, 1, "") { @@ -625,12 +519,8 @@ int PrefsRenderFarmEditNode::handle_event() } - - - - PrefsRenderFarmNewNode::PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) - : BC_GenericButton(x, y, _("Add Node")) + : BC_GenericButton(x, y, _("Add Nodes")) { this->pwindow = pwindow; this->subwindow = subwindow; @@ -640,10 +530,17 @@ PrefsRenderFarmNewNode::~PrefsRenderFarmNewNode() } int PrefsRenderFarmNewNode::handle_event() { - pwindow->thread->preferences->add_node(subwindow->edit_node->get_text(), - pwindow->thread->preferences->renderfarm_port, - 1, - 0.0); + const char *name = subwindow->edit_node->get_text(); + char *cp = (char*)subwindow->edit_port->get_text(); + int64_t start_port = strtol(cp, &cp, 0), end_port = start_port; + while( isspace(*cp) ) ++cp; + if( *cp++ == '-' ) + end_port = strtol(cp, &cp, 0); + for( int port=start_port; port<=end_port; ++port ) { + pwindow->thread->preferences->add_node(name, port, 1, 0.0); + } + pwindow->thread->preferences->renderfarm_port = end_port; + subwindow->edit_port->update(end_port); pwindow->thread->preferences->reset_rates(); subwindow->generate_node_list(); subwindow->update_node_list(); @@ -652,11 +549,6 @@ int PrefsRenderFarmNewNode::handle_event() } - - - - - PrefsRenderFarmReplaceNode::PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) : BC_GenericButton(x, y, _("Apply Changes")) { @@ -681,11 +573,8 @@ int PrefsRenderFarmReplaceNode::handle_event() } - - - PrefsRenderFarmDelNode::PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) - : BC_GenericButton(x, y, _("Delete Node")) + : BC_GenericButton(x, y, _("Delete Nodes")) { this->pwindow = pwindow; this->subwindow = subwindow; @@ -695,20 +584,18 @@ PrefsRenderFarmDelNode::~PrefsRenderFarmDelNode() } int PrefsRenderFarmDelNode::handle_event() { - if( subwindow->hot_node >= 0 ) { - pwindow->thread->preferences->delete_node(subwindow->hot_node); - - subwindow->generate_node_list(); - subwindow->update_node_list(); - subwindow->hot_node = -1; + ArrayList &item_list = subwindow->nodes[0]; + for( int i=item_list.size(); --i>=0; ) { + if( !item_list[i]->get_selected() ) continue; + pwindow->thread->preferences->delete_node(i); } + subwindow->generate_node_list(); + subwindow->update_node_list(); + subwindow->hot_node = -1; return 1; } - - - PrefsRenderFarmSortNodes::PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, @@ -733,13 +620,8 @@ int PrefsRenderFarmSortNodes::handle_event() } - - - PrefsRenderFarmReset::PrefsRenderFarmReset(PreferencesWindow *pwindow, - PerformancePrefs *subwindow, - int x, - int y) + PerformancePrefs *subwindow, int x, int y) : BC_GenericButton(x, y, _("Reset rates")) { this->pwindow = pwindow; @@ -754,7 +636,7 @@ int PrefsRenderFarmReset::handle_event() char string[BCTEXTLEN]; sprintf(string, - MASTER_NODE_FRAMERATE_TEXT, + _(MASTER_NODE_FRAMERATE_TEXT), pwindow->thread->preferences->local_rate); subwindow->master_rate->update(string); subwindow->hot_node = -1; @@ -762,9 +644,6 @@ int PrefsRenderFarmReset::handle_event() } - - - PrefsProjectSMP::PrefsProjectSMP(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) : BC_TumbleTextBox(subwindow, @@ -783,20 +662,13 @@ int PrefsProjectSMP::handle_event() } - - - PrefsRenderFarmJobs::PrefsRenderFarmJobs(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) : BC_TumbleTextBox(subwindow, (int64_t)pwindow->thread->preferences->renderfarm_job_count, - (int64_t)1, - (int64_t)100, - x, - y, - 100) + (int64_t)1, (int64_t)100, x, y, 100) { this->pwindow = pwindow; } @@ -810,15 +682,9 @@ int PrefsRenderFarmJobs::handle_event() } - PrefsRenderFarmMountpoint::PrefsRenderFarmMountpoint(PreferencesWindow *pwindow, - PerformancePrefs *subwindow, - int x, - int y) - : BC_TextBox(x, - y, - 100, - 1, + PerformancePrefs *subwindow, int x, int y) + : BC_TextBox(x, y, 100, 1, pwindow->thread->preferences->renderfarm_mountpoint) { this->pwindow = pwindow; @@ -834,8 +700,6 @@ int PrefsRenderFarmMountpoint::handle_event() } - - PrefsRenderFarmVFS::PrefsRenderFarmVFS(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->renderfarm_vfs, @@ -851,3 +715,21 @@ int PrefsRenderFarmVFS::handle_event() return 1; } + +PrefsRenderFarmWatchdog::PrefsRenderFarmWatchdog(PreferencesWindow *pwindow, + PerformancePrefs *subwindow, int x, int y) + : BC_TumbleTextBox(subwindow, + (int64_t)pwindow->thread->preferences->renderfarm_watchdog_timeout, + (int64_t)0, (int64_t)1000, x, y, 100) +{ + this->pwindow = pwindow; + set_increment(15); +} + +int PrefsRenderFarmWatchdog::handle_event() +{ + pwindow->thread->preferences->renderfarm_watchdog_timeout = atol(get_text()); + return 1; +} + +