Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
actions.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __ACTIONS_ACTIONS_H__
11#define __ACTIONS_ACTIONS_H__
12
13#include <stdbool.h>
14
15#include <gtk/gtk.h>
16
17#define DECLARE_SIMPLE(x) \
18 void x (GSimpleAction * action, GVariant * variant, gpointer user_data)
19
26void
27actions_set_app_action_enabled (const char * action_name, const bool enabled);
28
29void
30activate_about (GSimpleAction * action, GVariant * variant, gpointer user_data);
31
35void
37 GSimpleAction * action,
38 GVariant * variant,
39 gpointer user_data);
40
44void
45activate_log (GSimpleAction * action, GVariant * variant, gpointer user_data);
46
50void
52 GSimpleAction * action,
53 GVariant * variant,
54 gpointer user_data);
55
59void
61 GSimpleAction * action,
62 GVariant * variant,
63 gpointer user_data);
64
68void
70 GSimpleAction * action,
71 GVariant * variant,
72 gpointer user_data);
73
77void
79 GSimpleAction * action,
80 GVariant * variant,
81 gpointer user_data);
82
86void
87activate_cut_mode (GSimpleAction * action, GVariant * variant, gpointer user_data);
88
92void
94 GSimpleAction * action,
95 GVariant * variant,
96 gpointer user_data);
97
101void
103 GSimpleAction * action,
104 GVariant * variant,
105 gpointer user_data);
106
107void
108activate_quit (GSimpleAction * action, GVariant * variant, gpointer user_data);
109
110void
111activate_zoom_in (GSimpleAction * action, GVariant * variant, gpointer user_data);
112
113void
114activate_zoom_out (GSimpleAction * action, GVariant * variant, gpointer user_data);
115
116DECLARE_SIMPLE (activate_cycle_focus);
117DECLARE_SIMPLE (activate_cycle_focus_backwards);
118DECLARE_SIMPLE (activate_focus_first_widget);
119
120COLD DECLARE_SIMPLE (activate_new);
121
122COLD DECLARE_SIMPLE (activate_minimize);
123
124COLD DECLARE_SIMPLE (activate_open);
125
126COLD void
127activate_save (GSimpleAction * action, GVariant * variant, gpointer user_data);
128
129COLD DECLARE_SIMPLE (activate_save_as);
130
131COLD DECLARE_SIMPLE (activate_export_as);
132
133COLD DECLARE_SIMPLE (activate_export_graph);
134
135void
136activate_properties (
137 GSimpleAction * action,
138 GVariant * variant,
139 gpointer user_data);
140
141DECLARE_SIMPLE (activate_undo);
142DECLARE_SIMPLE (activate_redo);
143DECLARE_SIMPLE (activate_undo_n);
144DECLARE_SIMPLE (activate_redo_n);
145DECLARE_SIMPLE (activate_cut);
146DECLARE_SIMPLE (activate_copy);
147DECLARE_SIMPLE (activate_paste);
148DECLARE_SIMPLE (activate_delete);
149DECLARE_SIMPLE (activate_duplicate);
150DECLARE_SIMPLE (activate_clear_selection);
151DECLARE_SIMPLE (activate_select_all);
152
153void
154activate_toggle_left_panel (
155 GSimpleAction * action,
156 GVariant * variant,
157 gpointer user_data);
158
159void
160activate_toggle_right_panel (
161 GSimpleAction * action,
162 GVariant * variant,
163 gpointer user_data);
164
165void
166activate_toggle_bot_panel (
167 GSimpleAction * action,
168 GVariant * variant,
169 gpointer user_data);
170
174void
176 GSimpleAction * action,
177 GVariant * variant,
178 gpointer user_data);
179
180DECLARE_SIMPLE (activate_toggle_drum_mode);
181
182void
183change_state_show_automation_values (
184 GSimpleAction * action,
185 GVariant * value,
186 gpointer user_data);
187
188void
189activate_toggle_status_bar (
190 GSimpleAction * action,
191 GVariant * variant,
192 gpointer user_data);
193
194void
195activate_fullscreen (
196 GSimpleAction * action,
197 GVariant * variant,
198 gpointer user_data);
199
200COLD DECLARE_SIMPLE (activate_news);
201COLD DECLARE_SIMPLE (activate_manual);
202COLD DECLARE_SIMPLE (activate_chat);
203COLD DECLARE_SIMPLE (activate_bugreport);
204COLD DECLARE_SIMPLE (activate_donate);
205
206void
207activate_loop_selection (
208 GSimpleAction * action,
209 GVariant * variant,
210 gpointer user_data);
211
212void
213activate_best_fit (GSimpleAction * action, GVariant * variant, gpointer user_data);
214
215void
216activate_original_size (
217 GSimpleAction * action,
218 GVariant * variant,
219 gpointer user_data);
220
221void
222activate_snap_to_grid (
223 GSimpleAction * action,
224 GVariant * variant,
225 gpointer user_data);
226
227void
228activate_snap_keep_offset (
229 GSimpleAction * action,
230 GVariant * variant,
231 gpointer user_data);
232
233DECLARE_SIMPLE (activate_create_audio_track);
234DECLARE_SIMPLE (activate_create_midi_track);
235DECLARE_SIMPLE (activate_create_audio_bus_track);
236DECLARE_SIMPLE (activate_create_midi_bus_track);
237DECLARE_SIMPLE (activate_create_audio_group_track);
238DECLARE_SIMPLE (activate_create_midi_group_track);
239DECLARE_SIMPLE (activate_create_folder_track);
240
241DECLARE_SIMPLE (activate_duplicate_selected_tracks);
242DECLARE_SIMPLE (activate_delete_selected_tracks);
243DECLARE_SIMPLE (activate_hide_selected_tracks);
244
245DECLARE_SIMPLE (activate_pin_selected_tracks);
246DECLARE_SIMPLE (activate_solo_selected_tracks);
247DECLARE_SIMPLE (activate_unsolo_selected_tracks);
248DECLARE_SIMPLE (activate_mute_selected_tracks);
249DECLARE_SIMPLE (activate_unmute_selected_tracks);
250DECLARE_SIMPLE (activate_listen_selected_tracks);
251DECLARE_SIMPLE (activate_unlisten_selected_tracks);
252DECLARE_SIMPLE (activate_enable_selected_tracks);
253DECLARE_SIMPLE (activate_disable_selected_tracks);
254DECLARE_SIMPLE (activate_change_track_color);
255DECLARE_SIMPLE (activate_track_set_midi_channel);
256DECLARE_SIMPLE (activate_quick_bounce_selected_tracks);
257DECLARE_SIMPLE (activate_bounce_selected_tracks);
258DECLARE_SIMPLE (activate_selected_tracks_direct_out_to);
259DECLARE_SIMPLE (activate_selected_tracks_direct_out_new);
260DECLARE_SIMPLE (activate_toggle_track_passthrough_input);
261DECLARE_SIMPLE (activate_show_used_automation_lanes_on_selected_tracks);
262DECLARE_SIMPLE (activate_hide_unused_automation_lanes_on_selected_tracks);
263DECLARE_SIMPLE (activate_append_track_objects_to_selection);
264DECLARE_SIMPLE (activate_append_lane_objects_to_selection);
265DECLARE_SIMPLE (activate_append_lane_automation_regions_to_selection);
266
267void
268activate_snap_events (
269 GSimpleAction * action,
270 GVariant * variant,
271 gpointer user_data);
272
273DECLARE_SIMPLE (activate_goto_start_marker);
274DECLARE_SIMPLE (activate_goto_end_marker);
275DECLARE_SIMPLE (activate_goto_prev_marker);
276DECLARE_SIMPLE (activate_goto_next_marker);
277
278DECLARE_SIMPLE (activate_play_pause);
279DECLARE_SIMPLE (activate_record_play);
280
281void
282change_state_dim_output (
283 GSimpleAction * action,
284 GVariant * value,
285 gpointer user_data);
286
287void
288change_state_loop (GSimpleAction * action, GVariant * value, gpointer user_data);
289
290void
291change_state_metronome (
292 GSimpleAction * action,
293 GVariant * value,
294 gpointer user_data);
295
296void
297change_state_musical_mode (
298 GSimpleAction * action,
299 GVariant * value,
300 gpointer user_data);
301
302void
303change_state_listen_notes (
304 GSimpleAction * action,
305 GVariant * value,
306 gpointer user_data);
307
308void
309change_state_ghost_notes (
310 GSimpleAction * action,
311 GVariant * value,
312 gpointer user_data);
313
314void
315activate_quick_quantize (
316 GSimpleAction * action,
317 GVariant * variant,
318 gpointer user_data);
319
320void
321activate_quantize_options (
322 GSimpleAction * action,
323 GVariant * variant,
324 gpointer user_data);
325
326DECLARE_SIMPLE (activate_mute_selection);
327DECLARE_SIMPLE (activate_merge_selection);
328
329void
330activate_set_timebase_master (
331 GSimpleAction * action,
332 GVariant * variant,
333 gpointer user_data);
334
335void
336activate_set_transport_client (
337 GSimpleAction * action,
338 GVariant * variant,
339 gpointer user_data);
340
341void
342activate_unlink_jack_transport (
343 GSimpleAction * action,
344 GVariant * variant,
345 gpointer user_data);
346
353void
355 GSimpleAction * action,
356 GVariant * _variant,
357 gpointer user_data);
358
359void
360activate_delete_cc_binding (
361 GSimpleAction * simple_action,
362 GVariant * _variant,
363 gpointer user_data);
364
365DECLARE_SIMPLE (activate_toggle_timeline_event_viewer);
366DECLARE_SIMPLE (activate_toggle_editor_event_viewer);
367DECLARE_SIMPLE (activate_insert_silence);
368DECLARE_SIMPLE (activate_remove_range);
369
370DECLARE_SIMPLE (change_state_timeline_playhead_scroll_edges);
371DECLARE_SIMPLE (change_state_timeline_playhead_follow);
372DECLARE_SIMPLE (change_state_editor_playhead_scroll_edges);
373DECLARE_SIMPLE (change_state_editor_playhead_follow);
374
375/* Editor functions. */
376DECLARE_SIMPLE (activate_editor_function);
377DECLARE_SIMPLE (activate_editor_function_lv2);
378
379COLD DECLARE_SIMPLE (activate_midi_editor_highlighting);
380
381DECLARE_SIMPLE (activate_rename_track);
382DECLARE_SIMPLE (activate_rename_arranger_object);
383DECLARE_SIMPLE (activate_create_arranger_object);
384DECLARE_SIMPLE (activate_change_region_color);
385DECLARE_SIMPLE (activate_reset_region_color);
386DECLARE_SIMPLE (activate_move_automation_regions);
387
388DECLARE_SIMPLE (activate_add_region);
389DECLARE_SIMPLE (activate_go_to_start);
390DECLARE_SIMPLE (activate_input_bpm);
391DECLARE_SIMPLE (activate_tap_bpm);
392
393DECLARE_SIMPLE (activate_nudge_selection);
394DECLARE_SIMPLE (activate_detect_bpm);
395DECLARE_SIMPLE (activate_timeline_function);
396DECLARE_SIMPLE (activate_export_midi_regions);
397DECLARE_SIMPLE (activate_quick_bounce_selections);
398DECLARE_SIMPLE (activate_bounce_selections);
399DECLARE_SIMPLE (activate_set_curve_algorithm);
400DECLARE_SIMPLE (activate_set_region_fade_in_algorithm_preset);
401DECLARE_SIMPLE (activate_set_region_fade_out_algorithm_preset);
402DECLARE_SIMPLE (activate_arranger_object_view_info);
403
404/* chord presets */
405DECLARE_SIMPLE (activate_save_chord_preset);
406DECLARE_SIMPLE (activate_load_chord_preset);
407DECLARE_SIMPLE (activate_load_chord_preset_from_scale);
408DECLARE_SIMPLE (activate_transpose_chord_pad);
409DECLARE_SIMPLE (activate_add_chord_preset_pack);
410DECLARE_SIMPLE (activate_delete_chord_preset_pack);
411DECLARE_SIMPLE (activate_rename_chord_preset_pack);
412DECLARE_SIMPLE (activate_delete_chord_preset);
413DECLARE_SIMPLE (activate_rename_chord_preset);
414
415/* port actions */
416DECLARE_SIMPLE (activate_reset_stereo_balance);
417DECLARE_SIMPLE (activate_reset_fader);
418DECLARE_SIMPLE (activate_reset_control);
419DECLARE_SIMPLE (activate_port_view_info);
420DECLARE_SIMPLE (activate_port_connection_remove);
421
422/* plugin actions */
423DECLARE_SIMPLE (activate_plugin_toggle_enabled);
424DECLARE_SIMPLE (activate_plugin_inspect);
425DECLARE_SIMPLE (activate_mixer_selections_delete);
426
427/* panel file browser actions */
428DECLARE_SIMPLE (activate_panel_file_browser_add_bookmark);
429DECLARE_SIMPLE (activate_panel_file_browser_delete_bookmark);
430
431/* plugin browser actions */
432DECLARE_SIMPLE (activate_plugin_browser_add_to_project);
433DECLARE_SIMPLE (activate_plugin_browser_add_to_project_carla);
434DECLARE_SIMPLE (activate_plugin_browser_add_to_project_bridged_ui);
435DECLARE_SIMPLE (activate_plugin_browser_add_to_project_bridged_full);
436DECLARE_SIMPLE (change_state_plugin_browser_toggle_generic_ui);
437DECLARE_SIMPLE (activate_plugin_browser_add_to_collection);
438DECLARE_SIMPLE (activate_plugin_browser_remove_from_collection);
439DECLARE_SIMPLE (activate_plugin_browser_reset);
440DECLARE_SIMPLE (activate_plugin_collection_add);
441DECLARE_SIMPLE (activate_plugin_collection_rename);
442DECLARE_SIMPLE (activate_plugin_collection_remove);
443
447DECLARE_SIMPLE (activate_app_action_wrapper);
448
453#undef DECLARE_SIMPLE
454
455#endif
void activate_preferences(GSimpleAction *action, GVariant *variant, gpointer user_data)
Show preferences window.
void activate_cut_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate cut mode.
void activate_edit_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate edit mode.
void activate_bind_midi_cc(GSimpleAction *action, GVariant *_variant, gpointer user_data)
All purpose menuitem callback for binding MIDI CC to a port.
void activate_eraser_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate eraser mode.
void activate_log(GSimpleAction *action, GVariant *variant, gpointer user_data)
Show preferences window.
void activate_scripting_interface(GSimpleAction *action, GVariant *variant, gpointer user_data)
Show preferences window.
void activate_toggle_top_panel(GSimpleAction *action, GVariant *variant, gpointer user_data)
Toggle timeline visibility.
void activate_select_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate select mode.
void activate_ramp_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate ramp mode.
void activate_audition_mode(GSimpleAction *action, GVariant *variant, gpointer user_data)
Activate audition mode.