4#ifndef __SCHEMAS_AUDIO_EXT_PORT_H__
5#define __SCHEMAS_AUDIO_EXT_PORT_H__
16typedef enum ExtPortType_v1
18 EXT_PORT_TYPE_JACK_v1,
19 EXT_PORT_TYPE_ALSA_v1,
20 EXT_PORT_TYPE_WINDOWS_MME_v1,
21 EXT_PORT_TYPE_RTMIDI_v1,
22 EXT_PORT_TYPE_RTAUDIO_v1,
25static const cyaml_strval_t ext_port_type_strings_v1[] = {
26 {
"JACK", EXT_PORT_TYPE_JACK_v1 },
27 {
"ALSA", EXT_PORT_TYPE_ALSA_v1 },
28 {
"Windows MME", EXT_PORT_TYPE_WINDOWS_MME_v1 },
29 {
"RtMidi", EXT_PORT_TYPE_RTMIDI_v1 },
30 {
"RtAudio", EXT_PORT_TYPE_RTAUDIO_v1 },
43 unsigned int rtaudio_channel_idx;
44 char * rtaudio_dev_name;
45 unsigned int rtaudio_id;
46 bool rtaudio_is_input;
47 bool rtaudio_is_duplex;
49 unsigned int rtmidi_id;
53 int hw_processor_index;
58static const cyaml_schema_field_t ext_port_fields_schema_v1[] = {
61 YAML_FIELD_STRING_PTR_OPTIONAL (
ExtPort_v1, short_name),
62 YAML_FIELD_STRING_PTR_OPTIONAL (
ExtPort_v1, alias1),
63 YAML_FIELD_STRING_PTR_OPTIONAL (
ExtPort_v1, alias2),
64 YAML_FIELD_STRING_PTR_OPTIONAL (
ExtPort_v1, rtaudio_dev_name),
67 YAML_FIELD_ENUM (
ExtPort_v1, type, ext_port_type_strings_v1),
68 YAML_FIELD_UINT (
ExtPort_v1, rtaudio_channel_idx),
73static const cyaml_schema_value_t ext_port_schema_v1 = {
74 YAML_VALUE_PTR (
ExtPort_v1, ext_port_fields_schema_v1),