Sequencer multi-track project container helpers. Plus de détails...
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "seq_model.h"
#include "board/board_flash.h"
Aller au code source de ce fichier.
Structures de données | |
struct | seq_project_cart_ref_t |
struct | seq_project_track_t |
struct | seq_project_pattern_track_desc_t |
struct | seq_project_pattern_desc_t |
struct | seq_project_bank_t |
struct | seq_project_t |
Macros | |
#define | SEQ_PROJECT_MAX_TRACKS 16U |
#define | SEQ_PROJECT_BANK_COUNT 16U |
#define | SEQ_PROJECT_PATTERNS_PER_BANK 16U |
#define | SEQ_PROJECT_PATTERN_STORAGE_MAX 3968U |
#define | SEQ_PROJECT_FLASH_SLOT_SIZE (1024U * 1024U) |
#define | SEQ_PROJECT_MAX_PROJECTS (BOARD_FLASH_CAPACITY_BYTES / SEQ_PROJECT_FLASH_SLOT_SIZE) |
#define | SEQ_PROJECT_NAME_MAX 24U |
#define | SEQ_PROJECT_PATTERN_NAME_MAX 16U |
Définitions de type | |
typedef uint8_t | seq_project_cart_flags_t |
typedef uint16_t | seq_project_cart_caps_t |
Énumérations | |
enum | { SEQ_PROJECT_CART_FLAG_NONE = 0U , SEQ_PROJECT_CART_FLAG_MUTED = 1U << 0 } |
enum | { SEQ_PROJECT_CART_CAP_NONE = 0U } |
Sequencer multi-track project container helpers.
#define SEQ_PROJECT_BANK_COUNT 16U |
Number of banks stored by a project.
#define SEQ_PROJECT_FLASH_SLOT_SIZE (1024U * 1024U) |
Size of a project slot in external flash.
#define SEQ_PROJECT_MAX_PROJECTS (BOARD_FLASH_CAPACITY_BYTES / SEQ_PROJECT_FLASH_SLOT_SIZE) |
Maximum number of persistent projects.
#define SEQ_PROJECT_MAX_TRACKS 16U |
Maximum number of logical tracks a project can expose.
#define SEQ_PROJECT_NAME_MAX 24U |
Maximum length for project names.
#define SEQ_PROJECT_PATTERN_NAME_MAX 16U |
Maximum length for pattern names.
#define SEQ_PROJECT_PATTERN_STORAGE_MAX 3968U |
Maximum number of bytes reserved per pattern in flash.
#define SEQ_PROJECT_PATTERNS_PER_BANK 16U |
Number of patterns per bank.
typedef uint16_t seq_project_cart_caps_t |
Capabilities advertised by a cart reference.
typedef uint8_t seq_project_cart_flags_t |
Flags attached to a cart reference.
bool seq_pattern_load | ( | uint8_t | bank, |
uint8_t | pattern | ||
) |
bool seq_pattern_save | ( | uint8_t | bank, |
uint8_t | pattern | ||
) |
bool seq_project_assign_track | ( | seq_project_t * | project, |
uint8_t | track_index, | ||
seq_model_pattern_t * | pattern | ||
) |
void seq_project_bump_generation | ( | seq_project_t * | project | ) |
void seq_project_clear_track | ( | seq_project_t * | project, |
uint8_t | track_index | ||
) |
uint8_t seq_project_get_active_bank | ( | const seq_project_t * | project | ) |
seq_model_pattern_t * seq_project_get_active_pattern | ( | seq_project_t * | project | ) |
const seq_model_pattern_t * seq_project_get_active_pattern_const | ( | const seq_project_t * | project | ) |
uint8_t seq_project_get_active_pattern_index | ( | const seq_project_t * | project | ) |
uint8_t seq_project_get_active_track | ( | const seq_project_t * | project | ) |
const seq_model_gen_t * seq_project_get_generation | ( | const seq_project_t * | project | ) |
seq_project_pattern_desc_t * seq_project_get_pattern_descriptor | ( | seq_project_t * | project, |
uint8_t | bank, | ||
uint8_t | pattern | ||
) |
const seq_project_pattern_desc_t * seq_project_get_pattern_descriptor_const | ( | const seq_project_t * | project, |
uint8_t | bank, | ||
uint8_t | pattern | ||
) |
seq_model_pattern_t * seq_project_get_track | ( | seq_project_t * | project, |
uint8_t | track_index | ||
) |
const seq_project_cart_ref_t * seq_project_get_track_cart | ( | const seq_project_t * | project, |
uint8_t | track_index | ||
) |
const seq_model_pattern_t * seq_project_get_track_const | ( | const seq_project_t * | project, |
uint8_t | track_index | ||
) |
uint8_t seq_project_get_track_count | ( | const seq_project_t * | project | ) |
void seq_project_init | ( | seq_project_t * | project | ) |
bool seq_project_load | ( | uint8_t | project_index | ) |
bool seq_project_save | ( | uint8_t | project_index | ) |
bool seq_project_set_active_slot | ( | seq_project_t * | project, |
uint8_t | bank, | ||
uint8_t | pattern | ||
) |
bool seq_project_set_active_track | ( | seq_project_t * | project, |
uint8_t | track_index | ||
) |
void seq_project_set_track_cart | ( | seq_project_t * | project, |
uint8_t | track_index, | ||
const seq_project_cart_ref_t * | cart | ||
) |