00001 #ifndef VWINDOW_H 00002 #define VWINDOW_H 00003 00004 #include "asset.inc" 00005 #include "clipedit.inc" 00006 #include "edl.inc" 00007 #include "mwindow.inc" 00008 #include "thread.h" 00009 #include "transportque.inc" 00010 #include "vplayback.inc" 00011 #include "vtracking.inc" 00012 #include "vwindowgui.inc" 00013 00014 class VWindow : public Thread 00015 { 00016 public: 00017 VWindow(MWindow *mwindow); 00018 ~VWindow(); 00019 00020 void load_defaults(); 00021 int create_objects(); 00022 void run(); 00023 // Change source to asset, creating a new EDL 00024 void change_source(Asset *asset); 00025 // Change source to EDL 00026 void change_source(EDL *edl); 00027 // Change source to master EDL's vwindow EDL after a load. 00028 void change_source(); 00029 // Change source to folder and item number 00030 void change_source(char *folder, int item); 00031 // Remove source 00032 void remove_source(); 00033 // Returns private EDL of VWindow 00034 // If an asset is dropped in, a new VWindow EDL is created in the master EDL 00035 // and this points to it. 00036 // If a clip is dropped in, it points to the clip EDL. 00037 EDL* get_edl(); 00038 // Returns last argument of change_source or 0 if it was an EDL 00039 Asset* get_asset(); 00040 void update(int do_timebar); 00041 00042 void update_position(int change_type = CHANGE_NONE, 00043 int use_slider = 1, 00044 int update_slider = 0); 00045 void set_inpoint(); 00046 void set_outpoint(); 00047 void clear_inpoint(); 00048 void clear_outpoint(); 00049 void copy(); 00050 void splice_selection(); 00051 void overwrite_selection(); 00052 void delete_edl(); 00053 void goto_start(); 00054 void goto_end(); 00055 00056 00057 VTracking *playback_cursor; 00058 00059 // Number of source in GUI list 00060 MWindow *mwindow; 00061 VWindow *vwindow; 00062 VWindowGUI *gui; 00063 VPlayback *playback_engine; 00064 ClipEdit *clip_edit; 00065 // Object being played back. 00066 00067 // Pointer to asset for accounting 00068 Asset *asset; 00069 // When not using the VWindow EDL of the master EDL. 00070 int edl_shared; 00071 // Pointer to clip in master EDL. 00072 // EDL *edl; 00073 }; 00074 00075 00076 #endif
1.4.4