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