Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
ui_backend_midi_ids.h
Aller à la documentation de ce fichier.
1
16#ifndef BRICK_UI_BACKEND_MIDI_IDS_H
17#define BRICK_UI_BACKEND_MIDI_IDS_H
18
19#include <stdint.h>
20#include "ui_backend.h" /* UI_DEST_MIDI, UI_DEST_ID(...) */
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/* Bases locales (13 bits) */
27#define UI_MIDI_NOTE_ON_BASE_LOCAL 0x0100u
28#define UI_MIDI_NOTE_OFF_BASE_LOCAL 0x0200u
29#define UI_MIDI_ALL_NOTES_OFF_LOCAL 0x0001u
30
31/* Helpers pour composer l'identifiant complet (avec destination MIDI) */
32#define UI_MIDI_NOTE_ON_ID(n) (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_ON_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))
33#define UI_MIDI_NOTE_OFF_ID(n) (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_OFF_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))
34#define UI_MIDI_ALL_NOTES_OFF_ID (uint16_t)(UI_DEST_MIDI | (UI_MIDI_ALL_NOTES_OFF_LOCAL & 0x1FFFu))
35
36#ifdef __cplusplus
37}
38#endif
39
40#endif /* BRICK_UI_BACKEND_MIDI_IDS_H */
Pont neutre entre la couche UI (controller/model) et les couches basses (cart, UI interne,...