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