Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
ui_keyboard_app.h
Aller à la documentation de ce fichier.
1
14#ifndef BRICK_UI_KEYBOARD_APP_H
15#define BRICK_UI_KEYBOARD_APP_H
16
17#include <stdint.h>
18#include <stdbool.h>
19
30
41
43#define CUSTOM_KEYS_OCT_SHIFT_MIN (-4)
44#define CUSTOM_KEYS_OCT_SHIFT_MAX (+4)
45
47typedef struct {
48 bool valid;
49 uint8_t root_midi;
50 uint8_t intervals[12];
53
56
58typedef struct {
59 void (*note_on)(uint8_t ch, uint8_t note, uint8_t vel);
60 void (*note_off)(uint8_t ch, uint8_t note, uint8_t vel);
61 void (*all_notes_off)(uint8_t ch);
62 uint8_t midi_channel;
63 uint8_t velocity;
65
68
75void ui_keyboard_app_set_params(uint8_t root_midi, kbd_scale_t scale, bool omnichord);
76
79
82
88
89/* === Octave shift (Custom Keys) ========================================= */
90
95void ui_keyboard_app_set_octave_shift(int8_t shift);
96
99
100/* === Entrées (pads / chord buttons) ===================================== */
101
108void ui_keyboard_app_note_button(uint8_t note_slot, bool pressed);
109
114void ui_keyboard_app_chord_button(uint8_t chord_index, bool pressed);
115
118
121
123void ui_keyboard_app_tick(uint32_t elapsed_ms);
124
127#endif /* BRICK_UI_KEYBOARD_APP_H */
void(* ui_keyboard_chord_cb_t)(const ui_keyboard_active_chord_t *chord)
Definition ui_keyboard_app.h:55
void ui_keyboard_app_set_chord_override(bool enable)
Réglage page 2 : comportement Orchid — les Chord Buttons peuvent déroger à la gamme.
Definition ui_keyboard_app.c:261
int8_t ui_keyboard_app_get_octave_shift(void)
Récupère l’octave shift courant (pour l’overlay).
Definition ui_keyboard_app.c:296
void ui_keyboard_app_all_notes_off(void)
Definition ui_keyboard_app.c:272
const ui_keyboard_active_chord_t * ui_keyboard_app_get_active_chord(void)
Definition ui_keyboard_app.c:277
void ui_keyboard_app_set_octave_shift(int8_t shift)
Définit le décalage d’octave global (appliqué à toutes les notes).
Definition ui_keyboard_app.c:282
void ui_keyboard_app_tick(uint32_t elapsed_ms)
Definition ui_keyboard_app.c:278
note_order_t
Definition ui_keyboard_app.h:37
void ui_keyboard_app_chord_button(uint8_t chord_index, bool pressed)
Chord button press/release (Omni ON uniquement).
Definition ui_keyboard_app.c:336
void ui_keyboard_app_init(const ui_keyboard_note_sink_t *sink)
Definition ui_keyboard_app.c:219
void ui_keyboard_app_note_button(uint8_t note_slot, bool pressed)
Note button press/release.
Definition ui_keyboard_app.c:302
void ui_keyboard_app_set_params(uint8_t root_midi, kbd_scale_t scale, bool omnichord)
Met à jour Root/Scale/Omnichord.
Definition ui_keyboard_app.c:235
void ui_keyboard_app_set_observer(ui_keyboard_chord_cb_t cb)
Definition ui_keyboard_app.c:248
void ui_keyboard_app_set_note_order(note_order_t order)
Definition ui_keyboard_app.c:250
@ NOTE_ORDER_NATURAL
Definition ui_keyboard_app.h:38
@ NOTE_ORDER_FIFTHS
Definition ui_keyboard_app.h:39
Definition ui_keyboard_app.h:47
uint8_t root_midi
Definition ui_keyboard_app.h:49
bool valid
Definition ui_keyboard_app.h:48
uint8_t interval_count
Definition ui_keyboard_app.h:51
Definition ui_keyboard_app.h:58
uint8_t midi_channel
Definition ui_keyboard_app.h:62
uint8_t velocity
Definition ui_keyboard_app.h:63
kbd_scale_t
Definition ui_keyboard_app.h:21
@ KBD_SCALE_NAT_MINOR
Definition ui_keyboard_app.h:23
@ KBD_SCALE_MAJOR
Definition ui_keyboard_app.h:22
@ KBD_SCALE_MIXOLYDIAN
Definition ui_keyboard_app.h:25
@ KBD_SCALE_DORIAN
Definition ui_keyboard_app.h:24
@ KBD_SCALE_PENT_MINOR
Definition ui_keyboard_app.h:27
@ KBD_SCALE_PENT_MAJOR
Definition ui_keyboard_app.h:26
@ KBD_SCALE_CHROMATIC
Definition ui_keyboard_app.h:28