10#ifndef __SCHEMAS_AUDIO_SNAP_GRID_H__
11#define __SCHEMAS_AUDIO_SNAP_GRID_H__
15typedef enum NoteLength_v1
30static const cyaml_strval_t note_length_strings_v1[] = {
31 {
"bar", NOTE_LENGTH_BAR_v1 },
32 {
"beat", NOTE_LENGTH_BEAT_v1 },
33 {
"2/1", NOTE_LENGTH_2_1_v1 },
34 {
"1/1", NOTE_LENGTH_1_1_v1 },
35 {
"1/2", NOTE_LENGTH_1_2_v1 },
36 {
"1/4", NOTE_LENGTH_1_4_v1 },
37 {
"1/8", NOTE_LENGTH_1_8_v1 },
38 {
"1/16", NOTE_LENGTH_1_16_v1 },
39 {
"1/32", NOTE_LENGTH_1_32_v1 },
40 {
"1/64", NOTE_LENGTH_1_64_v1 },
41 {
"1/128", NOTE_LENGTH_1_128_v1 },
44typedef enum NoteType_v1
51static const cyaml_strval_t note_type_strings_v1[] = {
52 {
"normal", NOTE_TYPE_NORMAL_v1 },
53 {
"dotted", NOTE_TYPE_DOTTED_v1 },
54 {
"triplet", NOTE_TYPE_TRIPLET_v1 },
57typedef enum NoteLengthType_v1
59 NOTE_LENGTH_CUSTOM_v1,
61 NOTE_LENGTH_LAST_OBJECT_v1,
64static const cyaml_strval_t note_length_type_strings_v1[] = {
65 {
"custom", NOTE_LENGTH_CUSTOM_v1 },
66 {
"link", NOTE_LENGTH_LINK_v1 },
67 {
"last object", NOTE_LENGTH_LAST_OBJECT_v1 },
70typedef enum SnapGridType_v1
72 SNAP_GRID_TYPE_TIMELINE_v1,
73 SNAP_GRID_TYPE_EDITOR_v1,
76static const cyaml_strval_t snap_grid_type_strings_v1[] = {
77 {
"timeline", SNAP_GRID_TYPE_TIMELINE_v1 },
78 {
"editor", SNAP_GRID_TYPE_EDITOR_v1 },
86 NoteLength_v1 snap_note_length;
87 NoteType_v1 snap_note_type;
89 bool snap_to_grid_keep_offset;
91 NoteLength_v1 default_note_length;
92 NoteType_v1 default_note_type;
93 bool default_adaptive;
94 NoteLengthType_v1 length_type;
97static const cyaml_schema_field_t snap_grid_fields_schema_v1[] = {
99 YAML_FIELD_ENUM (
SnapGrid_v1, type, snap_grid_type_strings_v1),
100 YAML_FIELD_ENUM (
SnapGrid_v1, snap_note_length, note_length_strings_v1),
101 YAML_FIELD_ENUM (
SnapGrid_v1, snap_note_type, note_type_strings_v1),
103 YAML_FIELD_ENUM (
SnapGrid_v1, default_note_length, note_length_strings_v1),
104 YAML_FIELD_ENUM (
SnapGrid_v1, default_note_type, note_type_strings_v1),
106 YAML_FIELD_ENUM (
SnapGrid_v1, length_type, note_length_type_strings_v1),
108 YAML_FIELD_INT (
SnapGrid_v1, snap_to_grid_keep_offset),
114static const cyaml_schema_value_t snap_grid_schema_v1 = {
115 YAML_VALUE_PTR (
SnapGrid_v1, snap_grid_fields_schema_v1),