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

Gestionnaire central du tempo et des signaux d’horloge MIDI / interne. Plus de détails...

#include "clock_manager.h"
#include "midi_clock.h"
#include "midi.h"
#include "hal.h"

Fonctions

void clock_manager_init (clock_source_t src)
 Initialise le gestionnaire d’horloge.
 
void clock_manager_set_source (clock_source_t src)
 Définit la source active de l’horloge.
 
clock_source_t clock_manager_get_source (void)
 Retourne la source d’horloge actuellement active.
 
void clock_manager_set_bpm (float bpm)
 Définit le tempo (BPM) si l’horloge est interne.
 
float clock_manager_get_bpm (void)
 Récupère le tempo courant (BPM).
 
void clock_manager_start (void)
 Démarre la génération d’horloge. Envoie aussi MIDI Start sur la sortie active et réinitialise l’index de step.
 
void clock_manager_stop (void)
 Arrête la génération d’horloge (et envoie MIDI Stop).
 
bool clock_manager_is_running (void)
 Indique si l’horloge est actuellement en cours d’exécution.
 
void clock_manager_register_step_callback2 (clock_step_cb2_t cb)
 Enregistre un callback V2 appelé à chaque pas (1/16).
 

Description détaillée

Gestionnaire central du tempo et des signaux d’horloge MIDI / interne.

Ce module unifie la gestion du tempo, du déclenchement de pas (step) et du routage MIDI Clock :

  • Source d’horloge interne ou externe (via MIDI)
  • Conversion 24 PPQN → 1/16 (6 ticks MIDI par pas)
  • Démarrage / arrêt synchronisé (Start/Stop/SongPos)
  • Gestion du tempo via midi_clock