Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / batchrender.C
index b83f2d6324ce75b3967c9480b2230d1c98186ce0..c010f18567a36df5a66f98078c489eb59fefda02 100644 (file)
@@ -2,6 +2,7 @@
 /*
  * CINELERRA
  * Copyright (C) 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
@@ -60,6 +61,8 @@
 #include "dvdcreate.h"
 #include "bdcreate.h"
 
+#include <stdlib.h>
+
 int BatchRenderThread::column_widths[] = { 42, 42, 42, 222, 222, 150 };
 const char *BatchRenderThread::column_titles[] = {
        N_("Enabled"), N_("Labeled"), N_("Farmed"), N_("Output"), N_("EDL"), N_("Elapsed")
@@ -540,7 +543,7 @@ void BatchRenderThread::calculate_dest_paths(ArrayList<char*> *paths,
                        PackageDispatcher *packages = new PackageDispatcher;
 
 // Load EDL
-                       TransportCommand *command = new TransportCommand;
+                       TransportCommand *command = new TransportCommand(preferences);
                        FileXML *file = new FileXML;
                        file->read_from_file(job->edl_path);
 
@@ -595,8 +598,10 @@ void BatchRenderThread::start_rendering(char *config_path,
        else {
                BC_Trace::disable_locks();
        }
-
+// In batch mode there is no mwindow, so init_plugins is called with
+// mwindow* = NULL.
        MWindow::init_plugins(0, preferences);
+       MWindow::init_ladspa_plugins(0, preferences);  
        char font_path[BCTEXTLEN];
        strcpy(font_path, preferences->plugin_dir);
        strcat(font_path, "/" FONT_SEARCHPATH);
@@ -741,6 +746,8 @@ BatchRenderGUI::BatchRenderGUI(MWindow *mwindow,
        this->mwindow = mwindow;
        this->thread = thread;
        use_renderfarm = 0;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Batch Rendering");
 }
 
 BatchRenderGUI::~BatchRenderGUI()
@@ -833,8 +840,10 @@ void BatchRenderGUI::create_objects()
        y += batch_list->get_h() + mwindow->theme->widget_border;
 
        add_subwindow(start_button = new BatchRenderStart(thread, x, y));
-       x = get_w() / 2 - BC_GenericButton::calculate_w(this, _("Stop")) / 2;
+       x = get_w() / 3 - BC_GenericButton::calculate_w(this, _("Stop")) / 3;
        add_subwindow(stop_button = new BatchRenderStop(thread, x, y));
+       x = get_w() / 1.5 - BC_GenericButton::calculate_w(this, _("?")) / 1.5;
+       add_subwindow(help_button = new BatchRenderHelp(thread, x, y));
        x = get_w() - BC_GenericButton::calculate_w(this, _("Close")) - xs10;
        add_subwindow(cancel_button = new BatchRenderCancel(thread, x, y));
 
@@ -919,10 +928,12 @@ int BatchRenderGUI::resize_event(int w, int h)
        y += batch_list->get_h() + mwindow->theme->widget_border;
 
        start_button->reposition_window(x, y);
-       x = w / 2 - stop_button->get_w() / 2;
+       x = w / 3 - stop_button->get_w() / 3;
        stop_button->reposition_window(x, y);
        x = w - cancel_button->get_w() - xs10;
        cancel_button->reposition_window(x, y);
+       x = w / 1.5 - help_button->get_w() / 1.5;
+       help_button->reposition_window(x, y);
        return 1;
 }
 
@@ -1157,7 +1168,7 @@ void BatchRenderSaveList::run()
 int BatchRenderSaveList::keypress_event() {
        if( get_keypress() == 's' ||
            get_keypress() == 'S' ) return handle_event();
-       return 0;
+       return context_help_check_and_show();
 }
 
 
@@ -1238,7 +1249,7 @@ void BatchRenderLoadList::run()
 int BatchRenderLoadList::keypress_event() {
        if( get_keypress() == 'o' ||
            get_keypress() == 'O' ) return handle_event();
-       return 0;
+       return context_help_check_and_show();
 }
 
 BatchRenderCurrentEDL::BatchRenderCurrentEDL(BatchRenderThread *thread,
@@ -1427,6 +1438,20 @@ int BatchRenderCancel::keypress_event()
                thread->gui->set_done(1);
                return 1;
        }
+       return context_help_check_and_show();
+}
+
+//new help button
+BatchRenderHelp::BatchRenderHelp(BatchRenderThread *thread, int x, int y)
+ : BC_GenericButton(x, y, _("?"))
+{
+       this->thread = thread;
+       set_tooltip(_("Open quick start guide in default browser"));
+}
+
+int BatchRenderHelp::handle_event()
+{
+       system("xdg-open file://$CIN_DAT/doc/help_br_index.html");
        return 0;
 }