X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpackagedispatcher.C;h=dccec03a2896c3f8676a0f66b44f589b285bc090;hp=f6d69734d3738741e51108abbf817f569aea8ed7;hb=9ffdfbe8e6fa7daaad4dcfdd46b6ac7b6e7a47e8;hpb=94fc059e6ed3f77f20531338cbb03bdb3b4d9eab diff --git a/cinelerra-5.1/cinelerra/packagedispatcher.C b/cinelerra-5.1/cinelerra/packagedispatcher.C index f6d69734..dccec03a 100644 --- a/cinelerra-5.1/cinelerra/packagedispatcher.C +++ b/cinelerra-5.1/cinelerra/packagedispatcher.C @@ -25,6 +25,7 @@ #include "edl.h" #include "edlsession.h" #include "labels.h" +#include "mainerror.h" #include "mutex.h" #include "mwindow.h" #include "packagedispatcher.h" @@ -101,7 +102,7 @@ int PackageDispatcher::create_packages(MWindow *mwindow, EDL *edl, strcpy(packages[0]->path, default_asset->path); break; case SINGLE_PASS_FARM: - packaging_engine = File::new_packaging_engine(default_asset); + packaging_engine = (PackagingEngine*)new PackagingEngineDefault(); packaging_engine->create_packages_single_farm(edl, preferences, default_asset, total_start, total_end); break; @@ -110,6 +111,11 @@ int PackageDispatcher::create_packages(MWindow *mwindow, EDL *edl, label = edl->labels->first; total_packages = 0; packages = new RenderPackage*[edl->labels->total() + 2]; + if( !label ) { + eprintf(_("Render file per label and no labels\n")); + result = 1; + break; + } Render::get_starting_number(default_asset->path, current_number, number_start, total_digits, 3); @@ -183,6 +189,7 @@ int PackageDispatcher::create_packages(MWindow *mwindow, EDL *edl, // Only if this isn't a background render or non interactive. if( strategy != BRENDER_FARM && test_overwrite && mwindow ) { ArrayList paths; + paths.set_array_delete(); get_package_paths(&paths); result = ConfirmSave::test_files(mwindow, &paths); paths.remove_all_objects(); @@ -197,8 +204,7 @@ void PackageDispatcher::get_package_paths(ArrayList *path_list) packaging_engine->get_package_paths(path_list); else { for( int i=0; iappend(strdup(packages[i]->path)); - path_list->set_free(); + path_list->append(cstrdup(packages[i]->path)); } } @@ -322,6 +328,11 @@ int64_t PackageDispatcher::get_progress_max() total_allocated * default_asset->sample_rate); } +RenderPackage *PackageDispatcher::get_package(int number) +{ + return packages[number]; +} + int PackageDispatcher::get_total_packages() { return total_allocated;