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

Sequencer engine implementation (reader + scheduler + player). Plus de détails...

#include "seq_engine.h"
#include "brick_config.h"
#include <limits.h>
#include <string.h>

Macros

#define SEQ_ENGINE_PLAYER_STACK_SIZE   4096U
 
#define SEQ_ENGINE_MICRO_MAX   12
 
#define SEQ_ENGINE_MICRO_DIVISOR   24
 

Fonctions

void seq_engine_init (seq_engine_t *engine, const seq_engine_config_t *config)
 
void seq_engine_set_callbacks (seq_engine_t *engine, const seq_engine_callbacks_t *callbacks)
 
void seq_engine_attach_pattern (seq_engine_t *engine, seq_model_pattern_t *pattern)
 
msg_t seq_engine_start (seq_engine_t *engine)
 
void seq_engine_stop (seq_engine_t *engine)
 
void seq_engine_reset (seq_engine_t *engine)
 
bool seq_engine_scheduler_push (seq_engine_scheduler_t *scheduler, const seq_engine_event_t *event)
 
bool seq_engine_scheduler_pop (seq_engine_scheduler_t *scheduler, seq_engine_event_t *out_event)
 
bool seq_engine_scheduler_peek (const seq_engine_scheduler_t *scheduler, seq_engine_event_t *out_event)
 
void seq_engine_scheduler_clear (seq_engine_scheduler_t *scheduler)
 
void seq_engine_process_step (seq_engine_t *engine, const clock_step_info_t *info)
 

Description détaillée

Sequencer engine implementation (reader + scheduler + player).

Documentation des macros

◆ SEQ_ENGINE_MICRO_DIVISOR

#define SEQ_ENGINE_MICRO_DIVISOR   24

◆ SEQ_ENGINE_MICRO_MAX

#define SEQ_ENGINE_MICRO_MAX   12

◆ SEQ_ENGINE_PLAYER_STACK_SIZE

#define SEQ_ENGINE_PLAYER_STACK_SIZE   4096U

Documentation des fonctions

◆ seq_engine_attach_pattern()

void seq_engine_attach_pattern ( seq_engine_t engine,
seq_model_pattern_t pattern 
)

◆ seq_engine_init()

void seq_engine_init ( seq_engine_t engine,
const seq_engine_config_t config 
)

◆ seq_engine_process_step()

void seq_engine_process_step ( seq_engine_t engine,
const clock_step_info_t info 
)

◆ seq_engine_reset()

void seq_engine_reset ( seq_engine_t engine)

◆ seq_engine_scheduler_clear()

void seq_engine_scheduler_clear ( seq_engine_scheduler_t scheduler)

◆ seq_engine_scheduler_peek()

bool seq_engine_scheduler_peek ( const seq_engine_scheduler_t scheduler,
seq_engine_event_t out_event 
)

◆ seq_engine_scheduler_pop()

bool seq_engine_scheduler_pop ( seq_engine_scheduler_t scheduler,
seq_engine_event_t out_event 
)

◆ seq_engine_scheduler_push()

bool seq_engine_scheduler_push ( seq_engine_scheduler_t scheduler,
const seq_engine_event_t event 
)

◆ seq_engine_set_callbacks()

void seq_engine_set_callbacks ( seq_engine_t engine,
const seq_engine_callbacks_t callbacks 
)

◆ seq_engine_start()

msg_t seq_engine_start ( seq_engine_t engine)

◆ seq_engine_stop()

void seq_engine_stop ( seq_engine_t engine)