Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
event.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9#ifndef __GUI_BACKEND_EVENT_H__
10#define __GUI_BACKEND_EVENT_H__
11
18typedef enum EventType
19{
20 /* arranger objects */
21 ET_ARRANGER_OBJECT_CREATED,
22 ET_ARRANGER_OBJECT_REMOVED,
23 ET_ARRANGER_OBJECT_CHANGED,
24
25 /* arranger_selections */
26 ET_ARRANGER_SELECTIONS_CREATED,
27 ET_ARRANGER_SELECTIONS_CHANGED,
28 ET_ARRANGER_SELECTIONS_REMOVED,
29 ET_ARRANGER_SELECTIONS_MOVED,
30 ET_ARRANGER_SELECTIONS_QUANTIZED,
31
34
38
43 ET_AUTOMATION_TRACK_ADDED,
44 ET_AUTOMATION_TRACK_REMOVED,
45 ET_TIME_SIGNATURE_CHANGED,
46 ET_TRACK_ADDED,
47 ET_TRACK_CHANGED,
48 ET_TRACK_COLOR_CHANGED,
49 ET_TRACK_NAME_CHANGED,
50 ET_CHANNEL_SEND_CHANGED,
51
52 ET_RULER_DISPLAY_TYPE_CHANGED,
53
54 ET_TRANSPORT_TOTAL_BARS_CHANGED,
55
56 ET_TRACK_AUTOMATION_VISIBILITY_CHANGED,
57 ET_AUTOMATION_TRACK_CHANGED,
58
66
72
73 ET_UNDO_REDO_ACTION_DONE,
74 ET_RANGE_SELECTION_CHANGED,
75 ET_TIMELINE_LOOP_MARKER_POS_CHANGED,
76 ET_TIMELINE_PUNCH_MARKER_POS_CHANGED,
77 ET_TIMELINE_SONG_MARKER_POS_CHANGED,
78 ET_RULER_SIZE_CHANGED,
79
80 ET_LOOP_TOGGLED,
81
84
91
92 ET_PLUGIN_ADDED,
93 ET_PLUGINS_ADDED,
94 ET_PLUGINS_REMOVED,
95 ET_PLUGIN_DELETED,
96 ET_PLUGIN_CRASHED,
97 ET_PLAYHEAD_POS_CHANGED,
98 ET_PLAYHEAD_POS_CHANGED_MANUALLY,
99 ET_AUTOMATION_VALUE_CHANGED,
100
101 ET_TRACKLIST_SELECTIONS_CHANGED,
102
106
109
112
113 ET_TRACKS_ADDED,
114 ET_TRACKS_REMOVED,
115 ET_TRACKS_MOVED,
116 ET_CHANNEL_REMOVED,
117 ET_REFRESH_ARRANGER,
118 ET_MIXER_SELECTIONS_CHANGED,
119 ET_CHANNEL_OUTPUT_CHANGED,
120 ET_CHANNEL_SLOTS_CHANGED,
121
122 ET_MODULATOR_ADDED,
123 ET_RT_SELECTIONS_CHANGED,
124 ET_PINNED_TRACKLIST_SIZE_CHANGED,
125
132
139
146
153
154 ET_PIANO_ROLL_HIGHLIGHTING_CHANGED,
155 ET_PIANO_ROLL_MIDI_MODIFIER_CHANGED,
156 ET_AUTOMATION_TRACKLIST_AT_REMOVED,
157 ET_ARRANGER_SELECTIONS_IN_TRANSIT,
158 ET_JACK_TRANSPORT_TYPE_CHANGED,
159 ET_TRACK_VISIBILITY_CHANGED,
160 ET_SELECTING_IN_ARRANGER,
161 ET_TRACKS_RESIZED,
162 ET_CLIP_EDITOR_FIRST_TIME_REGION_SELECTED,
163 ET_BPM_CHANGED,
164 ET_CHANNEL_FADER_VAL_CHANGED,
165
166 ET_CHORD_KEY_CHANGED,
167
174
181
188
195
202
209
216
223
233
236
239
242
246
249
250 ET_ENGINE_ACTIVATE_CHANGED,
251 ET_ENGINE_BUFFER_SIZE_CHANGED,
252 ET_ENGINE_SAMPLE_RATE_CHANGED,
253 ET_MIDI_BINDINGS_CHANGED,
254 ET_PORT_CONNECTION_CHANGED,
255 ET_EDITOR_FUNCTION_APPLIED,
256
257 ET_SPLASH_CLOSED,
258
259 ET_AUTOMATION_VALUE_VISIBILITY_CHANGED,
260 ET_PROJECT_SELECTION_TYPE_CHANGED,
261
264
265 ET_PLUGIN_COLLECTIONS_CHANGED,
266
267 ET_SNAP_GRID_OPTIONS_CHANGED,
268
269 ET_TRANSPORT_RECORDING_ON_OFF_CHANGED,
270
277
284
292
300
308
316
323
327
332
339
346
353
360
368
376
384
391
398
405
412 ET_AUDIO_REGION_FADE_OUT_CHANGED,
413
420
427
434
441
449} EventType;
450
454typedef struct ZEvent
455{
458
460 void * arg;
461
463 const char * file;
464
466 const char * func;
467
470
472 char * backtrace;
473} ZEvent;
474
475ZEvent *
476event_new (void);
477
478void
479event_free (ZEvent * self);
480
485#endif
EventType
Definition event.h:19
@ ET_TRANSPORT_MOVE_BACKWARD_REQUIRED
Transport move backward is required on the GTK thread.
Definition event.h:291
@ ET_CHORD_PRESET_PACK_REMOVED
Chord preset pack removed.
Definition event.h:208
@ ET_CHORD_PRESET_REMOVED
Chord preset removed.
Definition event.h:187
@ ET_PIANO_ROLL_KEY_ON_OFF
Piano roll key pressed or unpressed.
Definition event.h:397
@ ET_CLIP_EDITOR_REGION_CHANGED
ZRegion (clip) to show in the piano roll changed.
Definition event.h:65
@ ET_CHORD_PRESET_PACK_EDITED
Chord preset pack edited.
Definition event.h:201
@ ET_TRACK_LANE_ADDED
Track lane added.
Definition event.h:145
@ ET_MAIN_WINDOW_LOADED
Sent after the main window finishes loading.
Definition event.h:235
@ ET_TRANSPORT_MOVE_FORWARD_REQUIRED
Transport move forward is required on the GTK thread.
Definition event.h:299
@ ET_CHORDS_UPDATED
Chords updated in chord editor.
Definition event.h:215
@ ET_AUDIO_REGION_FADE_IN_CHANGED
Audio region fade in/out changed.
Definition event.h:411
@ ET_ARRANGER_SELECTIONS_CHANGED_REDRAW_EVERYTHING
Redraws all arrangers.
Definition event.h:33
@ ET_PIANO_ROLL_KEY_HEIGHT_CHANGED
Piano roll key height level changed.
Definition event.h:232
@ ET_TRANSPORT_TOGGLE_RECORDING_REQUIRED
Transport toggle recording is required on the GTK thread.
Definition event.h:315
@ ET_VELOCITIES_RAMPED
Velocities have been ramped.
Definition event.h:404
@ ET_TRACK_STATE_CHANGED
also for channels
Definition event.h:40
@ ET_CHORD_PRESET_ADDED
Chord preset added.
Definition event.h:173
@ ET_TRANSPORT_PAUSE_REQUIRED
Transport pause is required on the GTK thread.
Definition event.h:283
@ ET_AUDIO_REGION_GAIN_CHANGED
Audio region gain changed.
Definition event.h:419
@ ET_PROJECT_LOADED
Sent when a project is loaded.
Definition event.h:238
@ ET_TRACK_FADER_BUTTON_CHANGED
Fader button (mute/solo/etc) changed.
Definition event.h:338
@ ET_FILE_BROWSER_BOOKMARK_DELETED
File browser bookmark deleted.
Definition event.h:433
@ ET_PLUGIN_VISIBILITY_CHANGED
Plugin visibility parameter changed, should close/open UI.
Definition event.h:105
@ ET_PROJECT_SAVED
Sent when a project is saved.
Definition event.h:241
@ ET_LOG_WARNING_STATE_CHANGED
Log has new unseen warnings or warnings have been seen.
Definition event.h:326
@ ET_MIXER_CHANNEL_MIDI_FX_EXPANDED_CHANGED
Channel MIDI FX revealed status changed in the mixer.
Definition event.h:367
@ ET_PLAYHEAD_SCROLL_MODE_CHANGED
Follow playhead/scroll edges state changed.
Definition event.h:331
@ ET_DRUM_MODE_CHANGED
Drum mode changed.
Definition event.h:131
@ ET_PIANO_ROLL_KEY_ZOOM_CHANGED
Piano roll key zoom level changed.
Definition event.h:222
@ ET_ARRANGER_HIGHLIGHT_CHANGED
Arranger highlight rectangle changed.
Definition event.h:248
@ ET_PLUGIN_WINDOW_VISIBILITY_CHANGED
Plugin UI opened or closed, should redraw.
Definition event.h:108
@ ET_MIXER_CHANNEL_SENDS_EXPANDED_CHANGED
Channel sends revealed status changed in the mixer.
Definition event.h:383
@ ET_FILE_BROWSER_BOOKMARK_ADDED
File browser bookmark added.
Definition event.h:426
@ ET_TRANSPORT_TOGGLE_LOOP_REQUIRED
Transport toggle loop is required on the GTK thread.
Definition event.h:307
@ ET_AUDIO_SELECTIONS_RANGE_CHANGED
Range selection changed in audio editor.
Definition event.h:263
@ ET_TRACK_LANE_REMOVED
Track lane removed.
Definition event.h:152
@ ET_PLUGIN_LATENCY_CHANGED
Sent when plugin latency changes, to update the graph.
Definition event.h:245
@ ET_ARRANGER_SELECTIONS_ACTION_FINISHED
To be used after an action is finished to redraw everything.
Definition event.h:37
@ ET_TRACK_FOLD_CHANGED
Track folded status changed.
Definition event.h:359
@ ET_CHORD_PRESET_EDITED
Chord preset edited.
Definition event.h:180
@ ET_ARRANGER_SCROLLED
An arranger was scrolled.
Definition event.h:440
@ ET_PLUGIN_STATE_CHANGED
Plugin's control port values changed.
Definition event.h:111
@ ET_MIXER_CHANNEL_INSERTS_EXPANDED_CHANGED
Channel inserts revealed status changed in the mixer.
Definition event.h:375
@ ET_RULER_STATE_CHANGED
works for all rulers
Definition event.h:42
@ ET_PLUGIN_PRESET_SAVED
Plugin preset saved.
Definition event.h:345
@ ET_TRACK_FREEZE_CHANGED
Track freeze status changed.
Definition event.h:322
@ ET_FILE_BROWSER_INSTRUMENT_CHANGED
Auditioning instrument changed in file/chord pack browser.
Definition event.h:448
@ ET_RULER_VIEWPORT_CHANGED
Zoom level or view area changed.
Definition event.h:90
@ ET_PLUGIN_PRESET_LOADED
Plugin preset loaded.
Definition event.h:352
@ ET_TRANSPORT_ROLL_REQUIRED
Transport roll is required on the GTK thread.
Definition event.h:276
@ ET_CHORD_PRESET_PACK_ADDED
Chord preset pack added.
Definition event.h:194
@ ET_TRACK_LANES_VISIBILITY_CHANGED
Track lanes visibility changed.
Definition event.h:138
@ ET_REGION_ACTIVATED
Double click (or similar action) on region.
Definition event.h:390
@ ET_CLIP_MARKER_POS_CHANGED
Clip marker (clip start, loop start, loop end) position changed.
Definition event.h:71
@ ET_TOOL_CHANGED
Selected tool (mode) changed.
Definition event.h:83
A Zrythm event.
Definition event.h:455
void * arg
Argument.
Definition event.h:460
EventType type
Event type.
Definition event.h:457
const char * func
Function initialized from.
Definition event.h:466
int lineno
Line no initialized from.
Definition event.h:469
const char * file
Source file initialized from.
Definition event.h:463
char * backtrace
Backtrace.
Definition event.h:472