GUI: OPZ instrument editor work - dev77

This commit is contained in:
tildearrow 2022-04-07 00:45:53 -05:00
parent 530327383a
commit b162c09f7c
5 changed files with 245 additions and 80 deletions

View file

@ -42,8 +42,8 @@
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
#define BUSY_END isBusy.unlock(); softLocked=false;
#define DIV_VERSION "dev76"
#define DIV_ENGINE_VERSION 76
#define DIV_VERSION "dev77"
#define DIV_ENGINE_VERSION 77
// for imports
#define DIV_VERSION_MOD 0xff01

View file

@ -463,6 +463,10 @@ void DivInstrument::putInsData(SafeWriter* w) {
w->writeC(0);
w->writeC(0);
w->write(fds.modTable,32);
// OPZ
w->writeC(fm.fms2);
w->writeC(fm.ams2);
}
DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
@ -885,6 +889,12 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
reader.readC();
reader.read(fds.modTable,32);
}
// OPZ
if (version>=77) {
fm.fms2=reader.readC();
fm.ams2=reader.readC();
}
return DIV_DATA_SUCCESS;
}

View file

@ -73,7 +73,7 @@ enum DivInstrumentType {
// - WS, DVB = MULT (FINE), DAM = REV, KSL = EGShift, EGT = Fixed
struct DivInstrumentFM {
unsigned char alg, fb, fms, ams, ops, opllPreset;
unsigned char alg, fb, fms, ams, fms2, ams2, ops, opllPreset;
bool fixedDrums;
unsigned short kickFreq, snareHatFreq, tomTopFreq;
struct Operator {
@ -106,6 +106,8 @@ struct DivInstrumentFM {
fb(0),
fms(0),
ams(0),
fms2(0),
ams2(0),
ops(2),
opllPreset(0),
fixedDrums(false),