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-2024 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
47DECLARE_SIMPLE (activate_audition_mode);
48DECLARE_SIMPLE (activate_select_mode);
49DECLARE_SIMPLE (activate_edit_mode);
50DECLARE_SIMPLE (activate_cut_mode);
51DECLARE_SIMPLE (activate_eraser_mode);
52DECLARE_SIMPLE (activate_ramp_mode);
53
54DECLARE_SIMPLE (activate_quit);
55
56DECLARE_SIMPLE (activate_zoom_in);
57DECLARE_SIMPLE (activate_zoom_out);
58
59DECLARE_SIMPLE (activate_cycle_focus);
60DECLARE_SIMPLE (activate_cycle_focus_backwards);
61DECLARE_SIMPLE (activate_focus_first_widget);
62
63COLD DECLARE_SIMPLE (activate_new);
64
65COLD DECLARE_SIMPLE (activate_minimize);
66
67COLD DECLARE_SIMPLE (activate_open);
68
69COLD void
70activate_save (GSimpleAction * action, GVariant * variant, gpointer user_data);
71
72COLD DECLARE_SIMPLE (activate_save_as);
73
74COLD DECLARE_SIMPLE (activate_export_as);
75
76COLD DECLARE_SIMPLE (activate_export_graph);
77
78void
79activate_properties (
80 GSimpleAction * action,
81 GVariant * variant,
82 gpointer user_data);
83
84DECLARE_SIMPLE (activate_undo);
85DECLARE_SIMPLE (activate_redo);
86DECLARE_SIMPLE (activate_undo_n);
87DECLARE_SIMPLE (activate_redo_n);
88DECLARE_SIMPLE (activate_cut);
89DECLARE_SIMPLE (activate_copy);
90DECLARE_SIMPLE (activate_paste);
91DECLARE_SIMPLE (activate_delete);
92DECLARE_SIMPLE (activate_duplicate);
93DECLARE_SIMPLE (activate_clear_selection);
94DECLARE_SIMPLE (activate_select_all);
95
96void
97activate_toggle_left_panel (
98 GSimpleAction * action,
99 GVariant * variant,
100 gpointer user_data);
101
102void
103activate_toggle_right_panel (
104 GSimpleAction * action,
105 GVariant * variant,
106 gpointer user_data);
107
108void
109activate_toggle_bot_panel (
110 GSimpleAction * action,
111 GVariant * variant,
112 gpointer user_data);
113
117void
119 GSimpleAction * action,
120 GVariant * variant,
121 gpointer user_data);
122
123DECLARE_SIMPLE (activate_toggle_drum_mode);
124
125void
126change_state_show_automation_values (
127 GSimpleAction * action,
128 GVariant * value,
129 gpointer user_data);
130
131void
132activate_toggle_status_bar (
133 GSimpleAction * action,
134 GVariant * variant,
135 gpointer user_data);
136
137void
138activate_fullscreen (
139 GSimpleAction * action,
140 GVariant * variant,
141 gpointer user_data);
142
143COLD DECLARE_SIMPLE (activate_news);
144COLD DECLARE_SIMPLE (activate_manual);
145COLD DECLARE_SIMPLE (activate_chat);
146COLD DECLARE_SIMPLE (activate_bugreport);
147COLD DECLARE_SIMPLE (activate_donate);
148
149void
150activate_loop_selection (
151 GSimpleAction * action,
152 GVariant * variant,
153 gpointer user_data);
154
155void
156activate_best_fit (GSimpleAction * action, GVariant * variant, gpointer user_data);
157
158void
159activate_original_size (
160 GSimpleAction * action,
161 GVariant * variant,
162 gpointer user_data);
163
164void
165activate_snap_to_grid (
166 GSimpleAction * action,
167 GVariant * variant,
168 gpointer user_data);
169
170void
171activate_snap_keep_offset (
172 GSimpleAction * action,
173 GVariant * variant,
174 gpointer user_data);
175
176DECLARE_SIMPLE (activate_import_file);
177DECLARE_SIMPLE (activate_create_audio_track);
178DECLARE_SIMPLE (activate_create_midi_track);
179DECLARE_SIMPLE (activate_create_audio_bus_track);
180DECLARE_SIMPLE (activate_create_midi_bus_track);
181DECLARE_SIMPLE (activate_create_audio_group_track);
182DECLARE_SIMPLE (activate_create_midi_group_track);
183DECLARE_SIMPLE (activate_create_folder_track);
184
185DECLARE_SIMPLE (activate_duplicate_selected_tracks);
186DECLARE_SIMPLE (activate_delete_selected_tracks);
187DECLARE_SIMPLE (activate_hide_selected_tracks);
188
189DECLARE_SIMPLE (activate_pin_selected_tracks);
190DECLARE_SIMPLE (activate_solo_selected_tracks);
191DECLARE_SIMPLE (activate_unsolo_selected_tracks);
192DECLARE_SIMPLE (activate_mute_selected_tracks);
193DECLARE_SIMPLE (activate_unmute_selected_tracks);
194DECLARE_SIMPLE (activate_listen_selected_tracks);
195DECLARE_SIMPLE (activate_unlisten_selected_tracks);
196DECLARE_SIMPLE (activate_enable_selected_tracks);
197DECLARE_SIMPLE (activate_disable_selected_tracks);
198DECLARE_SIMPLE (activate_change_track_color);
199DECLARE_SIMPLE (activate_track_set_midi_channel);
200DECLARE_SIMPLE (activate_quick_bounce_selected_tracks);
201DECLARE_SIMPLE (activate_bounce_selected_tracks);
202DECLARE_SIMPLE (activate_selected_tracks_direct_out_to);
203DECLARE_SIMPLE (activate_selected_tracks_direct_out_new);
204DECLARE_SIMPLE (activate_toggle_track_passthrough_input);
205DECLARE_SIMPLE (activate_show_used_automation_lanes_on_selected_tracks);
206DECLARE_SIMPLE (activate_hide_unused_automation_lanes_on_selected_tracks);
207DECLARE_SIMPLE (activate_append_track_objects_to_selection);
208DECLARE_SIMPLE (activate_append_lane_objects_to_selection);
209DECLARE_SIMPLE (activate_append_lane_automation_regions_to_selection);
210
211void
212activate_snap_events (
213 GSimpleAction * action,
214 GVariant * variant,
215 gpointer user_data);
216
217DECLARE_SIMPLE (activate_goto_start_marker);
218DECLARE_SIMPLE (activate_goto_end_marker);
219DECLARE_SIMPLE (activate_goto_prev_marker);
220DECLARE_SIMPLE (activate_goto_next_marker);
221
222DECLARE_SIMPLE (activate_play_pause);
223DECLARE_SIMPLE (activate_record_play);
224
225void
226change_state_dim_output (
227 GSimpleAction * action,
228 GVariant * value,
229 gpointer user_data);
230
231void
232change_state_loop (GSimpleAction * action, GVariant * value, gpointer user_data);
233
234void
235change_state_metronome (
236 GSimpleAction * action,
237 GVariant * value,
238 gpointer user_data);
239
240void
241change_state_musical_mode (
242 GSimpleAction * action,
243 GVariant * value,
244 gpointer user_data);
245
246void
247change_state_listen_notes (
248 GSimpleAction * action,
249 GVariant * value,
250 gpointer user_data);
251
252void
253change_state_ghost_notes (
254 GSimpleAction * action,
255 GVariant * value,
256 gpointer user_data);
257
258void
259activate_quick_quantize (
260 GSimpleAction * action,
261 GVariant * variant,
262 gpointer user_data);
263
264void
265activate_quantize_options (
266 GSimpleAction * action,
267 GVariant * variant,
268 gpointer user_data);
269
270DECLARE_SIMPLE (activate_mute_selection);
271DECLARE_SIMPLE (activate_merge_selection);
272
273void
274activate_set_timebase_master (
275 GSimpleAction * action,
276 GVariant * variant,
277 gpointer user_data);
278
279void
280activate_set_transport_client (
281 GSimpleAction * action,
282 GVariant * variant,
283 gpointer user_data);
284
285void
286activate_unlink_jack_transport (
287 GSimpleAction * action,
288 GVariant * variant,
289 gpointer user_data);
290
297void
299 GSimpleAction * action,
300 GVariant * _variant,
301 gpointer user_data);
302
303DECLARE_SIMPLE (activate_delete_midi_cc_bindings);
304
305DECLARE_SIMPLE (activate_toggle_timeline_event_viewer);
306DECLARE_SIMPLE (activate_toggle_editor_event_viewer);
307DECLARE_SIMPLE (activate_insert_silence);
308DECLARE_SIMPLE (activate_remove_range);
309
310DECLARE_SIMPLE (change_state_timeline_playhead_scroll_edges);
311DECLARE_SIMPLE (change_state_timeline_playhead_follow);
312DECLARE_SIMPLE (change_state_editor_playhead_scroll_edges);
313DECLARE_SIMPLE (change_state_editor_playhead_follow);
314
315/* Editor functions. */
316DECLARE_SIMPLE (activate_editor_function);
317DECLARE_SIMPLE (activate_editor_function_lv2);
318
319COLD DECLARE_SIMPLE (activate_midi_editor_highlighting);
320
321DECLARE_SIMPLE (activate_rename_track);
322DECLARE_SIMPLE (activate_rename_arranger_object);
323DECLARE_SIMPLE (activate_create_arranger_object);
324DECLARE_SIMPLE (activate_change_region_color);
325DECLARE_SIMPLE (activate_reset_region_color);
326DECLARE_SIMPLE (activate_move_automation_regions);
327
328DECLARE_SIMPLE (activate_add_region);
329DECLARE_SIMPLE (activate_go_to_start);
330DECLARE_SIMPLE (activate_input_bpm);
331DECLARE_SIMPLE (activate_tap_bpm);
332
333DECLARE_SIMPLE (activate_nudge_selection);
334DECLARE_SIMPLE (activate_detect_bpm);
335DECLARE_SIMPLE (activate_timeline_function);
336DECLARE_SIMPLE (activate_export_midi_regions);
337DECLARE_SIMPLE (activate_quick_bounce_selections);
338DECLARE_SIMPLE (activate_bounce_selections);
339DECLARE_SIMPLE (activate_set_curve_algorithm);
340DECLARE_SIMPLE (activate_set_region_fade_in_algorithm_preset);
341DECLARE_SIMPLE (activate_set_region_fade_out_algorithm_preset);
342DECLARE_SIMPLE (activate_arranger_object_view_info);
343
344/* chord presets */
345DECLARE_SIMPLE (activate_save_chord_preset);
346DECLARE_SIMPLE (activate_load_chord_preset);
347DECLARE_SIMPLE (activate_load_chord_preset_from_scale);
348DECLARE_SIMPLE (activate_transpose_chord_pad);
349DECLARE_SIMPLE (activate_add_chord_preset_pack);
350DECLARE_SIMPLE (activate_delete_chord_preset_pack);
351DECLARE_SIMPLE (activate_rename_chord_preset_pack);
352DECLARE_SIMPLE (activate_delete_chord_preset);
353DECLARE_SIMPLE (activate_rename_chord_preset);
354
355/* port actions */
356DECLARE_SIMPLE (activate_reset_stereo_balance);
357DECLARE_SIMPLE (activate_reset_fader);
358DECLARE_SIMPLE (activate_reset_control);
359DECLARE_SIMPLE (activate_port_view_info);
360DECLARE_SIMPLE (activate_port_connection_remove);
361
362/* plugin actions */
363DECLARE_SIMPLE (activate_plugin_toggle_enabled);
364DECLARE_SIMPLE (activate_plugin_inspect);
365DECLARE_SIMPLE (activate_mixer_selections_delete);
366DECLARE_SIMPLE (activate_plugin_change_load_behavior);
367
368/* panel file browser actions */
369DECLARE_SIMPLE (activate_panel_file_browser_add_bookmark);
370DECLARE_SIMPLE (activate_panel_file_browser_delete_bookmark);
371
372/* plugin browser actions */
373DECLARE_SIMPLE (activate_plugin_browser_add_to_project);
374DECLARE_SIMPLE (activate_plugin_browser_add_to_project_carla);
375DECLARE_SIMPLE (activate_plugin_browser_add_to_project_bridged_ui);
376DECLARE_SIMPLE (activate_plugin_browser_add_to_project_bridged_full);
377DECLARE_SIMPLE (change_state_plugin_browser_toggle_generic_ui);
378DECLARE_SIMPLE (activate_plugin_browser_add_to_collection);
379DECLARE_SIMPLE (activate_plugin_browser_remove_from_collection);
380DECLARE_SIMPLE (activate_plugin_browser_reset);
381DECLARE_SIMPLE (activate_plugin_collection_add);
382DECLARE_SIMPLE (activate_plugin_collection_rename);
383DECLARE_SIMPLE (activate_plugin_collection_remove);
384
388DECLARE_SIMPLE (activate_app_action_wrapper);
389
394#undef DECLARE_SIMPLE
395
396#endif
void activate_preferences(GSimpleAction *action, GVariant *variant, gpointer user_data)
Show preferences window.
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_log(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.