Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
channel_send.h
1// SPDX-FileCopyrightText: © 2020-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __SCHEMAS_AUDIO_CHANNEL_SEND_H__
5#define __SCHEMAS_AUDIO_CHANNEL_SEND_H__
6
8#include "utils/yaml.h"
9
10typedef struct ChannelSend_v1
11{
12 int schema_version;
13 int slot;
14 StereoPorts_v1 * stereo_in;
15 Port_v1 * midi_in;
16 StereoPorts_v1 * stereo_out;
17 Port_v1 * midi_out;
18 Port_v1 * amount;
19 Port_v1 * enabled;
20 bool is_sidechain;
21 unsigned int track_name_hash;
23
24static const cyaml_schema_field_t channel_send_fields_schema_v1[] = {
25 YAML_FIELD_INT (ChannelSend_v1, schema_version),
26 YAML_FIELD_INT (ChannelSend_v1, slot),
27 YAML_FIELD_MAPPING_PTR (ChannelSend_v1, amount, port_fields_schema_v1),
28 YAML_FIELD_MAPPING_PTR (ChannelSend_v1, enabled, port_fields_schema_v1),
29 YAML_FIELD_INT (ChannelSend_v1, is_sidechain),
30 YAML_FIELD_MAPPING_PTR_OPTIONAL (ChannelSend_v1, midi_in, port_fields_schema_v1),
31 YAML_FIELD_MAPPING_PTR_OPTIONAL (
33 stereo_in,
34 stereo_ports_fields_schema_v1),
35 YAML_FIELD_MAPPING_PTR_OPTIONAL (ChannelSend_v1, midi_out, port_fields_schema_v1),
36 YAML_FIELD_MAPPING_PTR_OPTIONAL (
38 stereo_out,
39 stereo_ports_fields_schema_v1),
40 YAML_FIELD_UINT (ChannelSend_v1, track_name_hash),
41
42 CYAML_FIELD_END
43};
44
45static const cyaml_schema_value_t channel_send_schema_v1 = {
46 YAML_VALUE_PTR_NULLABLE (ChannelSend_v1, channel_send_fields_schema_v1),
47};
48
49#endif
Port schema.
Definition port.h:18
L & R port, for convenience.
Definition port.h:54
YAML utils.