projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Credit Andrew - add Details of color transfers/primaries, + update x264 from r3106...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
render.C
diff --git
a/cinelerra-5.1/cinelerra/render.C
b/cinelerra-5.1/cinelerra/render.C
index d6de73782ce6077da4f0c2f4605d2204eb34dcd3..a43449e4b94a43eb99e8541fa148ab1fb232dd42 100644
(file)
--- a/
cinelerra-5.1/cinelerra/render.C
+++ b/
cinelerra-5.1/cinelerra/render.C
@@
-1,6
+1,7
@@
/*
* CINELERRA
* Copyright (C) 1997-2011 Adam Williams <broadcast at earthling dot net>
/*
* CINELERRA
* Copyright (C) 1997-2011 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-338,7
+339,7
@@
void Render::handle_close_event(int result)
}
EDL *edl = mwindow->edl;
if( !result && use_labels && !edl->labels->first ) {
}
EDL *edl = mwindow->edl;
if( !result && use_labels && !edl->labels->first ) {
- eprintf(_("
render file per label and
no labels\n"));
+ eprintf(_("
Create new file at labels checked, but
no labels\n"));
result = 1;
}
if( !result && asset->video_data ) {
result = 1;
}
if( !result && asset->video_data ) {
@@
-446,15
+447,16
@@
int Render::check_asset(EDL *edl, Asset &asset)
return 0;
}
return 0;
}
-int Render::get_strategy(int use_renderfarm, int use_labels)
+int Render::get_strategy(int use_renderfarm, int use_labels
, int range_type
)
{
{
- return use_renderfarm ?
- (use_labels ? FILE_PER_LABEL_FARM : SINGLE_PASS_FARM) :
- (use_labels ? FILE_PER_LABEL : SINGLE_PASS ) ;
+ return range_type == RANGE_1FRAME ? SINGLE_PASS :
+ use_renderfarm ?
+ (use_labels ? FILE_PER_LABEL_FARM : SINGLE_PASS_FARM) :
+ (use_labels ? FILE_PER_LABEL : SINGLE_PASS ) ;
}
int Render::get_strategy()
{
}
int Render::get_strategy()
{
- return get_strategy(preferences->use_renderfarm, use_labels);
+ return get_strategy(preferences->use_renderfarm, use_labels
, range_type
);
}
void Render::start_progress()
}
void Render::start_progress()
@@
-683,7
+685,7
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
render->result = 0;
// Create rendering command
render->result = 0;
// Create rendering command
- TransportCommand *command = new TransportCommand;
+ TransportCommand *command = new TransportCommand
(render->preferences)
;
command->command = NORMAL_FWD;
command->get_edl()->copy_all(edl);
command->change_type = CHANGE_ALL;
command->command = NORMAL_FWD;
command->get_edl()->copy_all(edl);
command->change_type = CHANGE_ALL;
@@
-725,6
+727,11
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
if( !render->result ) {
// Get total range to render
render->total_start = command->start_position;
if( !render->result ) {
// Get total range to render
render->total_start = command->start_position;
+#if 0
+ render->default_asset->timecode = command->start_position;
+ printf("tc: %f \n", render->default_asset->timecode);
+ render->default_asset->timecode += edl->session->timecode_offset;
+#endif
render->total_end = command->end_position;
total_length = render->total_end - render->total_start;
render->total_end = command->end_position;
total_length = render->total_end - render->total_start;
@@
-733,8
+740,8
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
render->result = 1;
}
}
render->result = 1;
}
}
-
- render_frames = render->default_asset->frame_rate * total_length;
+// prevent single frame truncation to zero frames
+ render_frames = render->default_asset->frame_rate * total_length
+ 1e-4
;
// Generate packages
if( !render->result ) {
// Generate packages
if( !render->result ) {
@@
-882,8
+889,8
@@
printf("Render::render_single: Session finished.\n");
mwindow->restart_brender();
if( farm_server ) delete farm_server;
delete command;
mwindow->restart_brender();
if( farm_server ) delete farm_server;
delete command;
-
delete audio_cache
;
-
delete video_cache
;
+
audio_cache->remove_user()
;
+
video_cache->remove_user()
;
// Must delete packages after server
delete render->packages;
// Must delete packages after server
delete render->packages;
@@
-989,6
+996,8
@@
RenderWindow::RenderWindow(MWindow *mwindow,
rangeselection = 0;
rangeinout = 0;
range1frame = 0;
rangeselection = 0;
rangeinout = 0;
range1frame = 0;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Single File Rendering");
}
RenderWindow::~RenderWindow()
}
RenderWindow::~RenderWindow()