X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Frender.C;fp=cinelerra-5.1%2Fcinelerra%2Frender.C;h=e7b3e12d54b3dafc3ca942a31ab9b19ef8853a14;hb=62ba04ea5b57d760bb66b65d533598cde044b685;hp=5b35292404b0f040ae6ae333433c479ba5a6ca60;hpb=d6fcc223fa4c7d549c66f0fb84a5f81476d59251;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/render.C b/cinelerra-5.1/cinelerra/render.C index 5b352924..e7b3e12d 100644 --- a/cinelerra-5.1/cinelerra/render.C +++ b/cinelerra-5.1/cinelerra/render.C @@ -219,6 +219,7 @@ Render::Render(MWindow *mwindow) render_window = 0; asset = 0; result = 0; + beep = 0; } Render::~Render() @@ -314,6 +315,7 @@ BC_Window* Render::new_gui() void Render::handle_done_event(int result) { if(!result) { + mwindow->edl->session->render_beep = beep; // add to recentlist only on OK render_window->render_format->path_recent-> add_item(File::formattostr(asset->format), asset->path); @@ -1075,6 +1077,9 @@ void RenderThread::run() } } render->completion->unlock(); + + if( render->mode == Render::INTERACTIVE && render->beep ) + mwindow->beep(3000., 1.5, 0.5); } @@ -1141,23 +1146,33 @@ void RenderWindow::create_objects() if( is_image ) render->range_type = RANGE_1FRAME; - int x1 = x + title->get_w() + 20; + int x1 = x + title->get_w() + 20, y1 = y; add_subwindow(rangeproject = new RenderRangeProject(this, render->range_type == RANGE_PROJECT, x1, y)); + int x2 = x1 + rangeproject->get_w(); y += 20; add_subwindow(rangeselection = new RenderRangeSelection(this, render->range_type == RANGE_SELECTION, x1, y)); + int x3 = x1 + rangeselection->get_w(); + if( x2 < x3 ) x2 = x3; y += 20; add_subwindow(rangeinout = new RenderRangeInOut(this, render->range_type == RANGE_INOUT, x1, y)); + x3 = x1 + rangeinout->get_w(); + if( x2 < x3 ) x2 = x3; y += 20; add_subwindow(range1frame = new RenderRange1Frame(this, render->range_type == RANGE_1FRAME, x1, y)); + x3 = x1 + range1frame->get_w(); + if( x2 < x3 ) x2 = x3; y += 30; - if( is_image ) enable_render_range(0); + x1 = x2 + 20; + render->beep = mwindow->edl->session->render_beep; + add_subwindow(beep_on_done = new RenderBeepOnDone(this, x1, y1)); + renderprofile = new RenderProfile(mwindow, this, x, y, 1); renderprofile->create_objects(); y += 70; @@ -1303,3 +1318,16 @@ void RenderFormat::update_format() render_window->enable_render_range(1); } +RenderBeepOnDone::RenderBeepOnDone(RenderWindow *rwindow, int x, int y) + : BC_CheckBox(x, y, rwindow->render->beep, _("Beep on done")) +{ + this->rwindow = rwindow; +} + +int RenderBeepOnDone::handle_event() +{ + rwindow->render->beep = get_value(); + return 1; +} + +