Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

performanceprefs.C

Go to the documentation of this file.
00001 #include "clip.h"
00002 #include "edl.h"
00003 #include "edlsession.h"
00004 #include "formattools.h"
00005 #include "language.h"
00006 #include "mwindow.h"
00007 #include "performanceprefs.h"
00008 #include "preferences.h"
00009 #include <string.h>
00010 #include "theme.h"
00011 
00012 
00013 PerformancePrefs::PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow)
00014  : PreferencesDialog(mwindow, pwindow)
00015 {
00016         hot_node = -1;
00017 }
00018 
00019 PerformancePrefs::~PerformancePrefs()
00020 {
00021         delete brender_tools;
00022         nodes[0].remove_all_objects();
00023         nodes[1].remove_all_objects();
00024         nodes[2].remove_all_objects();
00025         nodes[3].remove_all_objects();
00026 }
00027 
00028 int PerformancePrefs::create_objects()
00029 {
00030         int x, y;
00031         int xmargin1;
00032         int xmargin2 = 170;
00033         int xmargin3 = 250;
00034         int xmargin4 = 380;
00035         char string[BCTEXTLEN];
00036         BC_Resources *resources = BC_WindowBase::get_resources();
00037 
00038         node_list = 0;
00039         generate_node_list();
00040 
00041         add_subwindow(new BC_Title(mwindow->theme->preferencestitle_x, 
00042                 mwindow->theme->preferencestitle_y, 
00043                 _("Performance"), 
00044                 LARGEFONT, 
00045                 resources->text_default));
00046 
00047         xmargin1 = x = mwindow->theme->preferencesoptions_x;
00048         y = mwindow->theme->preferencesoptions_y;
00049         
00050         add_subwindow(new BC_Title(x, y + 5, _("Cache size (MB):"), MEDIUMFONT, resources->text_default));
00051         cache_size = new CICacheSize(x + 230, 
00052                 y, 
00053                 pwindow, 
00054                 this);
00055         cache_size->create_objects();
00056 
00057         y += 30;
00058         add_subwindow(new BC_Title(x, y + 5, _("Seconds to preroll renders:")));
00059         PrefsRenderPreroll *preroll = new PrefsRenderPreroll(pwindow, 
00060                 this, 
00061                 x + 230, 
00062                 y);
00063         preroll->create_objects();
00064         y += 30;
00065         add_subwindow(new PrefsForceUniprocessor(pwindow, x, y));
00066 
00067         y += 35;
00068 
00069 
00070 
00071 
00072 // Background rendering
00073         add_subwindow(new BC_Bar(5, y,  get_w() - 10));
00074         y += 5;
00075 
00076 
00077         add_subwindow(new BC_Title(x, y, _("Background Rendering (Video only)"), LARGEFONT, resources->text_default));
00078         y += 30;
00079 
00080         add_subwindow(new PrefsUseBRender(pwindow, 
00081                 x,
00082                 y));
00083 
00084 
00085         add_subwindow(new BC_Title(x, y + 40, _("Frames per background rendering job:")));
00086         PrefsBRenderFragment *brender_fragment = new PrefsBRenderFragment(pwindow, 
00087                 this, 
00088                 x, 
00089                 y + 60);
00090         brender_fragment->create_objects();
00091         add_subwindow(new BC_Title(x, y + 95, _("Frames to preroll background:")));
00092         PrefsBRenderPreroll *bpreroll = new PrefsBRenderPreroll(pwindow, 
00093                 this, 
00094                 x + xmargin3, 
00095                 y + 90);
00096         bpreroll->create_objects();
00097 
00098 
00099         x += xmargin4;
00100         add_subwindow(new BC_Title(x, y, _("Output for background rendering:")));
00101         y += 20;
00102         brender_tools = 
00103                 new FormatTools(mwindow,
00104                         this, 
00105                         pwindow->thread->preferences->brender_asset);
00106         brender_tools->create_objects(x, 
00107                 y, 
00108                 0,    // Include tools for audio
00109                 1,   // Include tools for video
00110                 0,  // Include checkbox for audio
00111                 0,  // Include checkbox for video
00112                 0,
00113                 1,
00114                 0,  // Select compressors to be offered
00115                 0, // Change captions for recording
00116                 0, // If nonzero, prompt for insertion strategy
00117                 1); // Supply file formats for background rendering
00118         x = xmargin1;
00119 
00120 
00121 // Renderfarm
00122         add_subwindow(new BC_Bar(5, y,  get_w() - 10));
00123         y += 5;
00124 
00125 
00126         add_subwindow(new BC_Title(x, y, _("Render Farm"), LARGEFONT, resources->text_default));
00127         y += 25;
00128 
00129         add_subwindow(new PrefsRenderFarm(pwindow, x, y));
00130         add_subwindow(new BC_Title(x + xmargin4, y, _("Nodes:")));
00131         y += 30;
00132         add_subwindow(new BC_Title(x, y, _("Hostname:")));
00133         add_subwindow(new BC_Title(x + xmargin3, y, _("Port:")));
00134         add_subwindow(node_list = new PrefsRenderFarmNodes(pwindow, 
00135                 this, 
00136                 x + xmargin4, 
00137                 y - 5));
00138 #if 0
00139 N_("Master node framerate: %0.3f")
00140 #endif
00141 #define MASTER_NODE_FRAMERATE_TEXT "Master node framerate: %0.3f"
00142         sprintf(string, _(MASTER_NODE_FRAMERATE_TEXT), 
00143                 pwindow->thread->preferences->local_rate);
00144         add_subwindow(master_rate = new BC_Title(x + xmargin4, y + node_list->get_h(), string));
00145 
00146         y += 25;
00147         add_subwindow(edit_node = new PrefsRenderFarmEditNode(pwindow, 
00148                 this, 
00149                 x, 
00150                 y));
00151         edit_port = new PrefsRenderFarmPort(pwindow, 
00152                 this, 
00153                 x + xmargin3, 
00154                 y);
00155         edit_port->create_objects();
00156 
00157         y += 30;
00158 
00159 
00160         add_subwindow(new PrefsRenderFarmReplaceNode(pwindow, 
00161                 this, 
00162                 x, 
00163                 y));
00164         add_subwindow(new PrefsRenderFarmNewNode(pwindow, 
00165                 this, 
00166                 x + xmargin2, 
00167                 y));
00168         y += 30;
00169         add_subwindow(new PrefsRenderFarmDelNode(pwindow, 
00170                 this, 
00171                 x + xmargin2, 
00172                 y));
00173         add_subwindow(new PrefsRenderFarmSortNodes(pwindow, 
00174                 this, 
00175                 x, 
00176                 y));
00177         y += 30;
00178         add_subwindow(new PrefsRenderFarmReset(pwindow, 
00179                 this, 
00180                 x, 
00181                 y));
00182         y += 35;
00183         add_subwindow(new BC_Title(x, 
00184                 y, 
00185                 _("Total jobs to create:")));
00186         add_subwindow(new BC_Title(x, 
00187                 y + 30, 
00188                 _("(overridden if new file at each label is checked)")));
00189         PrefsRenderFarmJobs *jobs = new PrefsRenderFarmJobs(pwindow, 
00190                 this, 
00191                 x + xmargin3, 
00192                 y);
00193         jobs->create_objects();
00194         y += 55;
00195 //      add_subwindow(new PrefsRenderFarmVFS(pwindow,
00196 //              this,
00197 //              x,
00198 //              y));
00199 //      add_subwindow(new BC_Title(x, 
00200 //              y, 
00201 //              _("Filesystem prefix on remote nodes:")));
00202 //      add_subwindow(new PrefsRenderFarmMountpoint(pwindow, 
00203 //              this, 
00204 //              x + xmargin3, 
00205 //              y));
00206 //      y += 30;
00207 
00208         return 0;
00209 }
00210 
00211 void PerformancePrefs::generate_node_list()
00212 {
00213         int selected_row = node_list ? node_list->get_selection_number(0, 0) : -1;
00214         nodes[0].remove_all_objects();
00215         nodes[1].remove_all_objects();
00216         nodes[2].remove_all_objects();
00217         nodes[3].remove_all_objects();
00218         for(int i = 0; 
00219                 i < pwindow->thread->preferences->renderfarm_nodes.total; 
00220                 i++)
00221         {
00222                 BC_ListBoxItem *item;
00223                 nodes[0].append(item = new BC_ListBoxItem(
00224                         (char*)(pwindow->thread->preferences->renderfarm_enabled.values[i] ? "X" : " ")));
00225                 if(i == selected_row) item->set_selected(1);
00226 
00227                 nodes[1].append(item = new BC_ListBoxItem(
00228                         pwindow->thread->preferences->renderfarm_nodes.values[i]));
00229                 if(i == selected_row) item->set_selected(1);
00230 
00231                 char string[BCTEXTLEN];
00232                 sprintf(string, "%d", pwindow->thread->preferences->renderfarm_ports.values[i]);
00233                 nodes[2].append(item = new BC_ListBoxItem(string));
00234                 if(i == selected_row) item->set_selected(1);
00235 
00236                 sprintf(string, "%0.3f", pwindow->thread->preferences->renderfarm_rate.values[i]);
00237                 nodes[3].append(item = new BC_ListBoxItem(string));
00238                 if(i == selected_row) item->set_selected(1);
00239         }
00240 }
00241 
00242 static char *titles[] = 
00243 {
00244         N_("On"),
00245         N_("Hostname"),
00246         N_("Port"),
00247         N_("Framerate")
00248 };
00249 
00250 static int widths[] = 
00251 {
00252         30,
00253         150,
00254         50,
00255         50
00256 };
00257 
00258 
00259 void PerformancePrefs::update_node_list()
00260 {
00261         node_list->update(nodes,
00262                                                 titles,
00263                                                 widths,
00264                                                 4,
00265                                                 node_list->get_xposition(),
00266                                                 node_list->get_yposition(),
00267                                                 node_list->get_selection_number(0, 0));
00268 }
00269 
00270 
00271 
00272 PrefsUseBRender::PrefsUseBRender(PreferencesWindow *pwindow, 
00273         int x,
00274         int y)
00275  : BC_CheckBox(x, 
00276         y, 
00277         pwindow->thread->preferences->use_brender, 
00278         _("Use background rendering"))
00279 {
00280         this->pwindow = pwindow;
00281 }
00282 
00283 int PrefsUseBRender::handle_event()
00284 {
00285         pwindow->thread->redraw_overlays = 1;
00286         pwindow->thread->redraw_times = 1;
00287         pwindow->thread->preferences->use_brender = get_value();
00288         return 1;
00289 }
00290 
00291 
00292 
00293 
00294 
00295 
00296 PrefsBRenderFragment::PrefsBRenderFragment(PreferencesWindow *pwindow, 
00297         PerformancePrefs *subwindow, 
00298         int x, 
00299         int y)
00300  : BC_TumbleTextBox(subwindow, 
00301         (int64_t)pwindow->thread->preferences->brender_fragment,
00302         (int64_t)1, 
00303         (int64_t)65535,
00304         x,
00305         y,
00306         100)
00307 {
00308         this->pwindow = pwindow;
00309 }
00310 int PrefsBRenderFragment::handle_event()
00311 {
00312         pwindow->thread->preferences->brender_fragment = atol(get_text());
00313         return 1;
00314 }
00315 
00316 
00317 
00318 
00319 
00320 
00321 
00322 
00323 
00324 
00325 
00326 CICacheSize::CICacheSize(int x, 
00327         int y, 
00328         PreferencesWindow *pwindow, 
00329         PerformancePrefs *subwindow)
00330  : BC_TumbleTextBox(subwindow,
00331         (int64_t)pwindow->thread->preferences->cache_size / 0x100000,
00332         (int64_t)MIN_CACHE_SIZE / 0x100000,
00333         (int64_t)MAX_CACHE_SIZE / 0x100000,
00334         x, 
00335         y, 
00336         100)
00337 { 
00338         this->pwindow = pwindow;
00339         set_increment(1);
00340 }
00341 
00342 int CICacheSize::handle_event()
00343 {
00344         int64_t result;
00345         result = (int64_t)atol(get_text()) * 0x100000;
00346         CLAMP(result, MIN_CACHE_SIZE, MAX_CACHE_SIZE);
00347         pwindow->thread->preferences->cache_size = result;
00348         return 0;
00349 }
00350 
00351 
00352 PrefsRenderPreroll::PrefsRenderPreroll(PreferencesWindow *pwindow, 
00353                 PerformancePrefs *subwindow, 
00354                 int x, 
00355                 int y)
00356  : BC_TumbleTextBox(subwindow, 
00357         (float)pwindow->thread->preferences->render_preroll,
00358         (float)0, 
00359         (float)100,
00360         x,
00361         y,
00362         100)
00363 {
00364         this->pwindow = pwindow;
00365 }
00366 PrefsRenderPreroll::~PrefsRenderPreroll()
00367 {
00368 }
00369 int PrefsRenderPreroll::handle_event()
00370 {
00371         pwindow->thread->preferences->render_preroll = atof(get_text());
00372         return 1;
00373 }
00374 
00375 
00376 PrefsBRenderPreroll::PrefsBRenderPreroll(PreferencesWindow *pwindow, 
00377                 PerformancePrefs *subwindow, 
00378                 int x, 
00379                 int y)
00380  : BC_TumbleTextBox(subwindow, 
00381         (int64_t)pwindow->thread->preferences->brender_preroll,
00382         (int64_t)0, 
00383         (int64_t)100,
00384         x,
00385         y,
00386         100)
00387 {
00388         this->pwindow = pwindow;
00389 }
00390 int PrefsBRenderPreroll::handle_event()
00391 {
00392         pwindow->thread->preferences->brender_preroll = atol(get_text());
00393         return 1;
00394 }
00395 
00396 
00397 
00398 
00399 
00400 
00401 
00402 
00403 
00404 
00405 
00406 PrefsRenderFarm::PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y)
00407  : BC_CheckBox(x, 
00408         y, 
00409         pwindow->thread->preferences->use_renderfarm,
00410         _("Use render farm"))
00411 {
00412         this->pwindow = pwindow;
00413 }
00414 PrefsRenderFarm::~PrefsRenderFarm()
00415 {
00416 }
00417 int PrefsRenderFarm::handle_event()
00418 {
00419         pwindow->thread->preferences->use_renderfarm = get_value();
00420         return 1;
00421 }
00422 
00423 
00424 
00425 
00426 PrefsForceUniprocessor::PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y)
00427  : BC_CheckBox(x, 
00428         y, 
00429         pwindow->thread->preferences->force_uniprocessor,
00430         _("Force single processor use"))
00431 {
00432         this->pwindow = pwindow;
00433 }
00434 PrefsForceUniprocessor::~PrefsForceUniprocessor()
00435 {
00436 }
00437 int PrefsForceUniprocessor::handle_event()
00438 {
00439         pwindow->thread->preferences->force_uniprocessor = get_value();
00440         return 1;
00441 }
00442 
00443 
00444 
00445 
00446 
00447 
00448 
00449 PrefsRenderFarmConsolidate::PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y)
00450  : BC_CheckBox(x, 
00451         y, 
00452         pwindow->thread->preferences->renderfarm_consolidate,
00453         _("Consolidate output files on completion"))
00454 {
00455         this->pwindow = pwindow;
00456 }
00457 PrefsRenderFarmConsolidate::~PrefsRenderFarmConsolidate()
00458 {
00459 }
00460 int PrefsRenderFarmConsolidate::handle_event()
00461 {
00462         pwindow->thread->preferences->renderfarm_consolidate = get_value();
00463         return 1;
00464 }
00465 
00466 
00467 
00468 
00469 
00470 PrefsRenderFarmPort::PrefsRenderFarmPort(PreferencesWindow *pwindow, 
00471         PerformancePrefs *subwindow, 
00472         int x, 
00473         int y)
00474  : BC_TumbleTextBox(subwindow, 
00475         (int64_t)pwindow->thread->preferences->renderfarm_port,
00476         (int64_t)1, 
00477         (int64_t)65535,
00478         x,
00479         y,
00480         100)
00481 {
00482         this->pwindow = pwindow;
00483 }
00484 
00485 PrefsRenderFarmPort::~PrefsRenderFarmPort()
00486 {
00487 }
00488 
00489 int PrefsRenderFarmPort::handle_event()
00490 {
00491         pwindow->thread->preferences->renderfarm_port = atol(get_text());
00492         return 1;
00493 }
00494 
00495 
00496 
00497 PrefsRenderFarmNodes::PrefsRenderFarmNodes(PreferencesWindow *pwindow, 
00498         PerformancePrefs *subwindow, int x, int y)
00499  : BC_ListBox(x, 
00500                 y, 
00501                 340, 
00502                 230,
00503                 LISTBOX_TEXT,                         // Display text list or icons
00504                 subwindow->nodes,
00505                 titles,
00506                 widths,
00507                 4)
00508 {
00509         this->subwindow = subwindow;
00510         this->pwindow = pwindow;
00511 }
00512 PrefsRenderFarmNodes::~PrefsRenderFarmNodes()
00513 {
00514 }
00515 
00516 int PrefsRenderFarmNodes::column_resize_event()
00517 {
00518         for(int i = 0; i < 3; i++)
00519                 widths[i] = get_column_width(i);
00520         return 1;
00521 }
00522 
00523 int PrefsRenderFarmNodes::handle_event()
00524 {
00525         if(get_selection_number(0, 0) >= 0)
00526         {
00527                 subwindow->hot_node = get_selection_number(1, 0);
00528                 subwindow->edit_node->update(get_selection(1, 0)->get_text());
00529                 subwindow->edit_port->update(get_selection(2, 0)->get_text());
00530                 if(get_cursor_x() < widths[0])
00531                 {
00532                         pwindow->thread->preferences->renderfarm_enabled.values[subwindow->hot_node] = 
00533                                 !pwindow->thread->preferences->renderfarm_enabled.values[subwindow->hot_node];
00534                         subwindow->generate_node_list();
00535                         subwindow->update_node_list();
00536                 }
00537         }
00538         else
00539         {
00540                 subwindow->hot_node = -1;
00541                 subwindow->edit_node->update("");
00542         }
00543         return 1;
00544 }       
00545 int PrefsRenderFarmNodes::selection_changed()
00546 {
00547         handle_event();
00548         return 1;
00549 }
00550 
00551 
00552 
00553 
00554 
00555 
00556 
00557 PrefsRenderFarmEditNode::PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y)
00558  : BC_TextBox(x, y, 240, 1, "")
00559 {
00560         this->pwindow = pwindow;
00561         this->subwindow = subwindow;
00562 }
00563 
00564 PrefsRenderFarmEditNode::~PrefsRenderFarmEditNode()
00565 {
00566 }
00567 
00568 int PrefsRenderFarmEditNode::handle_event()
00569 {
00570         return 1;
00571 }
00572 
00573 
00574 
00575 
00576 
00577 
00578 PrefsRenderFarmNewNode::PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y)
00579  : BC_GenericButton(x, y, _("Add Node"))
00580 {
00581         this->pwindow = pwindow;
00582         this->subwindow = subwindow;
00583 }
00584 PrefsRenderFarmNewNode::~PrefsRenderFarmNewNode()
00585 {
00586 }
00587 int PrefsRenderFarmNewNode::handle_event()
00588 {
00589         pwindow->thread->preferences->add_node(subwindow->edit_node->get_text(),
00590                 pwindow->thread->preferences->renderfarm_port,
00591                 1,
00592                 0.0);
00593         pwindow->thread->preferences->reset_rates();
00594         subwindow->generate_node_list();
00595         subwindow->update_node_list();
00596         subwindow->hot_node = -1;
00597         return 1;
00598 }
00599 
00600 
00601 
00602 
00603 
00604 
00605 
00606 PrefsRenderFarmReplaceNode::PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y)
00607  : BC_GenericButton(x, y, _("Apply Changes"))
00608 {
00609         this->pwindow = pwindow;
00610         this->subwindow = subwindow;
00611 }
00612 PrefsRenderFarmReplaceNode::~PrefsRenderFarmReplaceNode()
00613 {
00614 }
00615 int PrefsRenderFarmReplaceNode::handle_event()
00616 {
00617         if(subwindow->hot_node >= 0)
00618         {
00619                 pwindow->thread->preferences->edit_node(subwindow->hot_node, 
00620                         subwindow->edit_node->get_text(),
00621                         pwindow->thread->preferences->renderfarm_port,
00622                         pwindow->thread->preferences->renderfarm_enabled.values[subwindow->hot_node]);
00623                 subwindow->generate_node_list();
00624                 subwindow->update_node_list();
00625         }
00626         return 1;
00627 }
00628 
00629 
00630 
00631 
00632 
00633 PrefsRenderFarmDelNode::PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y)
00634  : BC_GenericButton(x, y, _("Delete Node"))
00635 {
00636         this->pwindow = pwindow;
00637         this->subwindow = subwindow;
00638 }
00639 PrefsRenderFarmDelNode::~PrefsRenderFarmDelNode()
00640 {
00641 }
00642 int PrefsRenderFarmDelNode::handle_event()
00643 {
00644         if(strlen(subwindow->edit_node->get_text()))
00645         {
00646                 pwindow->thread->preferences->delete_node(subwindow->hot_node);
00647                 subwindow->generate_node_list();
00648                 subwindow->update_node_list();
00649                 subwindow->hot_node = -1;
00650         }
00651         return 1;
00652 }
00653 
00654 
00655 
00656 
00657 
00658 PrefsRenderFarmSortNodes::PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, 
00659         PerformancePrefs *subwindow, 
00660         int x, 
00661         int y)
00662  : BC_GenericButton(x, y, _("Sort nodes"))
00663 {
00664         this->pwindow = pwindow;
00665         this->subwindow = subwindow;
00666 }
00667 
00668 PrefsRenderFarmSortNodes::~PrefsRenderFarmSortNodes()
00669 {
00670 }
00671 
00672 int PrefsRenderFarmSortNodes::handle_event()
00673 {
00674         pwindow->thread->preferences->sort_nodes();
00675         subwindow->generate_node_list();
00676         subwindow->update_node_list();
00677         subwindow->hot_node = -1;
00678         return 1;
00679 }
00680 
00681 
00682 
00683 
00684 
00685 PrefsRenderFarmReset::PrefsRenderFarmReset(PreferencesWindow *pwindow, 
00686         PerformancePrefs *subwindow, 
00687         int x, 
00688         int y)
00689  : BC_GenericButton(x, y, _("Reset rates"))
00690 {
00691         this->pwindow = pwindow;
00692         this->subwindow = subwindow;
00693 }
00694 
00695 int PrefsRenderFarmReset::handle_event()
00696 {
00697         pwindow->thread->preferences->reset_rates();
00698         subwindow->generate_node_list();
00699         subwindow->update_node_list();
00700 
00701         char string[BCTEXTLEN];
00702         sprintf(string, 
00703                 MASTER_NODE_FRAMERATE_TEXT, 
00704                 pwindow->thread->preferences->local_rate);
00705         subwindow->master_rate->update(string);
00706         subwindow->hot_node = -1;
00707         return 1;
00708 }
00709 
00710 
00711 
00712 
00713 
00714 
00715 
00716 PrefsRenderFarmJobs::PrefsRenderFarmJobs(PreferencesWindow *pwindow, 
00717                 PerformancePrefs *subwindow, 
00718                 int x, 
00719                 int y)
00720  : BC_TumbleTextBox(subwindow, 
00721         (int64_t)pwindow->thread->preferences->renderfarm_job_count,
00722         (int64_t)1, 
00723         (int64_t)100,
00724         x,
00725         y,
00726         100)
00727 {
00728         this->pwindow = pwindow;
00729 }
00730 PrefsRenderFarmJobs::~PrefsRenderFarmJobs()
00731 {
00732 }
00733 int PrefsRenderFarmJobs::handle_event()
00734 {
00735         pwindow->thread->preferences->renderfarm_job_count = atol(get_text());
00736         return 1;
00737 }
00738 
00739 
00740 
00741 PrefsRenderFarmMountpoint::PrefsRenderFarmMountpoint(PreferencesWindow *pwindow, 
00742                 PerformancePrefs *subwindow, 
00743                 int x, 
00744                 int y)
00745  : BC_TextBox(x, 
00746         y, 
00747         100,
00748         1,
00749         pwindow->thread->preferences->renderfarm_mountpoint)
00750 {
00751         this->pwindow = pwindow;
00752         this->subwindow = subwindow;
00753 }
00754 PrefsRenderFarmMountpoint::~PrefsRenderFarmMountpoint()
00755 {
00756 }
00757 int PrefsRenderFarmMountpoint::handle_event()
00758 {
00759         strcpy(pwindow->thread->preferences->renderfarm_mountpoint, get_text());
00760         return 1;
00761 }
00762 
00763 
00764 
00765 
00766 PrefsRenderFarmVFS::PrefsRenderFarmVFS(PreferencesWindow *pwindow,
00767         PerformancePrefs *subwindow,
00768         int x,
00769         int y)
00770  : BC_CheckBox(x, y, pwindow->thread->preferences->renderfarm_vfs, _("Use virtual filesystem"))
00771 {
00772         this->pwindow = pwindow;
00773         this->subwindow = subwindow;
00774 }
00775 
00776 int PrefsRenderFarmVFS::handle_event()
00777 {
00778         pwindow->thread->preferences->renderfarm_vfs = get_value();
00779         return 1;
00780 }
00781 

Generated on Sun Jan 8 13:38:58 2006 for Cinelerra-svn by  doxygen 1.4.4