Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
clock_manager.h
Aller à la documentation de ce fichier.
1
15#ifndef CLOCK_MANAGER_H
16#define CLOCK_MANAGER_H
17
18#include <stdbool.h>
19#include "ch.h" // systime_t
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
30/* ======================================================================
31 * TYPES
32 * ====================================================================== */
33
41
60
64typedef void (*clock_step_cb2_t)(const clock_step_info_t *info);
65
66/* ======================================================================
67 * API
68 * ====================================================================== */
69
75
80
85
89void clock_manager_set_bpm(float bpm);
90
94float clock_manager_get_bpm(void);
95
100void clock_manager_start(void);
101
105void clock_manager_stop(void);
106
110bool clock_manager_is_running(void);
111
117
// end of group clock
119
120#ifdef __cplusplus
121}
122#endif
123
124#endif /* 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