X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fbatchrender.h;h=57309895827b3d42faef5d3c3b86d1cdf108a79f;hp=4a81520babf3ba1180863a4f58671504ac31ae05;hb=9b18af02dc4ccbf052ef9d70180a3d16c0f9848b;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/batchrender.h b/cinelerra-5.1/cinelerra/batchrender.h index 4a81520b..57309895 100644 --- a/cinelerra-5.1/cinelerra/batchrender.h +++ b/cinelerra-5.1/cinelerra/batchrender.h @@ -30,6 +30,7 @@ #include "browsebutton.inc" #include "filexml.inc" #include "formattools.h" +#include "indexable.inc" #include "keyframe.inc" #include "mwindow.inc" #include "preferences.inc" @@ -55,14 +56,19 @@ public: class BatchRenderJob { public: - BatchRenderJob(Preferences *preferences, int labeled=0, int farmed=-1); - ~BatchRenderJob(); - + BatchRenderJob(const char *tag, + Preferences *preferences, int labeled, int farmed); + BatchRenderJob(Preferences *preferences, int labeled, int farmed); + BatchRenderJob(const char *tag); + virtual ~BatchRenderJob(); + virtual BatchRenderJob *copy(); + virtual void load(FileXML *file); + virtual void save(FileXML *file); + virtual int get_strategy(); + virtual char *create_script(EDL *edl, ArrayList *idxbls); void copy_from(BatchRenderJob *src); - void load(FileXML *file); - void save(FileXML *file); - int get_strategy(); + const char *tag; // Source EDL to render char edl_path[BCTEXTLEN]; // Destination file for output @@ -75,22 +81,36 @@ public: }; +class BatchRenderWarnJob +{ +public: + BatchRenderWarnJob() { no = 0; path = 0; } + ~BatchRenderWarnJob() { delete [] path; } + int no; + const char *path; +}; - - - - +class BatchRenderWarnJobs : public ArrayList +{ +public: + BatchRenderWarnJobs() {} + ~BatchRenderWarnJobs() {} + void add(int no, const char *path) { + BatchRenderWarnJob &job = append(); + job.no = no; job.path = cstrdup(path); + } +}; class BatchRenderThread : public BC_DialogThread { public: - BatchRenderThread(MWindow *mwindow); - BatchRenderThread(); + BatchRenderThread(MWindow *mwindow=0); ~BatchRenderThread(); void handle_close_event(int result); BC_Window* new_gui(); int test_edl_files(); + int test_errmsg(BatchRenderWarnJobs &err_jobs, const char *msg, int *warn); void calculate_dest_paths(ArrayList *paths, Preferences *preferences); void reset(const char *path=0); @@ -119,6 +139,7 @@ public: void update_active(int number); void update_done(int number, int create_list, double elapsed_time); void move_batch(int src, int dst); + void start(int do_farmed, int do_labeled); static void trap_hook(FILE *fp, void *vp); MWindow *mwindow; @@ -135,6 +156,8 @@ public: static const char *column_titles[BATCHRENDER_COLUMNS]; static int column_widths[BATCHRENDER_COLUMNS]; int list_width[BATCHRENDER_COLUMNS]; + int do_farmed; + int do_labeled; // job being edited int current_job; // job being rendered