Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
seq_led_bridge.h
Aller à la documentation de ce fichier.
1
9#ifndef BRICK_SEQ_LED_BRIDGE_H
10#define BRICK_SEQ_LED_BRIDGE_H
11
12#include <stdbool.h>
13#include <stdint.h>
14
15#include "core/seq/seq_model.h"
17#include "ui_led_seq.h"
18#include "ui_seq_ids.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/* ====== API Bridge ======================================================= */
25void seq_led_bridge_init(void);
26void seq_led_bridge_publish(void);
27
28void seq_led_bridge_set_max_pages(uint8_t max_pages);
29void seq_led_bridge_set_total_span(uint16_t total_steps);
30
33void seq_led_bridge_set_visible_page(uint8_t page);
34
37
40
41/* Edition simple */
43void seq_led_bridge_set_step_param_only(uint8_t i, bool on);
44
45/* Hooks transport */
46void seq_led_bridge_on_play(void);
47void seq_led_bridge_on_stop(void);
48
49/* Preview P-Lock */
50void seq_led_bridge_plock_add(uint8_t i);
51void seq_led_bridge_plock_remove(uint8_t i);
52void seq_led_bridge_begin_plock_preview(uint16_t held_mask);
54 int32_t value,
55 uint16_t held_mask);
57void seq_led_bridge_apply_cart_param(uint16_t parameter_id,
58 int32_t value,
59 uint16_t held_mask);
60
61typedef struct {
62 bool available;
63 bool mixed;
64 bool plocked;
65 int32_t value;
67
74
76bool seq_led_bridge_hold_get_cart_param(uint16_t parameter_id,
78
79/* Helpers (exposés si besoin moteur) */
80void seq_led_bridge_step_clear(uint8_t i);
81void seq_led_bridge_step_set_voice(uint8_t i, uint8_t voice_idx, uint8_t pitch, uint8_t velocity);
82void seq_led_bridge_step_set_has_plock(uint8_t i, bool on);
83
87
92bool seq_led_bridge_select_track(uint8_t track);
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif /* BRICK_SEQ_LED_BRIDGE_H */
99
void seq_led_bridge_apply_plock_param(seq_hold_param_id_t param_id, int32_t value, uint16_t held_mask)
Definition seq_led_bridge.c:1041
void seq_led_bridge_step_set_has_plock(uint8_t i, bool on)
Definition seq_led_bridge.c:916
uint8_t seq_led_bridge_get_track_count(void)
Definition seq_led_bridge.c:1295
void seq_led_bridge_plock_add(uint8_t i)
Definition seq_led_bridge.c:1015
void seq_led_bridge_plock_remove(uint8_t i)
Definition seq_led_bridge.c:1025
void seq_led_bridge_set_visible_page(uint8_t page)
Definition seq_led_bridge.c:867
void seq_led_bridge_step_set_voice(uint8_t i, uint8_t voice_idx, uint8_t pitch, uint8_t velocity)
Definition seq_led_bridge.c:892
uint8_t seq_led_bridge_get_max_pages(void)
Nombre maximum de pages configuré.
Definition seq_led_bridge.c:876
const seq_model_gen_t * seq_led_bridge_get_generation(void)
Definition seq_led_bridge.c:1278
void seq_led_bridge_page_prev(void)
Definition seq_led_bridge.c:859
void seq_led_bridge_quick_toggle_step(uint8_t i)
Definition seq_led_bridge.c:947
void seq_led_bridge_set_step_param_only(uint8_t i, bool on)
Definition seq_led_bridge.c:971
bool seq_led_bridge_hold_get_cart_param(uint16_t parameter_id, seq_led_bridge_hold_param_t *out)
Definition seq_led_bridge.c:1201
void seq_led_bridge_page_next(void)
Definition seq_led_bridge.c:851
seq_model_pattern_t * seq_led_bridge_access_pattern(void)
Definition seq_led_bridge.c:1270
bool seq_led_bridge_select_track(uint8_t track)
Definition seq_led_bridge.c:1299
void seq_led_bridge_step_clear(uint8_t i)
Definition seq_led_bridge.c:880
void seq_led_bridge_publish(void)
Definition seq_led_bridge.c:806
uint8_t seq_led_bridge_get_track_index(void)
Definition seq_led_bridge.c:1291
void seq_led_bridge_set_total_span(uint16_t total_steps)
Definition seq_led_bridge.c:830
void seq_led_bridge_on_stop(void)
Definition seq_led_bridge.c:1007
seq_project_t * seq_led_bridge_get_project(void)
Definition seq_led_bridge.c:1283
void seq_led_bridge_set_max_pages(uint8_t max_pages)
Definition seq_led_bridge.c:810
const seq_project_t * seq_led_bridge_get_project_const(void)
Definition seq_led_bridge.c:1287
void seq_led_bridge_begin_plock_preview(uint16_t held_mask)
Definition seq_led_bridge.c:1035
void seq_led_bridge_on_play(void)
Definition seq_led_bridge.c:1003
void seq_led_bridge_end_plock_preview(void)
Definition seq_led_bridge.c:1191
uint8_t seq_led_bridge_get_visible_page(void)
Page visible courante (0..N-1).
Definition seq_led_bridge.c:872
const seq_model_pattern_t * seq_led_bridge_get_pattern(void)
Definition seq_led_bridge.c:1274
void seq_led_bridge_init(void)
Definition seq_led_bridge.c:779
const seq_led_bridge_hold_view_t * seq_led_bridge_get_hold_view(void)
Definition seq_led_bridge.c:1197
void seq_led_bridge_apply_cart_param(uint16_t parameter_id, int32_t value, uint16_t held_mask)
Definition seq_led_bridge.c:1219
Brick sequencer data model definitions and helpers.
Sequencer multi-track project container helpers.
Definition seq_led_bridge.h:61
int32_t value
Definition seq_led_bridge.h:65
bool plocked
Definition seq_led_bridge.h:64
bool available
Definition seq_led_bridge.h:62
bool mixed
Definition seq_led_bridge.h:63
Definition seq_led_bridge.h:68
uint8_t step_count
Definition seq_led_bridge.h:71
uint16_t mask
Definition seq_led_bridge.h:70
bool active
Definition seq_led_bridge.h:69
Definition seq_model.h:30
Definition seq_model.h:150
Definition seq_project.h:96
Rendu LED du mode SEQ (playhead absolu, P-Lock, param-only).
Shared identifiers for the SEQ UI parameters and hold rendering.
seq_hold_param_id_t
Identifiers used when aggregating held-step parameters for rendering.
Definition ui_seq_ids.h:59
@ SEQ_HOLD_PARAM_COUNT
Definition ui_seq_ids.h:85