awindowgui / mwindowedit / label rework
[goodguy/history.git] / cinelerra-5.1 / cinelerra / render.C
index 03709b103a0bcbac8e30d4fcfba4a052368d45f8..cf0881080ac73bd7f55606ce22534f3bf9ca4573 100644 (file)
@@ -330,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();
        }
 
@@ -413,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 &&
@@ -434,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 &&
@@ -515,7 +495,7 @@ void Render::stop_progress()
 
                sprintf(string2, _("Rendering took %s"), string);
                mwindow->gui->lock_window("");
-               mwindow->gui->show_message(string2);
+               mwindow->gui->set_default_message(string2);
                mwindow->gui->stop_hourglass();
                mwindow->gui->unlock_window();
        }
@@ -529,6 +509,7 @@ void Render::start_render()
        in_progress = 0;
        elapsed_time = 0.0;
        result = 0;
+       completion->reset();
        thread->start();
 }
 
@@ -1011,7 +992,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__);
 }
 
@@ -1096,6 +1076,7 @@ void RenderThread::run()
                        mwindow->batch_render->update_done(-1, 0, 0);
                }
        }
+       render->completion->unlock();
 }
 
 
@@ -1108,10 +1089,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;