15#ifndef CLOCK_MANAGER_H
16#define CLOCK_MANAGER_H
uint32_t systime_t
Definition ch.h:12
void clock_manager_register_step_callback2(clock_step_cb2_t cb)
Enregistre un callback V2 appelé à chaque pas (1/16).
Definition clock_manager.c:146
clock_source_t
Source d’horloge (interne ou MIDI externe).
Definition clock_manager.h:37
float clock_manager_get_bpm(void)
Récupère le tempo courant (BPM).
Definition clock_manager.c:123
void clock_manager_stop(void)
Arrête la génération d’horloge (et envoie MIDI Stop).
Definition clock_manager.c:139
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...
Definition clock_manager.c:125
clock_source_t clock_manager_get_source(void)
Retourne la source d’horloge actuellement active.
Definition clock_manager.c:115
bool clock_manager_is_running(void)
Indique si l’horloge est actuellement en cours d’exécution.
Definition clock_manager.c:144
void(* clock_step_cb2_t)(const clock_step_info_t *info)
Prototype du callback appelé à chaque step (V2).
Definition clock_manager.h:64
void clock_manager_init(clock_source_t src)
Initialise le gestionnaire d’horloge.
Definition clock_manager.c:104
void clock_manager_set_source(clock_source_t src)
Définit la source active de l’horloge.
Definition clock_manager.c:113
void clock_manager_set_bpm(float bpm)
Définit le tempo (BPM) si l’horloge est interne.
Definition clock_manager.c:117
@ CLOCK_SRC_INTERNAL
Definition clock_manager.h:38
@ CLOCK_SRC_MIDI
Definition clock_manager.h:39
Informations complètes passées au callback à chaque “step” (1/16).
Definition clock_manager.h:52
uint32_t step_idx_abs
Definition clock_manager.h:54
systime_t step_st
Definition clock_manager.h:57
bool ext_clock
Definition clock_manager.h:58
systime_t now
Definition clock_manager.h:53
float bpm
Definition clock_manager.h:55
systime_t tick_st
Definition clock_manager.h:56