Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
port.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __SCHEMAS_AUDIO_PORTS_H__
11#define __SCHEMAS_AUDIO_PORTS_H__
12
13#include "zrythm-config.h"
14
15#include "gui/backend/backend/cyaml_schemas/dsp/port_identifier.h"
16
17typedef struct Port_v1
18{
19 int schema_version;
21 int exposed_to_backend;
22 float control;
23 float minf;
24 float maxf;
25 float zerof;
26 float deff;
27 int carla_param_id;
28} Port_v1;
29
30static const cyaml_schema_field_t port_fields_schema_v1[] = {
31 YAML_FIELD_INT (Port_v1, schema_version),
32 YAML_FIELD_MAPPING_EMBEDDED (Port_v1, id, port_identifier_fields_schema_v1),
33 YAML_FIELD_INT (Port_v1, exposed_to_backend),
34 YAML_FIELD_FLOAT (Port_v1, control),
35 YAML_FIELD_FLOAT (Port_v1, minf),
36 YAML_FIELD_FLOAT (Port_v1, maxf),
37 YAML_FIELD_FLOAT (Port_v1, zerof),
38 YAML_FIELD_FLOAT (Port_v1, deff),
39 YAML_FIELD_INT (Port_v1, carla_param_id),
40
41 CYAML_FIELD_END
42};
43
44static const cyaml_schema_value_t port_schema_v1 = {
45 YAML_VALUE_PTR_NULLABLE (Port_v1, port_fields_schema_v1),
46};
47
53typedef struct StereoPorts_v1
54{
55 int schema_version;
56 Port_v1 * l;
57 Port_v1 * r;
59
60static const cyaml_schema_field_t stereo_ports_fields_schema_v1[] = {
61 YAML_FIELD_INT (StereoPorts_v1, schema_version),
62 YAML_FIELD_MAPPING_PTR (StereoPorts_v1, l, port_fields_schema_v1),
63 YAML_FIELD_MAPPING_PTR (StereoPorts_v1, r, port_fields_schema_v1),
64
65 CYAML_FIELD_END
66};
67
68static const cyaml_schema_value_t stereo_ports_schema_v1 = {
69 YAML_VALUE_PTR (StereoPorts_v1, stereo_ports_fields_schema_v1),
70};
71
72#endif
Definition port.h:18
L & R port, for convenience.
Definition port.h:54