Interface du générateur d’horloge MIDI (24 PPQN via GPT3). Plus de détails...
Aller au code source de ce fichier.
Définitions de type | |
typedef void(* | midi_tick_cb_t) (void) |
Type de callback appelé à chaque tick MIDI (24 PPQN). | |
Fonctions | |
void | midi_clock_register_tick_callback (midi_tick_cb_t cb) |
Enregistre un callback appelé à chaque tick (24 PPQN). | |
void | midi_clock_init (void) |
Initialise le générateur d’horloge MIDI. | |
void | midi_clock_start (void) |
Démarre la génération de MIDI Clock. | |
void | midi_clock_stop (void) |
Stoppe la génération de MIDI Clock. | |
void | midi_clock_set_bpm (float bpm) |
Définit le BPM et recalcule l’intervalle du timer. | |
float | midi_clock_get_bpm (void) |
Retourne le tempo actuel (BPM). | |
bool | midi_clock_is_running (void) |
Indique si l’horloge MIDI est actuellement en cours d’exécution. | |
Interface du générateur d’horloge MIDI (24 PPQN via GPT3).
Ce module fournit une horloge MIDI conforme à la spécification :
0xF8
à fréquence dépendant du BPM.midi_tick_cb_t |
Type de callback appelé à chaque tick MIDI (24 PPQN).
float midi_clock_get_bpm | ( | void | ) |
Retourne le tempo actuel (BPM).
void midi_clock_init | ( | void | ) |
Initialise le générateur d’horloge MIDI.
Configure GPT3 (1 MHz), initialise la sémaphore de synchronisation et crée le thread d’envoi des ticks.
Initialise le générateur d’horloge MIDI.
bool midi_clock_is_running | ( | void | ) |
Indique si l’horloge MIDI est actuellement en cours d’exécution.
Indique si l’horloge MIDI est actuellement en cours d’exécution.
void midi_clock_register_tick_callback | ( | midi_tick_cb_t | cb | ) |
Enregistre un callback appelé à chaque tick (24 PPQN).
cb | Pointeur de fonction callback |
Enregistre un callback appelé à chaque tick (24 PPQN).
void midi_clock_set_bpm | ( | float | bpm | ) |
Définit le BPM et recalcule l’intervalle du timer.
Si la clock est active, le GPT est redémarré avec la nouvelle période.
bpm | Nouveau tempo en battements par minute. |
Définit le BPM et recalcule l’intervalle du timer.
bpm | Nouveau tempo en BPM. |
void midi_clock_start | ( | void | ) |
Démarre la génération de MIDI Clock.
Lance le GPT en mode continu selon le BPM courant.
void midi_clock_stop | ( | void | ) |
Stoppe la génération de MIDI Clock.
Arrête le timer GPT (plus de tick F8).
Stoppe la génération de MIDI Clock.