#include "edl.h"
#include "edlsession.h"
#include "labels.h"
+#include "mainerror.h"
#include "mutex.h"
#include "mwindow.h"
#include "packagedispatcher.h"
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;
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);
// Only if this isn't a background render or non interactive.
if( strategy != BRENDER_FARM && test_overwrite && mwindow ) {
ArrayList<char*> paths;
+ paths.set_array_delete();
get_package_paths(&paths);
result = ConfirmSave::test_files(mwindow, &paths);
paths.remove_all_objects();
packaging_engine->get_package_paths(path_list);
else {
for( int i=0; i<total_allocated; ++i )
- path_list->append(strdup(packages[i]->path));
- path_list->set_free();
+ path_list->append(cstrdup(packages[i]->path));
}
}
result->video_start = video_position;
result->audio_end = result->audio_start +
Units::to_int64(scaled_len * default_asset->sample_rate);
+ if( result->audio_end > audio_end ) result->audio_end = audio_end;
result->video_end = result->video_start +
Units::to_int64(scaled_len * default_asset->frame_rate);
- if(result->video_end == result->video_start) result->video_end++;
+ if( result->video_end > video_end ) result->video_end = video_end;
+ if( result->video_end == result->video_start ) result->video_end++;
audio_position = result->audio_end;
video_position = result->video_end;
result->audio_do = default_asset->audio_data;
total_allocated * default_asset->sample_rate);
}
+RenderPackage *PackageDispatcher::get_package(int number)
+{
+ return packages[number];
+}
+
int PackageDispatcher::get_total_packages()
{
return total_allocated;