r802: Remove renderframfsclient and renderfarmfsserver .h and .C from Makefile.am...
[cinelerra_cv/mob.git] / cinelerra / exportedl.h
blobdf00d8e182dfc78da322dc8a2132688f3bc78c13
1 #ifndef EXPORTEDL_H
2 #define EXPORTEDL_H
5 #include "asset.inc"
6 #include "bitspopup.h"
7 #include "browsebutton.h"
8 #include "cache.inc"
9 #include "compresspopup.h"
10 #include "condition.inc"
11 #include "defaults.inc"
12 #include "edit.inc"
13 #include "errorbox.inc"
14 #include "file.inc"
15 #include "guicast.h"
16 #include "mutex.inc"
17 #include "mwindow.inc"
19 #define EDLTYPE_CMX3600 1
21 class ExportEDLPathText;
22 class ExportEDLWindowTrackList;
23 class ExportEDLWindow;
25 class ExportEDLAsset
27 public:
28 ExportEDLAsset(MWindow *mwindow, EDL *edl);
29 ~ExportEDLAsset();
30 // EDL being exported
31 EDL *edl;
32 // path to file
33 char path[BCTEXTLEN];
34 // type of EDL
35 int edl_type;
37 // We are currently exporting a track at once
38 int track_number;
41 int export_it();
42 MWindow *mwindow;
44 int load_defaults();
45 int save_defaults();
46 private:
47 int edit_to_timecodes(Edit *edit, char *sourceinpoint, char *sourceoutpoint, char *destinpoint, char *destoutpoint, char *reel_name);
48 void double_to_CMX3600(double seconds, double frame_rate, char *str);
52 class ExportEDLItem : public BC_MenuItem
54 public:
55 ExportEDLItem(MWindow *mwindow);
56 int handle_event();
57 MWindow *mwindow;
62 class ExportEDL : public Thread
64 public:
65 ExportEDL(MWindow *mwindow);
66 ~ExportEDL();
68 void start_interactive();
69 void run();
72 // Force filename to have a 0 padded number if rendering to a list.
74 MWindow *mwindow;
75 // Mutex *package_lock, *counter_lock;
76 // Copy of mwindow preferences
77 // Preferences *preferences;
78 // Total selection to render in seconds
79 double total_start, total_end;
81 // Current open RenderWindow
82 ExportEDLWindow *exportedl_window;
83 ExportEDLAsset *exportasset;
88 class ExportEDLWindow : public BC_Window
90 public:
91 ExportEDLWindow(MWindow *mwindow, ExportEDL *exportedl, ExportEDLAsset *exportasset);
92 ~ExportEDLWindow();
94 int create_objects();
96 ExportEDLAsset *exportasset;
98 BrowseButton *path_button;
99 ExportEDLPathText *path_textbox;
100 BC_RecentList *path_recent;
101 ExportEDLWindowTrackList *track_list;
103 ArrayList<BC_ListBoxItem*> items_tracks[2];
105 MWindow *mwindow;
112 class ExportEDLPathText : public BC_TextBox
114 public:
115 ExportEDLPathText(int x, int y, ExportEDLWindow *window);
116 ~ExportEDLPathText();
117 int handle_event();
119 ExportEDLWindow *window;
122 class ExportEDLWindowTrackList : public BC_ListBox
124 public:
125 ExportEDLWindowTrackList(ExportEDLWindow *window,
126 int x,
127 int y,
128 int w,
129 int h,
130 ArrayList<BC_ListBoxItem*> *track_list);
132 int handle_event();
133 ExportEDLWindow *window;
144 #endif