00001 #ifndef EXPORTEDL_H
00002 #define EXPORTEDL_H
00003
00004
00005 #include "asset.inc"
00006 #include "bitspopup.h"
00007 #include "browsebutton.h"
00008 #include "cache.inc"
00009 #include "compresspopup.h"
00010 #include "condition.inc"
00011 #include "edit.inc"
00012 #include "errorbox.inc"
00013 #include "file.inc"
00014 #include "guicast.h"
00015 #include "mutex.inc"
00016 #include "mwindow.inc"
00017
00018 #define EDLTYPE_CMX3600 1
00019
00020 class ExportEDLPathText;
00021 class ExportEDLWindowTrackList;
00022 class ExportEDLWindow;
00023
00024 class ExportEDLAsset
00025 {
00026 public:
00027 ExportEDLAsset(MWindow *mwindow, EDL *edl);
00028 ~ExportEDLAsset();
00029
00030 EDL *edl;
00031
00032 char path[BCTEXTLEN];
00033
00034 int edl_type;
00035
00036
00037 int track_number;
00038
00039
00040 int export_it();
00041 MWindow *mwindow;
00042
00043 int load_defaults();
00044 int save_defaults();
00045 private:
00046 int edit_to_timecodes(Edit *edit, char *sourceinpoint, char *sourceoutpoint, char *destinpoint, char *destoutpoint, char *reel_name);
00047 void double_to_CMX3600(double seconds, double frame_rate, char *str);
00048
00049 };
00050
00051 class ExportEDLItem : public BC_MenuItem
00052 {
00053 public:
00054 ExportEDLItem(MWindow *mwindow);
00055 int handle_event();
00056 MWindow *mwindow;
00057 };
00058
00059
00060
00061 class ExportEDL : public Thread
00062 {
00063 public:
00064 ExportEDL(MWindow *mwindow);
00065 ~ExportEDL();
00066
00067 void start_interactive();
00068 void run();
00069
00070
00071
00072
00073 MWindow *mwindow;
00074
00075
00076
00077
00078 double total_start, total_end;
00079
00080
00081 ExportEDLWindow *exportedl_window;
00082 ExportEDLAsset *exportasset;
00083
00084 };
00085
00086
00087 class ExportEDLWindow : public BC_Window
00088 {
00089 public:
00090 ExportEDLWindow(MWindow *mwindow, ExportEDL *exportedl, ExportEDLAsset *exportasset);
00091 ~ExportEDLWindow();
00092
00093 int create_objects();
00094
00095 ExportEDLAsset *exportasset;
00096
00097 BrowseButton *path_button;
00098 ExportEDLPathText *path_textbox;
00099 BC_RecentList *path_recent;
00100 ExportEDLWindowTrackList *track_list;
00101
00102 ArrayList<BC_ListBoxItem*> items_tracks[2];
00103
00104 MWindow *mwindow;
00105 };
00106
00107
00108
00109
00110
00111 class ExportEDLPathText : public BC_TextBox
00112 {
00113 public:
00114 ExportEDLPathText(int x, int y, ExportEDLWindow *window);
00115 ~ExportEDLPathText();
00116 int handle_event();
00117
00118 ExportEDLWindow *window;
00119 };
00120
00121 class ExportEDLWindowTrackList : public BC_ListBox
00122 {
00123 public:
00124 ExportEDLWindowTrackList(ExportEDLWindow *window,
00125 int x,
00126 int y,
00127 int w,
00128 int h,
00129 ArrayList<BC_ListBoxItem*> *track_list);
00130
00131 int handle_event();
00132 ExportEDLWindow *window;
00133 };
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 #endif