Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / render.C
index 741d6ff3747c0ef55dbbe5e5aeddf00584c09fe0..a43449e4b94a43eb99e8541fa148ab1fb232dd42 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * 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
@@ -446,15 +447,16 @@ int Render::check_asset(EDL *edl, Asset &asset)
        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()
 {
-       return get_strategy(preferences->use_renderfarm, use_labels);
+       return get_strategy(preferences->use_renderfarm, use_labels, range_type);
 }
 
 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
-       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;
@@ -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 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;
 
@@ -989,6 +996,8 @@ RenderWindow::RenderWindow(MWindow *mwindow,
        rangeselection = 0;
        rangeinout = 0;
        range1frame = 0;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Single File Rendering");
 }
 
 RenderWindow::~RenderWindow()