10#ifndef __SCHEMAS_AUDIO_CHANNEL_H__
11#define __SCHEMAS_AUDIO_CHANNEL_H__
13#include "gui/backend/backend/cyaml_schemas/dsp/channel_send.h"
30 int num_ext_stereo_l_ins;
33 int num_ext_stereo_r_ins;
35 int midi_channels[16];
36 int all_midi_channels;
42 unsigned int output_name_hash;
47static const cyaml_schema_field_t channel_fields_schema_v1[] = {
49 YAML_FIELD_SEQUENCE_FIXED (
Channel_v1, midi_fx, plugin_schema_v1, 9),
50 YAML_FIELD_SEQUENCE_FIXED (
Channel_v1, inserts, plugin_schema_v1, 9),
51 YAML_FIELD_SEQUENCE_FIXED (
Channel_v1, sends, channel_send_schema_v1, 9),
52 YAML_FIELD_MAPPING_PTR_OPTIONAL (
Channel_v1, instrument, plugin_fields_schema_v1),
53 YAML_FIELD_MAPPING_PTR (
Channel_v1, prefader, fader_fields_schema_v1),
54 YAML_FIELD_MAPPING_PTR (
Channel_v1, fader, fader_fields_schema_v1),
55 YAML_FIELD_MAPPING_PTR_OPTIONAL (
Channel_v1, midi_out, port_fields_schema_v1),
56 YAML_FIELD_MAPPING_PTR_OPTIONAL (
59 stereo_ports_fields_schema_v1),
61 YAML_FIELD_UINT (
Channel_v1, output_name_hash),
63 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
68 YAML_FIELD_SEQUENCE_FIXED (
Channel_v1, midi_channels, int_schema, 16),
69 YAML_FIELD_INT (
Channel_v1, all_midi_channels),
70 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
75 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
85static const cyaml_schema_value_t channel_schema_v1 = {
86 YAML_VALUE_PTR (
Channel_v1, channel_fields_schema_v1),
100 int num_ext_stereo_l_ins;
101 int all_stereo_l_ins;
103 int num_ext_stereo_r_ins;
104 int all_stereo_r_ins;
105 int midi_channels[16];
106 int all_midi_channels;
112 unsigned int output_name_hash;
117static const cyaml_schema_field_t channel_fields_schema_v2[] = {
119 YAML_FIELD_SEQUENCE_FIXED (
Channel_v2, midi_fx, plugin_schema_v1, 9),
120 YAML_FIELD_SEQUENCE_FIXED (
Channel_v2, inserts, plugin_schema_v1, 9),
121 YAML_FIELD_SEQUENCE_FIXED (
Channel_v2, sends, channel_send_schema_v1, 9),
122 YAML_FIELD_MAPPING_PTR_OPTIONAL (
Channel_v2, instrument, plugin_fields_schema_v1),
123 YAML_FIELD_MAPPING_PTR (
Channel_v2, prefader, fader_fields_schema_v2),
124 YAML_FIELD_MAPPING_PTR (
Channel_v2, fader, fader_fields_schema_v2),
125 YAML_FIELD_MAPPING_PTR_OPTIONAL (
Channel_v2, midi_out, port_fields_schema_v1),
126 YAML_FIELD_MAPPING_PTR_OPTIONAL (
129 stereo_ports_fields_schema_v1),
131 YAML_FIELD_UINT (
Channel_v2, output_name_hash),
133 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
138 YAML_FIELD_SEQUENCE_FIXED (
Channel_v2, midi_channels, int_schema, 16),
139 YAML_FIELD_INT (
Channel_v2, all_midi_channels),
140 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
144 YAML_FIELD_INT (
Channel_v2, all_stereo_l_ins),
145 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
149 YAML_FIELD_INT (
Channel_v2, all_stereo_r_ins),
155static const cyaml_schema_value_t channel_schema_v2 = {
156 YAML_VALUE_PTR (
Channel_v2, channel_fields_schema_v2),
L & R port, for convenience.