r1006: configure: Use libx264_pic instead of libx264 if available.
[cinelerra_cv/mob.git] / cinelerra / exportedl.h
blob50f3a22b64f5da45a2238523e2e83622b75fb287
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 "edit.inc"
12 #include "errorbox.inc"
13 #include "file.inc"
14 #include "guicast.h"
15 #include "mutex.inc"
16 #include "mwindow.inc"
18 #define EDLTYPE_CMX3600 1
20 class ExportEDLPathText;
21 class ExportEDLWindowTrackList;
22 class ExportEDLWindow;
24 class ExportEDLAsset
26 public:
27 ExportEDLAsset(MWindow *mwindow, EDL *edl);
28 ~ExportEDLAsset();
29 // EDL being exported
30 EDL *edl;
31 // path to file
32 char path[BCTEXTLEN];
33 // type of EDL
34 int edl_type;
36 // We are currently exporting a track at once
37 int track_number;
40 int export_it();
41 MWindow *mwindow;
43 int load_defaults();
44 int save_defaults();
45 private:
46 int edit_to_timecodes(Edit *edit, char *sourceinpoint, char *sourceoutpoint, char *destinpoint, char *destoutpoint, char *reel_name);
47 void double_to_CMX3600(double seconds, double frame_rate, char *str);
51 class ExportEDLItem : public BC_MenuItem
53 public:
54 ExportEDLItem(MWindow *mwindow);
55 int handle_event();
56 MWindow *mwindow;
61 class ExportEDL : public Thread
63 public:
64 ExportEDL(MWindow *mwindow);
65 ~ExportEDL();
67 void start_interactive();
68 void run();
71 // Force filename to have a 0 padded number if rendering to a list.
73 MWindow *mwindow;
74 // Mutex *package_lock, *counter_lock;
75 // Copy of mwindow preferences
76 // Preferences *preferences;
77 // Total selection to render in seconds
78 double total_start, total_end;
80 // Current open RenderWindow
81 ExportEDLWindow *exportedl_window;
82 ExportEDLAsset *exportasset;
87 class ExportEDLWindow : public BC_Window
89 public:
90 ExportEDLWindow(MWindow *mwindow, ExportEDL *exportedl, ExportEDLAsset *exportasset);
91 ~ExportEDLWindow();
93 int create_objects();
95 ExportEDLAsset *exportasset;
97 BrowseButton *path_button;
98 ExportEDLPathText *path_textbox;
99 BC_RecentList *path_recent;
100 ExportEDLWindowTrackList *track_list;
102 ArrayList<BC_ListBoxItem*> items_tracks[2];
104 MWindow *mwindow;
111 class ExportEDLPathText : public BC_TextBox
113 public:
114 ExportEDLPathText(int x, int y, ExportEDLWindow *window);
115 ~ExportEDLPathText();
116 int handle_event();
118 ExportEDLWindow *window;
121 class ExportEDLWindowTrackList : public BC_ListBox
123 public:
124 ExportEDLWindowTrackList(ExportEDLWindow *window,
125 int x,
126 int y,
127 int w,
128 int h,
129 ArrayList<BC_ListBoxItem*> *track_list);
131 int handle_event();
132 ExportEDLWindow *window;
143 #endif