repair default keyframe load, tweak init default histogram threshold
[goodguy/history.git] / cinelerra-5.1 / cinelerra / batchrender.h
index c24eb088c909690ced7df74cb8c1453c883e5898..4a81520babf3ba1180863a4f58671504ac31ae05 100644 (file)
 #include "render.inc"
 #include "timeentry.h"
 
-#define BATCHRENDER_COLUMNS 4
-
-
-
+enum {
+       ENABLED_COL, LABELED_COL, FARMED_COL,
+       OUTPUT_COL, EDL_COL, ELAPSED_COL,
+       BATCHRENDER_COLUMNS
+};
 
 class BatchRenderMenuItem : public BC_MenuItem
 {
@@ -54,19 +55,19 @@ public:
 class BatchRenderJob
 {
 public:
-       BatchRenderJob(Preferences *preferences);
+       BatchRenderJob(Preferences *preferences, int labeled=0, int farmed=-1);
        ~BatchRenderJob();
 
        void copy_from(BatchRenderJob *src);
        void load(FileXML *file);
        void save(FileXML *file);
-       void fix_strategy();
+       int get_strategy();
 
 // Source EDL to render
        char edl_path[BCTEXTLEN];
 // Destination file for output
        Asset *asset;
-       int strategy;
+       int labeled, farmed;
        int enabled;
 // Amount of time elapsed in last render operation
        double elapsed;
@@ -92,11 +93,11 @@ public:
        int test_edl_files();
        void calculate_dest_paths(ArrayList<char*> *paths,
                Preferences *preferences);
-       void reset(int warn=0);
+       void reset(const char *path=0);
 // Load batch rendering jobs
        void load_jobs(char *path, Preferences *preferences);
 // Not applicable to western civilizations
-       void save_jobs(char *path);
+       void save_jobs(char *path=0);
        void load_defaults(BC_Hash *defaults);
        void save_defaults(BC_Hash *defaults);
 // Create path for persistent storage functions
@@ -121,6 +122,7 @@ public:
        static void trap_hook(FILE *fp, void *vp);
 
        MWindow *mwindow;
+       char batch_path[BCTEXTLEN];
        double current_start;
        double current_end;
        BatchRenderJob *default_job;
@@ -129,14 +131,16 @@ public:
        Preferences *preferences;
        Render *render;
        BatchRenderGUI *gui;
-       int column_width[BATCHRENDER_COLUMNS];
+
+       static const char *column_titles[BATCHRENDER_COLUMNS];
+       static int column_widths[BATCHRENDER_COLUMNS];
+       int list_width[BATCHRENDER_COLUMNS];
 // job being edited
        int current_job;
 // job being rendered
        int rendering_job;
        int is_rendering;
        int warn;
-       ArrayList<BC_ListBoxItem*> *file_entries;
 };
 
 
@@ -196,6 +200,7 @@ public:
        BatchRenderThread *thread;
        BC_FileBox *gui;
        void run();
+       void stop();
        virtual int keypress_event();
        Mutex *startup_lock;
 };
@@ -209,6 +214,7 @@ public:
        BatchRenderThread *thread;
        BC_FileBox *gui;
        void run();
+       void stop();
        virtual int keypress_event();
        Mutex *startup_lock;
 };
@@ -274,6 +280,17 @@ public:
        MWindow *mwindow;
 };
 
+class BatchRenderUseFarm : public BC_CheckBox
+{
+public:
+       BatchRenderUseFarm(BatchRenderThread *thread, int x, int y, int *output);
+       int handle_event();
+       void update(int *output);
+
+       BatchRenderThread *thread;
+       int *output;
+};
+
 
 class BatchRenderGUI : public BC_Window
 {
@@ -295,7 +312,9 @@ public:
        void button_enable();
        void button_disable();
 
-       ArrayList<BC_ListBoxItem*> list_columns[BATCHRENDER_COLUMNS];
+       ArrayList<BC_ListBoxItem*> list_items[BATCHRENDER_COLUMNS];
+       const char *list_titles[BATCHRENDER_COLUMNS];
+       int list_width[BATCHRENDER_COLUMNS], list_columns;
 
        MWindow *mwindow;
        BatchRenderThread *thread;
@@ -308,6 +327,7 @@ public:
 //     BC_Title *status_text;
 //     BC_ProgressBar *progress_bar;
        BC_Title *list_title;
+       BC_Title *batch_path;
        BatchRenderNew *new_batch;
        BatchRenderDelete *delete_batch;
        BatchRenderSaveList *savelist_batch;
@@ -319,6 +339,7 @@ public:
        BatchRenderCancel *cancel_button;
        BatchRenderCurrentEDL *use_current_edl;
        BatchRenderUpdateEDL *update_selected_edl;
+       BatchRenderUseFarm *use_renderfarm;
 };