r870: Merge 2.1:
[cinelerra_cv.git] / cinelerra / vwindow.h
blob87cc10e1119794fb3b9efb8f8c15b3f5e76ee27b
1 #ifndef VWINDOW_H
2 #define VWINDOW_H
4 #include "asset.inc"
5 #include "clipedit.inc"
6 #include "edl.inc"
7 #include "mwindow.inc"
8 #include "thread.h"
9 #include "transportque.inc"
10 #include "vplayback.inc"
11 #include "vtracking.inc"
12 #include "vwindowgui.inc"
14 class VWindow : public Thread
16 public:
17 VWindow(MWindow *mwindow);
18 ~VWindow();
20 void load_defaults();
21 int create_objects();
22 void run();
23 // Change source to asset, creating a new EDL
24 void change_source(Asset *asset);
25 // Change source to EDL
26 void change_source(EDL *edl);
27 // Change source to master EDL's vwindow EDL after a load.
28 void change_source();
29 // Change source to folder and item number
30 void change_source(char *folder, int item);
31 // Remove source
32 void remove_source();
33 // Returns private EDL of VWindow
34 // If an asset is dropped in, a new VWindow EDL is created in the master EDL
35 // and this points to it.
36 // If a clip is dropped in, it points to the clip EDL.
37 EDL* get_edl();
38 // Returns last argument of change_source or 0 if it was an EDL
39 Asset* get_asset();
40 void update(int do_timebar);
42 void update_position(int change_type = CHANGE_NONE,
43 int use_slider = 1,
44 int update_slider = 0);
45 void set_inpoint();
46 void set_outpoint();
47 void clear_inpoint();
48 void clear_outpoint();
49 void copy();
50 void splice_selection();
51 void overwrite_selection();
52 void delete_edl();
53 void goto_start();
54 void goto_end();
57 VTracking *playback_cursor;
59 // Number of source in GUI list
60 MWindow *mwindow;
61 VWindow *vwindow;
62 VWindowGUI *gui;
63 VPlayback *playback_engine;
64 ClipEdit *clip_edit;
65 // Object being played back.
67 // Pointer to asset for accounting
68 Asset *asset;
72 #endif