10#ifndef __GUI_BACKEND_CHORD_EDITOR_H__
11#define __GUI_BACKEND_CHORD_EDITOR_H__
27#define CHORD_EDITOR_SCHEMA_VERSION 1
29#define CHORD_EDITOR (CLIP_EDITOR->chord_editor)
31#define CHORD_EDITOR_NUM_CHORDS 12
52static const cyaml_schema_field_t chord_editor_fields_schema[] = {
57 chord_descriptor_schema),
61 editor_settings_fields_schema),
66static const cyaml_schema_value_t chord_editor_schema = {
67 CYAML_VALUE_MAPPING (CYAML_FLAG_POINTER,
ChordEditor, chord_editor_fields_schema),
87chord_editor_apply_single_chord (
94chord_editor_apply_chords (
103chord_editor_apply_preset_from_scale (
106 MusicalNote root_note,
110chord_editor_transpose_chords (
ChordEditor * self,
bool up,
bool undoable);
123chord_editor_get_chord_index (
128chord_editor_new (
void);
MusicalScaleType
Scale type (name) eg Aeolian.
void chord_editor_init_loaded(ChordEditor *self)
Inits the ChordEditor after a Project has been loaded.
void chord_editor_init(ChordEditor *self)
Initializes the ChordEditor.
NONNULL ChordDescriptor * chord_editor_get_chord_from_note_number(const ChordEditor *self, midi_byte_t note_number)
Returns the ChordDescriptor for the given note number, otherwise NULL if the given note number is not...
#define YAML_FIELD_MAPPING_EMBEDDED(owner, member, schema)
Mapping embedded inside the struct.
uint8_t midi_byte_t
MIDI byte.
#define YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT(owner, member, schema)
Fixed-width array of pointers with variable count.
A ChordDescriptor describes a chord and is not linked to any specific object by itself.
Backend for the chord editor.
ChordDescriptor * chords[128]
The chords to show on the left.
A preset of chord descriptors.