projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add timecode units/alignment/probe, add prefs auto_rotate,
[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 57e724aeda3b5ae5f691feb6836c924542ade1ec..323bebf333f4ccf2dc4530355e8353ffeaf0712c 100644
(file)
--- a/
cinelerra-5.1/cinelerra/render.C
+++ b/
cinelerra-5.1/cinelerra/render.C
@@
-338,7
+338,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
+446,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()
@@
-733,8
+734,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
+883,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;
@@
-955,8
+956,9
@@
void RenderThread::run()
render_frames, render_time, render_rate);
}
render_frames, render_time, render_rate);
}
- if( render->mode == Render::INTERACTIVE && render->beep )
- mwindow->beep(3000., 1.5, 0.5);
+ float gain = render->beep;
+ if( render->mode == Render::INTERACTIVE && gain > 0 )
+ mwindow->beep(3000., 1.5, gain);
if( script ) {
if( !render->result )
if( script ) {
if( !render->result )
@@
-1057,6
+1059,8
@@
void RenderWindow::create_objects()
x1 = x2 + xs20;
render->beep = mwindow->edl->session->render_beep;
add_subwindow(beep_on_done = new RenderBeepOnDone(this, x1, y1));
x1 = x2 + xs20;
render->beep = mwindow->edl->session->render_beep;
add_subwindow(beep_on_done = new RenderBeepOnDone(this, x1, y1));
+ y1 += beep_on_done->get_h();
+ add_subwindow(new BC_Title(x1, y1, _("Beep on done volume")));
renderprofile = new RenderProfile(mwindow, this, x, y, 1);
renderprofile->create_objects();
renderprofile = new RenderProfile(mwindow, this, x, y, 1);
renderprofile->create_objects();
@@
-1212,14
+1216,14
@@
int RenderFormat::handle_event()
}
RenderBeepOnDone::RenderBeepOnDone(RenderWindow *rwindow, int x, int y)
}
RenderBeepOnDone::RenderBeepOnDone(RenderWindow *rwindow, int x, int y)
- : BC_
CheckBox(x, y, rwindow->render->beep, _("Beep on done")
)
+ : BC_
FPot(x, y, rwindow->render->beep*100.f, 0.f, 100.f
)
{
this->rwindow = rwindow;
}
int RenderBeepOnDone::handle_event()
{
{
this->rwindow = rwindow;
}
int RenderBeepOnDone::handle_event()
{
- rwindow->render->beep = get_value();
+ rwindow->render->beep = get_value()
/100.f
;
return 1;
}
return 1;
}