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: © 2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __IO_SERIALIZATION_ACTIONS_H__
11#define __IO_SERIALIZATION_ACTIONS_H__
12
13#include "utils/types.h"
14
15#include <glib.h>
16
17#include <yyjson.h>
18
19TYPEDEF_STRUCT (UndoableAction);
20TYPEDEF_STRUCT (ArrangerSelectionsAction);
21TYPEDEF_STRUCT (MixerSelectionsAction);
22TYPEDEF_STRUCT (TracklistSelectionsAction);
23TYPEDEF_STRUCT (ChannelSendAction);
24TYPEDEF_STRUCT (PortConnectionAction);
25TYPEDEF_STRUCT (PortAction);
26TYPEDEF_STRUCT (MidiMappingAction);
27TYPEDEF_STRUCT (RangeAction);
28TYPEDEF_STRUCT (TransportAction);
29TYPEDEF_STRUCT (ChordAction);
30
31bool
32undoable_action_serialize_to_json (
33 yyjson_mut_doc * doc,
34 yyjson_mut_val * action_obj,
35 const UndoableAction * action,
36 GError ** error);
37
38bool
39arranger_selections_action_serialize_to_json (
40 yyjson_mut_doc * doc,
41 yyjson_mut_val * action_obj,
42 const ArrangerSelectionsAction * action,
43 GError ** error);
44
45bool
46mixer_selections_action_serialize_to_json (
47 yyjson_mut_doc * doc,
48 yyjson_mut_val * action_obj,
49 const MixerSelectionsAction * action,
50 GError ** error);
51
52bool
53tracklist_selections_action_serialize_to_json (
54 yyjson_mut_doc * doc,
55 yyjson_mut_val * action_obj,
56 const TracklistSelectionsAction * action,
57 GError ** error);
58
59bool
60channel_send_action_serialize_to_json (
61 yyjson_mut_doc * doc,
62 yyjson_mut_val * action_obj,
63 const ChannelSendAction * action,
64 GError ** error);
65
66bool
67port_connection_action_serialize_to_json (
68 yyjson_mut_doc * doc,
69 yyjson_mut_val * action_obj,
70 const PortConnectionAction * action,
71 GError ** error);
72
73bool
74port_action_serialize_to_json (
75 yyjson_mut_doc * doc,
76 yyjson_mut_val * action_obj,
77 const PortAction * action,
78 GError ** error);
79
80bool
81midi_mapping_action_serialize_to_json (
82 yyjson_mut_doc * doc,
83 yyjson_mut_val * action_obj,
84 const MidiMappingAction * action,
85 GError ** error);
86
87bool
88range_action_serialize_to_json (
89 yyjson_mut_doc * doc,
90 yyjson_mut_val * action_obj,
91 const RangeAction * action,
92 GError ** error);
93
94bool
95transport_action_serialize_to_json (
96 yyjson_mut_doc * doc,
97 yyjson_mut_val * action_obj,
98 const TransportAction * action,
99 GError ** error);
100
101bool
102chord_action_serialize_to_json (
103 yyjson_mut_doc * doc,
104 yyjson_mut_val * action_obj,
105 const ChordAction * action,
106 GError ** error);
107
108bool
109undoable_action_deserialize_from_json (
110 yyjson_doc * doc,
111 yyjson_val * action_obj,
112 UndoableAction * action,
113 GError ** error);
114
115bool
116arranger_selections_action_deserialize_from_json (
117 yyjson_doc * doc,
118 yyjson_val * action_obj,
120 GError ** error);
121
122bool
123mixer_selections_action_deserialize_from_json (
124 yyjson_doc * doc,
125 yyjson_val * action_obj,
126 MixerSelectionsAction * action,
127 GError ** error);
128
129bool
130tracklist_selections_action_deserialize_from_json (
131 yyjson_doc * doc,
132 yyjson_val * action_obj,
134 GError ** error);
135
136bool
137channel_send_action_deserialize_from_json (
138 yyjson_doc * doc,
139 yyjson_val * action_obj,
140 ChannelSendAction * action,
141 GError ** error);
142
143bool
144port_connection_action_deserialize_from_json (
145 yyjson_doc * doc,
146 yyjson_val * action_obj,
147 PortConnectionAction * action,
148 GError ** error);
149
150bool
151port_action_deserialize_from_json (
152 yyjson_doc * doc,
153 yyjson_val * action_obj,
154 PortAction * action,
155 GError ** error);
156
157bool
158midi_mapping_action_deserialize_from_json (
159 yyjson_doc * doc,
160 yyjson_val * action_obj,
161 MidiMappingAction * action,
162 GError ** error);
163
164bool
165range_action_deserialize_from_json (
166 yyjson_doc * doc,
167 yyjson_val * action_obj,
168 RangeAction * action,
169 GError ** error);
170
171bool
172transport_action_deserialize_from_json (
173 yyjson_doc * doc,
174 yyjson_val * action_obj,
175 TransportAction * action,
176 GError ** error);
177
178bool
179chord_action_deserialize_from_json (
180 yyjson_doc * doc,
181 yyjson_val * action_obj,
182 ChordAction * action,
183 GError ** error);
184
185#endif // __IO_SERIALIZATION_ACTIONS_H__
Action for channel send changes.
Action for chord pad changes.
MIDI mapping action.
Restrict selections to a channel.
Tracklist selections (tracks) action.
Transport action.
Base struct to be inherited by implementing undoable actions.
Custom types.