11#ifndef __SCHEMAS_AUDIO_ENGINE_H__
12#define __SCHEMAS_AUDIO_ENGINE_H__
22typedef enum AudioEngineJackTransportType_v1
24 AUDIO_ENGINE_JACK_TIMEBASE_MASTER_v1,
25 AUDIO_ENGINE_JACK_TRANSPORT_CLIENT_v1,
26 AUDIO_ENGINE_NO_JACK_TRANSPORT_v1,
27} AudioEngineJackTransportType_v1;
29static const cyaml_strval_t jack_transport_type_strings_v1[] = {
30 {
"Timebase master", AUDIO_ENGINE_JACK_TIMEBASE_MASTER_v1 },
31 {
"Transport client", AUDIO_ENGINE_JACK_TRANSPORT_CLIENT_v1 },
32 {
"No JACK transport", AUDIO_ENGINE_NO_JACK_TRANSPORT_v1 },
38 AudioEngineJackTransportType_v1 transport_type;
40 double frames_per_tick;
46 Port_v1 * midi_editor_manual_press;
52static const cyaml_schema_field_t engine_fields_schema_v1[] = {
54 YAML_FIELD_ENUM (
AudioEngine_v1, transport_type, jack_transport_type_strings_v1),
57 YAML_FIELD_MAPPING_PTR (
60 stereo_ports_fields_schema_v1),
61 YAML_FIELD_MAPPING_PTR (
63 midi_editor_manual_press,
64 port_fields_schema_v1),
65 YAML_FIELD_MAPPING_PTR (
AudioEngine_v1, midi_in, port_fields_schema_v1),
66 YAML_FIELD_MAPPING_PTR (
AudioEngine_v1, transport, transport_fields_schema_v1),
67 YAML_FIELD_MAPPING_PTR (
AudioEngine_v1, pool, audio_pool_fields_schema_v1),
68 YAML_FIELD_MAPPING_PTR (
71 control_room_fields_schema_v1),
72 YAML_FIELD_MAPPING_PTR (
75 sample_processor_fields_schema_v1),
76 YAML_FIELD_MAPPING_PTR (
79 hardware_processor_fields_schema_v1),
80 YAML_FIELD_MAPPING_PTR (
83 hardware_processor_fields_schema_v1),
88static const cyaml_schema_value_t engine_schema_v1 = {
95 AudioEngineJackTransportType_v1 transport_type;
97 double frames_per_tick;
103 Port_v1 * midi_editor_manual_press;
109static const cyaml_schema_field_t engine_fields_schema_v2[] = {
111 YAML_FIELD_ENUM (
AudioEngine_v2, transport_type, jack_transport_type_strings_v1),
114 YAML_FIELD_MAPPING_PTR (
117 stereo_ports_fields_schema_v1),
118 YAML_FIELD_MAPPING_PTR (
120 midi_editor_manual_press,
121 port_fields_schema_v1),
122 YAML_FIELD_MAPPING_PTR (
AudioEngine_v2, midi_in, port_fields_schema_v1),
123 YAML_FIELD_MAPPING_PTR (
AudioEngine_v2, transport, transport_fields_schema_v1),
124 YAML_FIELD_MAPPING_PTR (
AudioEngine_v2, pool, audio_pool_fields_schema_v1),
125 YAML_FIELD_MAPPING_PTR (
128 control_room_fields_schema_v2),
129 YAML_FIELD_MAPPING_PTR (
132 sample_processor_fields_schema_v2),
133 YAML_FIELD_MAPPING_PTR (
136 hardware_processor_fields_schema_v1),
137 YAML_FIELD_MAPPING_PTR (
140 hardware_processor_fields_schema_v1),
145static const cyaml_schema_value_t engine_schema_v2 = {
Hardware processor schema.
uint32_t sample_rate_t
Sample rate.
L & R port, for convenience.