10#ifndef __SCHEMAS_GUI_BACKEND_ARRANGER_OBJECT_H__
11#define __SCHEMAS_GUI_BACKEND_ARRANGER_OBJECT_H__
18typedef enum ArrangerObjectType_v1
20 ARRANGER_OBJECT_TYPE_NONE_v1,
21 ARRANGER_OBJECT_TYPE_ALL_v1,
22 ARRANGER_OBJECT_TYPE_REGION_v1,
23 ARRANGER_OBJECT_TYPE_MIDI_NOTE_v1,
24 ARRANGER_OBJECT_TYPE_CHORD_OBJECT_v1,
25 ARRANGER_OBJECT_TYPE_SCALE_OBJECT_v1,
26 ARRANGER_OBJECT_TYPE_MARKER_v1,
27 ARRANGER_OBJECT_TYPE_AUTOMATION_POINT_v1,
28 ARRANGER_OBJECT_TYPE_VELOCITY_v1,
29} ArrangerObjectType_v1;
31static const cyaml_strval_t arranger_object_type_strings_v1[] = {
32 { (
"None"), ARRANGER_OBJECT_TYPE_NONE_v1 },
33 { (
"All"), ARRANGER_OBJECT_TYPE_ALL_v1 },
34 { (
"Region"), ARRANGER_OBJECT_TYPE_REGION_v1 },
35 { (
"Midi Note"), ARRANGER_OBJECT_TYPE_MIDI_NOTE_v1 },
36 { (
"Chord Object"), ARRANGER_OBJECT_TYPE_CHORD_OBJECT_v1 },
37 { (
"Scale Object"), ARRANGER_OBJECT_TYPE_SCALE_OBJECT_v1 },
38 { (
"Marker"), ARRANGER_OBJECT_TYPE_MARKER_v1 },
39 { (
"Automation Point"), ARRANGER_OBJECT_TYPE_AUTOMATION_POINT_v1 },
40 { (
"Velocity"), ARRANGER_OBJECT_TYPE_VELOCITY_v1 },
43typedef enum ArrangerObjectFlags_v1
45 ARRANGER_OBJECT_FLAG_NON_PROJECT_V1 = 1 << 0,
46} ArrangerObjectFlags_v1;
48static const cyaml_bitdef_t arranger_object_flags_bitvals_v1[] = {
49 { .name =
"non_project", .offset = 0, .bits = 1 },
55 ArrangerObjectType_v1 type;
56 ArrangerObjectFlags_v1 flags;
70static const cyaml_schema_field_t arranger_object_fields_schema_v1[] = {
73 CYAML_FIELD_BITFIELD (
78 arranger_object_flags_bitvals_v1,
79 CYAML_ARRAY_LEN (arranger_object_flags_bitvals_v1)),
82 YAML_FIELD_MAPPING_EMBEDDED (
85 position_fields_schema_v1),
86 YAML_FIELD_MAPPING_EMBEDDED (
89 position_fields_schema_v1),
90 YAML_FIELD_MAPPING_EMBEDDED (
93 position_fields_schema_v1),
94 YAML_FIELD_MAPPING_EMBEDDED (
97 position_fields_schema_v1),
98 YAML_FIELD_MAPPING_EMBEDDED (
101 position_fields_schema_v1),
102 YAML_FIELD_MAPPING_EMBEDDED (
105 position_fields_schema_v1),
106 YAML_FIELD_MAPPING_EMBEDDED (
109 curve_options_fields_schema_v1),
110 YAML_FIELD_MAPPING_EMBEDDED (
113 curve_options_fields_schema_v1),
114 YAML_FIELD_MAPPING_EMBEDDED (
117 region_identifier_fields_schema_v1),
122static const cyaml_schema_value_t arranger_object_schema_v1 = {
Region identifier schema.