fix render progress booby, add batchrender warn for zero length, click to play layout...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / render.C
index ff21962f6063776b5524dc0b9518c2a9de23c812..7a7d5407e9785482cca0ae46f55993bb47f98c8f 100644 (file)
@@ -460,8 +460,10 @@ void Render::start_progress()
                sprintf(string, _("Rendering %s..."), filename);
 
 // Don't bother with the filename since renderfarm defeats the meaning
+               mwindow->gui->lock_window("Render::start_progress");
                progress = mwindow->mainprogress->start_progress(_("Rendering..."),
                        progress_max);
+               mwindow->gui->unlock_window();
                render_progress = new RenderProgress(mwindow, this);
                render_progress->start();
        }
@@ -478,7 +480,7 @@ void Render::stop_progress()
                delete progress;
 
                sprintf(string2, _("Rendering took %s"), string);
-               mwindow->gui->lock_window("");
+               mwindow->gui->lock_window("Render::stop_progress");
                mwindow->gui->show_message(string2);
                mwindow->gui->update_default_message();
                mwindow->gui->stop_hourglass();
@@ -736,7 +738,8 @@ void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
 
        render->total_rendered = 0;
 
-       if( !render->result ) {
+       if( !render->result &&
+           ( strategy == SINGLE_PASS_FARM || strategy == FILE_PER_LABEL_FARM ) ) {
 // Start dispatching external jobs
                if( mwindow ) {
                        mwindow->gui->lock_window("Render::render 1");
@@ -748,24 +751,22 @@ void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
                        printf("Render::render: starting render farm\n");
                }
 
-               if( strategy == SINGLE_PASS_FARM || strategy == FILE_PER_LABEL_FARM ) {
-                       farm_server = new RenderFarmServer(mwindow, render->packages,
-                               render->preferences, 1, &render->result,
-                               &render->total_rendered, render->counter_lock,
-                               render->default_asset, command->get_edl(), 0);
-                       render->result = farm_server->start_clients();
-
-                       if( render->result ) {
-                               if( mwindow ) {
-                                       mwindow->gui->lock_window("Render::render 2");
-                                       mwindow->gui->show_message(_("Failed to start render farm"),
-                                               mwindow->theme->message_error);
-                                       mwindow->gui->stop_hourglass();
-                                       mwindow->gui->unlock_window();
-                               }
-                               else {
-                                       printf("Render::render: Failed to start render farm\n");
-                               }
+               farm_server = new RenderFarmServer(mwindow, render->packages,
+                       render->preferences, 1, &render->result,
+                       &render->total_rendered, render->counter_lock,
+                       render->default_asset, command->get_edl(), 0);
+               render->result = farm_server->start_clients();
+
+               if( render->result ) {
+                       if( mwindow ) {
+                               mwindow->gui->lock_window("Render::render 2");
+                               mwindow->gui->show_message(_("Failed to start render farm"),
+                                       mwindow->theme->message_error);
+                               mwindow->gui->stop_hourglass();
+                               mwindow->gui->unlock_window();
+                       }
+                       else {
+                               printf("Render::render: Failed to start render farm\n");
                        }
                }
        }