2021-05-15 17:42:48 -04:00
|
|
|
#ifndef _MACROINT_H
|
|
|
|
#define _MACROINT_H
|
|
|
|
|
|
|
|
#include "instrument.h"
|
|
|
|
|
|
|
|
class DivMacroInt {
|
|
|
|
DivInstrument* ins;
|
2022-01-13 13:55:33 -05:00
|
|
|
int volPos, arpPos, dutyPos, wavePos, pitchPos, ex1Pos, ex2Pos, ex3Pos;
|
2021-05-15 17:42:48 -04:00
|
|
|
public:
|
2022-01-10 16:54:58 -05:00
|
|
|
int vol;
|
|
|
|
int arp;
|
2022-01-13 13:55:33 -05:00
|
|
|
int duty, wave, pitch, ex1, ex2, ex3;
|
|
|
|
bool hasVol, hasArp, hasDuty, hasWave, hasPitch, hasEx1, hasEx2, hasEx3;
|
|
|
|
bool hadVol, hadArp, hadDuty, hadWave, hadPitch, hadEx1, hadEx2, hadEx3;
|
|
|
|
bool finishedVol, finishedArp, finishedDuty, finishedWave, finishedPitch, finishedEx1, finishedEx2, finishedEx3;
|
|
|
|
bool willVol, willArp, willDuty, willWave, willPitch, willEx1, willEx2, willEx3;
|
2021-05-16 13:47:05 -04:00
|
|
|
bool arpMode;
|
2021-05-15 17:42:48 -04:00
|
|
|
void next();
|
|
|
|
void init(DivInstrument* which);
|
2022-01-13 19:36:02 -05:00
|
|
|
void notifyInsDeletion(DivInstrument* which);
|
2021-05-15 17:42:48 -04:00
|
|
|
DivMacroInt():
|
|
|
|
ins(NULL),
|
2021-05-28 03:02:54 -04:00
|
|
|
volPos(0),
|
|
|
|
arpPos(0),
|
|
|
|
dutyPos(0),
|
|
|
|
wavePos(0),
|
2022-01-13 13:55:33 -05:00
|
|
|
pitchPos(0),
|
|
|
|
ex1Pos(0),
|
|
|
|
ex2Pos(0),
|
|
|
|
ex3Pos(0),
|
2021-05-15 17:42:48 -04:00
|
|
|
vol(0),
|
|
|
|
arp(0),
|
|
|
|
duty(0),
|
|
|
|
wave(0),
|
2022-01-13 13:55:33 -05:00
|
|
|
pitch(0),
|
|
|
|
ex1(0),
|
|
|
|
ex2(0),
|
|
|
|
ex3(0),
|
2021-05-15 17:42:48 -04:00
|
|
|
hasVol(false),
|
|
|
|
hasArp(false),
|
|
|
|
hasDuty(false),
|
|
|
|
hasWave(false),
|
2022-01-13 13:55:33 -05:00
|
|
|
hasPitch(false),
|
|
|
|
hasEx1(false),
|
|
|
|
hasEx2(false),
|
|
|
|
hasEx3(false),
|
2021-05-15 17:42:48 -04:00
|
|
|
hadVol(false),
|
|
|
|
hadArp(false),
|
|
|
|
hadDuty(false),
|
2021-05-16 13:47:05 -04:00
|
|
|
hadWave(false),
|
2022-01-13 13:55:33 -05:00
|
|
|
hadPitch(false),
|
|
|
|
hadEx1(false),
|
|
|
|
hadEx2(false),
|
|
|
|
hadEx3(false),
|
2021-05-28 03:02:54 -04:00
|
|
|
finishedVol(false),
|
|
|
|
finishedArp(false),
|
|
|
|
finishedDuty(false),
|
|
|
|
finishedWave(false),
|
2022-01-13 13:55:33 -05:00
|
|
|
finishedPitch(false),
|
|
|
|
finishedEx1(false),
|
|
|
|
finishedEx2(false),
|
|
|
|
finishedEx3(false),
|
2021-12-08 01:16:29 -05:00
|
|
|
willVol(false),
|
|
|
|
willArp(false),
|
|
|
|
willDuty(false),
|
|
|
|
willWave(false),
|
2022-01-13 13:55:33 -05:00
|
|
|
willPitch(false),
|
|
|
|
willEx1(false),
|
|
|
|
willEx2(false),
|
|
|
|
willEx3(false),
|
2021-05-16 13:47:05 -04:00
|
|
|
arpMode(false) {}
|
2021-05-15 17:42:48 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|