#ifndef SETTINGS_H_INCLUDED #define SETTINGS_H_INCLUDED #include #include "pot.h" #define MAX_PATTERN_LEN 64 #define MAX_TRACKS 8 #define MAX_PATTERNS 32 #define STORAGE_HDR (0xDA1EDA1E) struct settings; extern struct settings *Settings; struct __attribute__((packed)) drone_slot { uint8_t pitch; uint8_t env; }; struct settings { uint32_t storage_hdr; int levels[NUM_POTS]; #define master_vol levels[2] int bpm; int beatcount; int sequencer_on; int current_pattern; struct drums_pattern { uint32_t len; uint32_t data[MAX_PATTERN_LEN]; } drums[MAX_PATTERNS]; struct drone_pattern { struct drone_slot data[MAX_PATTERN_LEN]; } drone[MAX_PATTERNS]; }; void settings_load(void); void settings_save(void); #endif