add experimental low-latency mode

do not use (yet)!
This commit is contained in:
tildearrow 2022-04-15 05:37:23 -05:00
parent d47a59f5f0
commit 96715ed88c
38 changed files with 201 additions and 120 deletions

View file

@ -22,6 +22,8 @@
#include "instrument.h"
class DivEngine;
struct DivMacroStruct {
int pos;
int val;
@ -49,10 +51,12 @@ struct DivMacroStruct {
};
class DivMacroInt {
DivEngine* e;
DivInstrument* ins;
DivMacroStruct* macroList[128];
DivInstrumentMacro* macroSource[128];
size_t macroListLen;
int subTick;
bool released;
public:
// common macro
@ -102,6 +106,12 @@ class DivMacroInt {
*/
void next();
/**
* set the engine.
* @param the engine
*/
void setEngine(DivEngine* eng);
/**
* initialize the macro interpreter.
* @param which an instrument, or NULL.
@ -115,8 +125,10 @@ class DivMacroInt {
void notifyInsDeletion(DivInstrument* which);
DivMacroInt():
e(NULL),
ins(NULL),
macroListLen(0),
subTick(0),
released(false),
vol(),
arp(),