picon dirs, new cinfinity picons, plugin info, rework text drawing, show msg, compres...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / render.C
index 21e33c20f5cdcdcc33e159959d060af007e2f97c..34b5c7dc51eaf42ca45fab9051ad8d219345f68f 100644 (file)
@@ -209,10 +209,9 @@ void MainPackageRenderer::set_progress(int64_t value)
                                eta,
                                TIME_HMS2);
 
-                       printf(_("\r%d%% ETA: %s      "), (int)(100 *
-                               (float)render->total_rendered /
-                                       render->progress_max),
-                               string);
+                       printf("\r%d%% %s: %s      ",
+                               (int)(100 * (float)render->total_rendered / render->progress_max),
+                               _("ETA"), string);
                        fflush(stdout);
                        render->last_eta = current_eta;
                }
@@ -295,7 +294,7 @@ void Render::start_batches(ArrayList<BatchRenderJob*> *jobs)
                start_render();
        }
        else if( in_progress ) {
-               ErrorBox error_box(PROGRAM_NAME ": Error",
+               ErrorBox error_box(_(PROGRAM_NAME ": Error"),
                                   mwindow->gui->get_abs_cursor_x(1),
                                   mwindow->gui->get_abs_cursor_y(1));
                error_box.create_objects("Already rendering");
@@ -331,20 +330,16 @@ BC_Window* Render::new_gui()
        batch_cancelled = 0;
        format_error = 0;
        result = 0;
-       completion->reset();
 
        if(mode == Render::INTERACTIVE) {
 // Fix the asset for rendering
                if(!asset) asset = new Asset;
                load_defaults(asset);
                check_asset(mwindow->edl, *asset);
-
+               int px = mwindow->gui->get_pop_cursor_x(1);
+               int py = mwindow->gui->get_pop_cursor_y(1);
 // Get format from user
-               render_window = new RenderWindow(mwindow,
-                       this,
-                       asset,
-                       mwindow->gui->get_abs_cursor_x(1),
-                       mwindow->gui->get_abs_cursor_y(1));
+               render_window = new RenderWindow(mwindow, this, asset, px, py);
                render_window->create_objects();
        }
 
@@ -414,19 +409,11 @@ int Render::check_asset(EDL *edl, Asset &asset)
                asset.width = edl->session->output_w;
                asset.height = edl->session->output_h;
                asset.interlace_mode = edl->session->interlace_mode;
-               asset.tcstart = (int64_t) (edl->session->get_frame_offset() +
-                       edl->local_session->get_selectionstart() *
-                               edl->session->frame_rate);
-               asset.tcend = (int64_t) (edl->session->get_frame_offset() +
-                       edl->local_session->get_selectionend() *
-                               edl->session->frame_rate);
        }
        else
        {
                asset.video_data = 0;
                asset.layers = 0;
-               asset.tcstart = 0;
-               asset.tcend = 0;
        }
 
        if(asset.audio_data &&
@@ -435,19 +422,11 @@ int Render::check_asset(EDL *edl, Asset &asset)
        {
                asset.audio_data = 1;
                asset.channels = edl->session->audio_channels;
-               asset.tcstart = (int64_t) (edl->session->get_frame_offset() +
-                       edl->local_session->get_selectionstart() *
-                               edl->session->sample_rate);
-               asset.tcend = (int64_t) (edl->session->get_frame_offset() +
-                       edl->local_session->get_selectionend() *
-                               edl->session->sample_rate);
        }
        else
        {
                asset.audio_data = 0;
                asset.channels = 0;
-               asset.tcstart = 0;
-               asset.tcend = 0;
        }
 
        if(!asset.audio_data &&
@@ -517,6 +496,7 @@ void Render::stop_progress()
                sprintf(string2, _("Rendering took %s"), string);
                mwindow->gui->lock_window("");
                mwindow->gui->show_message(string2);
+               mwindow->gui->update_default_message();
                mwindow->gui->stop_hourglass();
                mwindow->gui->unlock_window();
        }
@@ -530,6 +510,7 @@ void Render::start_render()
        in_progress = 0;
        elapsed_time = 0.0;
        result = 0;
+       completion->reset();
        thread->start();
 }
 
@@ -949,11 +930,7 @@ if(debug) printf("Render::render %d\n", __LINE__);
                if(render->load_mode == LOADMODE_PASTE)
                        mwindow->clear(0);
 if(debug) printf("Render::render %d\n", __LINE__);
-               mwindow->load_assets(assets,
-                       -1,
-                       render->load_mode,
-                       0,
-                       0,
+               mwindow->load_assets(assets, -1, render->load_mode, 0, 0,
                        mwindow->edl->session->labels_follow_edits,
                        mwindow->edl->session->plugins_follow_edits,
                        mwindow->edl->session->autos_follow_edits,
@@ -1012,7 +989,6 @@ if(debug) printf("Render::render %d\n", __LINE__);
 
        render->packages = 0;
        render->in_progress = 0;
-       render->completion->unlock();
 if(debug) printf("Render::render %d\n", __LINE__);
 }
 
@@ -1097,6 +1073,7 @@ void RenderThread::run()
                        mwindow->batch_render->update_done(-1, 0, 0);
                }
        }
+       render->completion->unlock();
 }
 
 
@@ -1109,10 +1086,8 @@ RenderWindow::RenderWindow(MWindow *mwindow,
        Asset *asset,
        int x,
        int y)
- : BC_Window(_(PROGRAM_NAME ": Render"),
-       x - WIDTH / 2, y - HEIGHT / 2,
-       WIDTH, HEIGHT, WIDTH, HEIGHT,
-       0, 0, 1)
+ : BC_Window(_(PROGRAM_NAME ": Render"), x, y,
+       WIDTH, HEIGHT, WIDTH, HEIGHT, 0, 0, 1)
 {
        this->mwindow = mwindow;
        this->render = render;