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

Gestionnaire central d’horloge et de synchronisation tempo / MIDI. Plus de détails...

#include <stdbool.h>
#include "ch.h"

Aller au code source de ce fichier.

Structures de données

struct  clock_step_info_t
 Informations complètes passées au callback à chaque “step” (1/16). Plus de détails...
 

Définitions de type

typedef void(* clock_step_cb2_t) (const clock_step_info_t *info)
 Prototype du callback appelé à chaque step (V2).
 

Énumérations

enum  clock_source_t { CLOCK_SRC_INTERNAL , CLOCK_SRC_MIDI }
 Source d’horloge (interne ou MIDI externe). Plus de détails...
 

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 d’horloge et de synchronisation tempo / MIDI.

Ce module fournit une interface unifiée pour le contrôle du tempo, du start/stop et du routing MIDI Clock :

  • Horloge interne (générée localement)
  • Horloge externe via MIDI (esclave)
  • Conversion 24 PPQN → pas 1/16
  • Callback d’avancement de pas riche (V2) pour le moteur de séquenceur