1 /*
2  * Copyright (C) 2019-2021 Alexandros Theodotou <alex at zrythm dot org>
3  *
4  * This file is part of Zrythm
5  *
6  * Zrythm is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Zrythm 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 Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with Zrythm.  If not, see <https://www.gnu.org/licenses/>.
18  */
19 
20 /**
21  * \file
22  *
23  * Flags.
24  *
25  * Z_F = Zrythm Flag.
26  */
27 
28 #ifndef __UTILS_FLAGS_H__
29 #define __UTILS_FLAGS_H__
30 
31 /**
32  * Used to select something instead of using 1s and
33  * 0s. */
34 #define F_SELECT 1
35 #define F_NO_SELECT 0
36 
37 #define F_TRANSIENTS 1
38 #define F_NO_TRANSIENTS 0
39 
40 #define F_VISIBLE 1
41 #define F_NOT_VISIBLE 0
42 
43 #define F_APPEND 1
44 #define F_NO_APPEND 0
45 
46 #define F_FREE 1
47 #define F_NO_FREE 0
48 
49 #define F_DELETE 1
50 #define F_NO_DELETE 0
51 
52 #define F_PUBLISH_EVENTS 1
53 #define F_NO_PUBLISH_EVENTS 0
54 
55 #define F_RECALC_GRAPH 1
56 #define F_NO_RECALC_GRAPH 0
57 
58 #define F_CONFIRM 1
59 #define F_NO_CONFIRM 0
60 
61 #define F_GEN_AUTOMATABLES 1
62 #define F_NO_GEN_AUTOMATABLES 0
63 
64 #define F_REMOVE_PL 1
65 #define F_NO_REMOVE_PL 0
66 
67 #define F_GEN_NAME 1
68 #define F_NO_GEN_NAME 0
69 
70 #define F_CACHED 1
71 #define F_NO_CACHED 0
72 
73 #define F_COPY_MOVING 1
74 #define F_NOT_COPY_MOVING 0
75 
76 #define F_VALIDATE 1
77 #define F_NO_VALIDATE 0
78 
79 #define F_GEN_WIDGET 1
80 #define F_NO_GEN_WIDGET 0
81 
82 #define F_GEN_CURVE_POINTS 1
83 #define F_NO_GEN_CURVE_POINTS 0
84 
85 #define F_MAIN 1
86 #define F_NOT_MAIN 0
87 
88 #define F_PADDING 1
89 #define F_NO_PADDING 0
90 
91 #define F_LOOP 1
92 #define F_NO_LOOP 0
93 
94 #define F_WITH_LANE 1
95 #define F_WITHOUT_LANE 0
96 
97 #define F_CONNECT 1
98 #define F_NO_CONNECT 0
99 
100 #define F_DISCONNECT 1
101 #define F_NO_DISCONNECT 0
102 
103 #define F_GLOBAL 1
104 #define F_NOT_GLOBAL 0
105 
106 #define F_RESIZE 1
107 #define F_NO_RESIZE 0
108 
109 #define F_SHRINK 1
110 #define F_NO_SHRINK 0
111 
112 #define F_ALREADY_MOVED 1
113 #define F_NOT_ALREADY_MOVED 0
114 
115 #define F_ALREADY_EDITED 1
116 #define F_NOT_ALREADY_EDITED 0
117 
118 #define F_INCLUDE_PLUGINS 1
119 #define F_NO_INCLUDE_PLUGINS 0
120 
121 #define F_ASYNC 1
122 #define F_NO_ASYNC 0
123 
124 #define F_PANIC 1
125 #define F_NO_PANIC 0
126 
127 #define F_SET_CUE_POINT 1
128 #define F_NO_SET_CUE_POINT 0
129 
130 #define F_CLONE 1
131 #define F_NO_CLONE 0
132 
133 #define F_IS_AFTER 1
134 #define F_NOT_IS_AFTER 0
135 
136 #define F_RECURSIVE 1
137 #define F_NO_RECURSIVE 0
138 
139 #define F_HAS_PADDING 1
140 #define F_NO_HAS_PADDING 0
141 
142 #define F_NORMALIZED 1
143 #define F_NOT_NORMALIZED 0
144 
145 #define F_USE_COLOR 1
146 #define F_NO_USE_COLOR 0
147 
148 #define F_EXCLUSIVE 1
149 #define F_NOT_EXCLUSIVE 0
150 
151 #define F_BACKUP 1
152 #define F_NOT_BACKUP 0
153 
154 #define F_ACTIVATE 1
155 #define F_NO_ACTIVATE 0
156 
157 #define F_TRIGGER_UNDO 1
158 #define F_NO_TRIGGER_UNDO 0
159 
160 #define F_SOFT 1
161 #define F_NOT_SOFT 0
162 
163 #define F_EXPAND 1
164 #define F_NO_EXPAND 0
165 
166 #define F_FILL 1
167 #define F_NO_FILL 0
168 
169 #define F_QUEUED 1
170 #define F_NOT_QUEUED 0
171 
172 #define F_IN_RANGE 1
173 #define F_NOT_IN_RANGE 0
174 
175 #define F_EXPOSE 1
176 #define F_NOT_EXPOSE 0
177 
178 #define F_DELETING_PLUGIN 1
179 #define F_NOT_DELETING_PLUGIN 0
180 
181 #define F_DELETING_CHANNEL 1
182 #define F_NOT_DELETING_CHANNEL 0
183 
184 #define F_DELETING_TRACK 1
185 #define F_NOT_DELETING_TRACK 0
186 
187 #define F_REPLACING 1
188 #define F_NOT_REPLACING 0
189 
190 #define F_PROJECT 1
191 #define F_NOT_PROJECT 0
192 
193 #define F_UNDOABLE 1
194 #define F_NOT_UNDOABLE 0
195 
196 #define F_DRY_RUN 1
197 #define F_NOT_DRY_RUN 0
198 
199 #define F_SERIALIZE 1
200 #define F_NO_SERIALIZE 0
201 
202 #define F_CHECK_VALID 1
203 #define F_NO_CHECK_VALID 0
204 
205 #define F_CHECK_BLACKLISTED 1
206 #define F_NO_CHECK_BLACKLISTED 0
207 
208 #define F_PUSH_DOWN 1
209 #define F_NO_PUSH_DOWN 0
210 
211 #define F_MULTI_SELECT 1
212 #define F_NO_MULTI_SELECT 0
213 
214 #define F_DND 1
215 #define F_NO_DND 0
216 
217 #define F_MUTE 1
218 #define F_NO_MUTE 0
219 
220 #define F_SOLO 1
221 #define F_NO_SOLO 0
222 
223 #define F_LISTEN 1
224 #define F_NO_LISTEN 0
225 
226 #define F_SHOW_PROGRESS 1
227 #define F_NO_SHOW_PROGRESS 0
228 
229 #define F_PARTS 1
230 #define F_NO_PARTS 0
231 
232 #define F_IGNORE_FROZEN 1
233 #define F_NO_IGNORE_FROZEN 0
234 
235 #define F_DUPLICATE_CLIP 1
236 #define F_NO_DUPLICATE_CLIP 0
237 
238 #define F_WRITE_FILE 1
239 #define F_NO_WRITE_FILE 0
240 
241 #define F_OPTIMIZED 1
242 #define F_NOT_OPTIMIZED 0
243 
244 #define F_ASCENDING 1
245 #define F_NOT_ASCENDING 0
246 
247 #define F_DESCENDING 1
248 #define F_NOT_DESCENDING 0
249 
250 #define F_MOVING_PLUGIN 1
251 #define F_NOT_MOVING_PLUGIN 0
252 
253 #define F_CANCELABLE 1
254 #define F_NOT_CANCELABLE 0
255 
256 #define F_INCLUSIVE 1
257 #define F_NOT_INCLUSIVE 0
258 
259 #define F_NORMALIZE 1
260 #define F_NO_NORMALIZE 0
261 
262 #define F_DYNAMIC 1
263 #define F_NOT_DYNAMIC 0
264 
265 #define F_EXPAND 1
266 #define F_NO_EXPAND 0
267 
268 #define F_FILL 1
269 #define F_NO_FILL 0
270 
271 #define F_UPDATE_AUTOMATION_TRACK 1
272 #define F_NO_UPDATE_AUTOMATION_TRACK 0
273 
274 #define F_FORCE 1
275 #define F_NO_FORCE 0
276 
277 #define F_FOLLOW_SYMLINKS 1
278 #define F_NO_FOLLOW_SYMLINKS 0
279 
280 #define F_BOUNCE 1
281 #define F_NO_BOUNCE 0
282 
283 #define F_MARK_REGIONS 1
284 #define F_NO_MARK_REGIONS 0
285 
286 #define F_MARK_CHILDREN 1
287 #define F_NO_MARK_CHILDREN 0
288 
289 #define F_MARK_PARENTS 1
290 #define F_NO_MARK_PARENTS 0
291 
292 #define F_MARK_MASTER 1
293 #define F_NO_MARK_MASTER 0
294 
295 #define F_LOCKED 1
296 #define F_NOT_LOCKED 0
297 
298 #define F_AUTO_SELECT 1
299 #define F_NO_AUTO_SELECT 0
300 
301 #define F_TOGGLE 1
302 #define F_NO_TOGGLE 0
303 
304 #define F_INPUT 1
305 #define F_NOT_INPUT 0
306 
307 #define F_MIDI 1
308 #define F_NOT_MIDI 0
309 
310 #define F_ZERO_TERMINATED 1
311 #define F_NOT_ZERO_TERMINATED 0
312 
313 #define F_CLEAR 1
314 #define F_NO_CLEAR 0
315 
316 #define F_ENABLED 1
317 #define F_NOT_ENABLED 0
318 
319 #define F_ENABLE 1
320 #define F_NO_ENABLE 0
321 
322 #define F_AUTO_CLOSE 1
323 #define F_NO_AUTO_CLOSE 0
324 
325 #define F_CANCELABLE 1
326 #define F_NOT_CANCELABLE 0
327 
328 #define F_AUDITIONER 1
329 #define F_NOT_AUDITIONER 0
330 
331 #define ZRYTHM_F_NOTIFY 1
332 #define ZRYTHM_F_NO_NOTIFY 0
333 
334 #define Z_F_COPY 1
335 #define Z_F_NO_COPY 0
336 
337 #define Z_F_PIN 1
338 #define Z_F_NO_PIN 0
339 
340 #define Z_F_INSTANTIATE 1
341 #define Z_F_NO_INSTANTIATE 0
342 
343 #define Z_F_AUTOMATING 1
344 #define Z_F_NOT_AUTOMATING 0
345 
346 #define Z_F_TEMPORARY 1
347 #define Z_F_NOT_TEMPORARY 0
348 
349 #define Z_F_DROP_UNNECESSARY 1
350 #define Z_F_NO_DROP_UNNECESSARY 0
351 
352 #define Z_F_RECHAIN 1
353 #define Z_F_NO_RECHAIN 0
354 
355 #endif
356