#define NUM_LFO 4 #define NUM_POLYPHONY 32 struct engine_t { struct osc_t osc[NUM_LFO]; struct voice_t voice[NUM_POLYPHONY]; }; void engine_init(); void engine_run(struct engine_t *engine, uint32_t samples, float *left, float *right); void engine_startvoice(struct engine_t *engine, uint8_t note, uint8_t velocity); void engine_endvoice(struct engine_t *engine, uint8_t note, uint8_t velocity);