Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
Référence du fichier ui_backend_midi_ids.h

Espace d'identifiants (local 13 bits) pour les évènements MIDI routés via ui_backend. Plus de détails...

#include <stdint.h>
#include "ui_backend.h"

Aller au code source de ce fichier.

Macros

#define UI_MIDI_NOTE_ON_BASE_LOCAL   0x0100u
 
#define UI_MIDI_NOTE_OFF_BASE_LOCAL   0x0200u
 
#define UI_MIDI_ALL_NOTES_OFF_LOCAL   0x0001u
 
#define UI_MIDI_NOTE_ON_ID(n)   (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_ON_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))
 
#define UI_MIDI_NOTE_OFF_ID(n)   (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_OFF_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))
 
#define UI_MIDI_ALL_NOTES_OFF_ID   (uint16_t)(UI_DEST_MIDI | (UI_MIDI_ALL_NOTES_OFF_LOCAL & 0x1FFFu))
 

Description détaillée

Espace d'identifiants (local 13 bits) pour les évènements MIDI routés via ui_backend.

Convention de routage MIDI via ui_backend_param_changed():

  • NOTE ON : id = UI_DEST_MIDI | (0x0100 + note[0..127]), val = velocity[1..127]
  • NOTE OFF : id = UI_DEST_MIDI | (0x0200 + note[0..127]), val = 0
  • PANIC : id = UI_DEST_MIDI | 0x0001, val = 0

L’objectif est de faire passer toutes les notes par ui_backend, pour que ton futur séquenceur intercepte ce flux (live rec) au même endroit.

Documentation des macros

◆ UI_MIDI_ALL_NOTES_OFF_ID

#define UI_MIDI_ALL_NOTES_OFF_ID   (uint16_t)(UI_DEST_MIDI | (UI_MIDI_ALL_NOTES_OFF_LOCAL & 0x1FFFu))

◆ UI_MIDI_ALL_NOTES_OFF_LOCAL

#define UI_MIDI_ALL_NOTES_OFF_LOCAL   0x0001u

◆ UI_MIDI_NOTE_OFF_BASE_LOCAL

#define UI_MIDI_NOTE_OFF_BASE_LOCAL   0x0200u

◆ UI_MIDI_NOTE_OFF_ID

#define UI_MIDI_NOTE_OFF_ID (   n)    (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_OFF_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))

◆ UI_MIDI_NOTE_ON_BASE_LOCAL

#define UI_MIDI_NOTE_ON_BASE_LOCAL   0x0100u

◆ UI_MIDI_NOTE_ON_ID

#define UI_MIDI_NOTE_ON_ID (   n)    (uint16_t)(UI_DEST_MIDI | ((UI_MIDI_NOTE_ON_BASE_LOCAL + ((n) & 0x7Fu)) & 0x1FFFu))