10#ifndef __SCHEMAS_AUDIO_CHORD_DESCRIPTOR_H__
11#define __SCHEMAS_AUDIO_CHORD_DESCRIPTOR_H__
17typedef enum MusicalNote_v1
33static const cyaml_strval_t musical_note_strings_v1[] = {
48typedef enum ChordType_v1
61static const cyaml_strval_t chord_type_strings_v1[] = {
62 {
"Invalid", CHORD_TYPE_NONE_v1 },
63 {
"Maj", CHORD_TYPE_MAJ_v1 },
64 {
"min", CHORD_TYPE_MIN_v1 },
65 {
"dim", CHORD_TYPE_DIM_v1 },
66 {
"sus4", CHORD_TYPE_SUS4_v1 },
67 {
"sus2", CHORD_TYPE_SUS2_v1 },
68 {
"aug", CHORD_TYPE_AUG_v1 },
69 {
"custom", CHORD_TYPE_CUSTOM_v1 },
72typedef enum ChordAccent_v1
87static const cyaml_strval_t chord_accent_strings_v1[] = {
88 {
"None", CHORD_ACC_NONE_v1 },
89 {
"7", CHORD_ACC_7_v1 },
90 {
"j7", CHORD_ACC_j7_v1 },
91 {
"\u266D9", CHORD_ACC_b9_v1 },
92 {
"9", CHORD_ACC_9_v1 },
93 {
"\u266F9", CHORD_ACC_S9_v1 },
94 {
"11", CHORD_ACC_11_v1 },
95 {
"\u266D5/\u266F11", CHORD_ACC_b5_S11_v1 },
96 {
"\u266F5/\u266D13", CHORD_ACC_S5_b13_v1 },
97 {
"6/13", CHORD_ACC_6_13_v1 },
104 MusicalNote_v1 root_note;
105 MusicalNote_v1 bass_note;
107 ChordAccent_v1 accent;
112static const cyaml_schema_field_t chord_descriptor_fields_schema_v2[] = {
119 CYAML_FIELD_SEQUENCE_FIXED (
131static const cyaml_schema_value_t chord_descriptor_schema_v2 = {
132 CYAML_VALUE_MAPPING (
135 chord_descriptor_fields_schema_v2),