Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
UI Keyboard App

Structures de données

struct  ui_keyboard_active_chord_t
 
struct  ui_keyboard_note_sink_t
 

Macros

#define CUSTOM_KEYS_OCT_SHIFT_MIN   (-4)
 
#define CUSTOM_KEYS_OCT_SHIFT_MAX   (+4)
 

Définitions de type

typedef void(* ui_keyboard_chord_cb_t) (const ui_keyboard_active_chord_t *chord)
 

Énumérations

enum  note_order_t { NOTE_ORDER_NATURAL = 0 , NOTE_ORDER_FIFTHS = 1 }
 

Fonctions

void ui_keyboard_app_init (const ui_keyboard_note_sink_t *sink)
 
void ui_keyboard_app_set_params (uint8_t root_midi, kbd_scale_t scale, bool omnichord)
 Met à jour Root/Scale/Omnichord.
 
void ui_keyboard_app_set_observer (ui_keyboard_chord_cb_t cb)
 
void ui_keyboard_app_set_note_order (note_order_t order)
 
void ui_keyboard_app_set_chord_override (bool enable)
 Réglage page 2 : comportement Orchid — les Chord Buttons peuvent déroger à la gamme.
 
void ui_keyboard_app_set_octave_shift (int8_t shift)
 Définit le décalage d’octave global (appliqué à toutes les notes).
 
int8_t ui_keyboard_app_get_octave_shift (void)
 Récupère l’octave shift courant (pour l’overlay).
 
void ui_keyboard_app_note_button (uint8_t note_slot, bool pressed)
 Note button press/release.
 
void ui_keyboard_app_chord_button (uint8_t chord_index, bool pressed)
 Chord button press/release (Omni ON uniquement).
 
void ui_keyboard_app_all_notes_off (void)
 
const ui_keyboard_active_chord_tui_keyboard_app_get_active_chord (void)
 
void ui_keyboard_app_tick (uint32_t elapsed_ms)
 

Description détaillée

Documentation des macros

◆ CUSTOM_KEYS_OCT_SHIFT_MAX

#define CUSTOM_KEYS_OCT_SHIFT_MAX   (+4)

◆ CUSTOM_KEYS_OCT_SHIFT_MIN

#define CUSTOM_KEYS_OCT_SHIFT_MIN   (-4)

Bornes recommandées pour l’octave shift.

Documentation des définitions de type

◆ ui_keyboard_chord_cb_t

typedef void(* ui_keyboard_chord_cb_t) (const ui_keyboard_active_chord_t *chord)

Callback observateur pour notifier l’état de l’accord actif.

Documentation du type de l'énumération

◆ note_order_t

Ordre des notes pour le layout des pads (page 2).

Valeurs énumérées
NOTE_ORDER_NATURAL 

ordre naturel de la gamme courante

NOTE_ORDER_FIFTHS 

cycle des quintes depuis la root (root, +7, +14, ...)

Documentation des fonctions

◆ ui_keyboard_app_all_notes_off()

void ui_keyboard_app_all_notes_off ( void  )

Coupe toutes les notes actives.

◆ ui_keyboard_app_chord_button()

void ui_keyboard_app_chord_button ( uint8_t  chord_index,
bool  pressed 
)

Chord button press/release (Omni ON uniquement).

Paramètres
chord_index0..7 (0..3 = bases Maj/Min/Sus4/Dim, 4..7 = extensions 7/M7/6/9).

◆ ui_keyboard_app_get_active_chord()

const ui_keyboard_active_chord_t * ui_keyboard_app_get_active_chord ( void  )

Retourne un pointeur constant sur l’accord actif.

◆ ui_keyboard_app_get_octave_shift()

int8_t ui_keyboard_app_get_octave_shift ( void  )

Récupère l’octave shift courant (pour l’overlay).

◆ ui_keyboard_app_init()

void ui_keyboard_app_init ( const ui_keyboard_note_sink_t sink)

Initialisation de l’app Keyboard (registre le sink MIDI).

◆ ui_keyboard_app_note_button()

void ui_keyboard_app_note_button ( uint8_t  note_slot,
bool  pressed 
)

Note button press/release.

Paramètres
note_slot
  • Omni OFF : 0..15 (0..7 = ligne haute / +12 ; 8..15 = ligne basse / 0)
  • Omni ON : 0..7 (7 degrés + octave root)

◆ ui_keyboard_app_set_chord_override()

void ui_keyboard_app_set_chord_override ( bool  enable)

Réglage page 2 : comportement Orchid — les Chord Buttons peuvent déroger à la gamme.

Paramètres
enabletrue = allow accidentals (bypass quantization pour les notes d'accords Omnichord)

◆ ui_keyboard_app_set_note_order()

void ui_keyboard_app_set_note_order ( note_order_t  order)

Réglage page 2 : ordre des notes (Natural vs Circle of Fifths).

◆ ui_keyboard_app_set_observer()

void ui_keyboard_app_set_observer ( ui_keyboard_chord_cb_t  cb)

Enregistre le callback d’observation d’accord (optionnel).

◆ ui_keyboard_app_set_octave_shift()

void ui_keyboard_app_set_octave_shift ( int8_t  shift)

Définit le décalage d’octave global (appliqué à toutes les notes).

Paramètres
shiftOctaves dans [-4..+4] ; 0 = base C4

◆ ui_keyboard_app_set_params()

void ui_keyboard_app_set_params ( uint8_t  root_midi,
kbd_scale_t  scale,
bool  omnichord 
)

Met à jour Root/Scale/Omnichord.

Paramètres
root_midiRoot absolue MIDI (ex. C4 = 60)
scaleIdentifiant de gamme
omnichordtrue pour activer le mode Omnichord

◆ ui_keyboard_app_tick()

void ui_keyboard_app_tick ( uint32_t  elapsed_ms)

Tick optionnel (placeholder pour évolutions).