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