X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fconvert.C;h=a73d5148c376a4c9f09f4b7de94ff70cee68ac7d;hb=29309c7fc45fb1e9dcfea55bf77b3ed6e0e9350f;hp=c6ecb0438ad271d89869f82a0357d75a3499164b;hpb=caf23b6b8e0024c33390ddaa165e11956e66f1c2;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/convert.C b/cinelerra-5.1/cinelerra/convert.C index c6ecb043..a73d5148 100644 --- a/cinelerra-5.1/cinelerra/convert.C +++ b/cinelerra-5.1/cinelerra/convert.C @@ -71,10 +71,19 @@ ConvertRender::ConvertRender(MWindow *mwindow) result = 0; beep = 0; to_proxy = 0; + renderer = 0; } ConvertRender::~ConvertRender() { + if( running() ) { + canceled = 1; + if( renderer ) + renderer->set_result(1); + cancel(); + join(); + } + delete renderer; delete [] suffix; delete progress; delete counter_lock; @@ -515,19 +524,20 @@ void ConvertRender::create_copy(int i) Asset *needed_copy = needed_copies[i]; EDL *edl = convert_edl(mwindow->edl, orig_idxbl); double length = get_length(orig_idxbl); - ConvertPackageRenderer renderer(this); - renderer.initialize(mwindow, edl, mwindow->preferences, needed_copy); + renderer = new ConvertPackageRenderer(this); + renderer->initialize(mwindow, edl, mwindow->preferences, needed_copy); PackageDispatcher dispatcher; dispatcher.create_packages(mwindow, edl, mwindow->preferences, SINGLE_PASS, needed_copy, 0, length, 0); RenderPackage *package = dispatcher.get_package(0); - if( !renderer.render_package(package) ) { + if( !renderer->render_package(package) ) { Asset *asset = mwindow->edl->assets->update(needed_copy); mwindow->mainindexes->add_indexable(asset); mwindow->mainindexes->start_build(); } else failed = 1; + delete renderer; renderer = 0; edl->remove_user(); } @@ -538,6 +548,8 @@ ConvertWindow::ConvertWindow(MWindow *mwindow, ConvertDialog *dialog, int x, int this->mwindow = mwindow; this->dialog = dialog; format_tools = 0; +// *** CONTEXT_HELP *** + context_help_set_keyword("Transcode"); } ConvertWindow::~ConvertWindow()