fixes and accomodations for other operating systems by Andrew
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / edl.inc
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #ifndef EDL_INC
23 #define EDL_INC
24
25 class EDL;
26
27 // Load flags for undo
28 #define LOAD_ALL        0xffffffff
29 #define LOAD_EDITS      0x00000001
30 #define LOAD_AUTOMATION 0x00000002
31 #define LOAD_PATCHES    0x00000004
32 #define LOAD_CONSOLE    0x00000008
33 #define LOAD_TIMEBAR    0x00000010
34 #define LOAD_ACONFIG    0x00000020
35 #define LOAD_VCONFIG    0x00000040
36 #define LOAD_ASSETS     0x00000080
37 #define LOAD_SESSION    0x00000100
38
39 // Copy flags
40 #define COPY_ALL                0x00000001
41 #define COPY_LENGTH             0x00000002
42 #define COPY_LOCAL_SESSION      0x00000004
43 #define COPY_SESSION            0x00000008
44 #define COPY_VIDEO_CONFIG       0x00000010
45 #define COPY_AUDIO_CONFIG       0x00000020
46 #define COPY_FOLDERS            0x00000040
47 #define COPY_ALL_ASSETS         0x00000080
48 #define COPY_USED_ASSETS        0x00000100
49 #define COPY_NESTED_EDL         0x00000200
50 #define COPY_CLIPS              0x00000400
51 #define COPY_VWINDOWS           0x00000800
52 #define COPY_MIXERS             0x00001000
53 #define COPY_LABELS             0x00002000
54 #define COPY_EDITS              0x00004000
55 #define COPY_AUTOS              0x00008000
56 #define COPY_PLUGINS            0x00010000
57
58 #define COPY_ALWAYS ( \
59  COPY_LOCAL_SESSION | \
60  COPY_SESSION | \
61  COPY_VIDEO_CONFIG | \
62  COPY_AUDIO_CONFIG | \
63  COPY_FOLDERS | \
64  COPY_NESTED_EDL )
65
66 #define COPY_TRACKS ( \
67  COPY_EDITS | \
68  COPY_AUTOS | \
69  COPY_PLUGINS )
70
71 #define COPY_EDL ( \
72  COPY_ALL | \
73  COPY_ALWAYS | \
74  COPY_ALL_ASSETS | \
75  COPY_CLIPS | \
76  COPY_VWINDOWS | \
77  COPY_MIXERS | \
78  COPY_LABELS | \
79  COPY_TRACKS )
80
81 #define COPY_CLIPBOARD ( \
82  COPY_LENGTH | \
83  COPY_ALWAYS | \
84  COPY_USED_ASSETS | \
85  COPY_LABELS | \
86  COPY_TRACKS )
87
88 #define EDITING_MODES 2
89
90 // Editing modes
91 #define EDITING_ARROW 0
92 #define EDITING_IBEAM 1
93
94
95 // default for left button
96 // default for middle button
97 // default for right button
98 #define MOVE_RIPPLE 0
99 #define MOVE_ROLL   1
100 #define MOVE_SLIP   2
101 #define MOVE_SLIDE  3
102 #define MOVE_EDGE   4
103 #define MOVE_EDITS_DISABLED 5
104 #define EDIT_HANDLE_MODES 5
105
106 // AWindow folders
107 #define AW_NO_FOLDER         -1
108 #define AW_AEFFECT_FOLDER     0
109 #define AW_VEFFECT_FOLDER     1
110 #define AW_ATRANSITION_FOLDER 2
111 #define AW_VTRANSITION_FOLDER 3
112 #define AW_LABEL_FOLDER       4
113 #define AW_CLIP_FOLDER        5
114 #define AW_MEDIA_FOLDER       6
115 #define AW_PROXY_FOLDER       7
116 #define AWINDOW_FOLDERS       8
117 #define AWINDOW_USER_FOLDERS  8
118
119
120 #define AWINDOW_MODES 2
121 // Modes for AWindow views
122 #define ASSETS_TEXT 0
123 #define ASSETS_ICONS 1
124 #define ASSETS_ICONS_PACKED 2
125 #define ASSETS_ICON_LIST 3
126 #define FOLDERS_TEXT 0
127 #define FOLDERS_ICONS 1
128 #define ASSET_MAX_WIDTH 32767
129 #define ASSET_MAX_HEIGHT 32767
130
131 #define ASSET_COLUMNS 2
132
133 // Active tool in CWindow corresponds to a member of the CPanel array
134 // and the current drag operation
135
136 #define CPANEL_OPERATIONS 10
137
138
139 #define CWINDOW_NONE -1
140 #define CWINDOW_PROTECT     0
141 #define CWINDOW_ZOOM        1
142 #define CWINDOW_MASK        2
143 #define CWINDOW_RULER       3
144 #define CWINDOW_CAMERA      4
145 #define CWINDOW_PROJECTOR   5
146 #define CWINDOW_CROP        6
147 #define CWINDOW_EYEDROP     7
148 #define CWINDOW_TOOL_WINDOW 8
149 #define CWINDOW_TITLESAFE   9
150
151 // Current dragging operations not available in the CPanel
152 #define CWINDOW_SCROLL 0x10
153 #define CWINDOW_MASK_CONTROL_IN 0x15
154 #define CWINDOW_MASK_CONTROL_OUT 0x16
155 #define CWINDOW_MASK_TRANSLATE 0x17
156 #define CWINDOW_MASK_ROTATE 0x18
157 #define CWINDOW_MASK_SCALE 0x19
158
159 // Inclusive limits for zoom panel
160 #define MIN_ZOOM_TIME 1
161 #define MAX_ZOOM_TIME 0x100000
162 #define DEFAULT_ZOOM_TIME 1024
163 #define DEFAULT_ZOOM_TRACK 64
164 #define MIN_AMP_ZOOM 8
165 #define MAX_AMP_ZOOM 8192
166 #define MIN_TRACK_ZOOM 8
167 #define MAX_TRACK_ZOOM 8192
168
169 #define MAX_PAN 1.0
170 #define PAN_RADIUS 50
171
172 #define COLLECT_EFFECTS_RECORD 1
173 #define COLLECT_EFFECTS_MULTIPLE 2
174 #define COLLECT_EFFECTS_MISSING 3
175 #define COLLECT_EFFECTS_EMPTY 4
176 #define COLLECT_EFFECTS_MASTER 5
177
178 #define INSERT_EFFECTS_RECORD 1
179 #define INSERT_EFFECTS_TYPE 2
180 #define INSERT_EFFECTS_MULTIPLE 3
181 #define INSERT_EFFECTS_MISSING 4
182 #define INSERT_EFFECTS_EXTRA 5
183 #define INSERT_EFFECTS_MASTER 6
184
185 #define PROXY_INACTIVE 0
186 #define PROXY_ACTIVE   1
187 #define PROXY_DISABLED 2
188
189 #endif