store ES5506 params in format
This commit is contained in:
parent
13158b86cf
commit
952a2a66e8
4 changed files with 46 additions and 7 deletions
|
|
@ -46,8 +46,8 @@
|
|||
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
|
||||
#define BUSY_END isBusy.unlock(); softLocked=false;
|
||||
|
||||
#define DIV_VERSION "dev106"
|
||||
#define DIV_ENGINE_VERSION 106
|
||||
#define DIV_VERSION "dev107"
|
||||
#define DIV_ENGINE_VERSION 107
|
||||
|
||||
// for imports
|
||||
#define DIV_VERSION_MOD 0xff01
|
||||
|
|
|
|||
|
|
@ -543,6 +543,18 @@ void DivInstrument::putInsData(SafeWriter* w) {
|
|||
w->writeC(gb.softEnv);
|
||||
w->writeC(gb.alwaysInit);
|
||||
|
||||
// ES5506
|
||||
w->writeC(es5506.filter.mode);
|
||||
w->writeS(es5506.filter.k1);
|
||||
w->writeS(es5506.filter.k2);
|
||||
w->writeS(es5506.envelope.ecount);
|
||||
w->writeC(es5506.envelope.lVRamp);
|
||||
w->writeC(es5506.envelope.rVRamp);
|
||||
w->writeC(es5506.envelope.k1Ramp);
|
||||
w->writeC(es5506.envelope.k2Ramp);
|
||||
w->writeC(es5506.envelope.k1Slow);
|
||||
w->writeC(es5506.envelope.k2Slow);
|
||||
|
||||
blockEndSeek=w->tell();
|
||||
w->seek(blockStartSeek,SEEK_SET);
|
||||
w->writeI(blockEndSeek-blockStartSeek-4);
|
||||
|
|
@ -1111,6 +1123,20 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
|
|||
gb.alwaysInit=reader.readC();
|
||||
}
|
||||
|
||||
// ES5506
|
||||
if (version>=107) {
|
||||
es5506.filter.mode=(DivInstrumentES5506::Filter::FilterMode)reader.readC();
|
||||
es5506.filter.k1=reader.readS();
|
||||
es5506.filter.k2=reader.readS();
|
||||
es5506.envelope.ecount=reader.readS();
|
||||
es5506.envelope.lVRamp=reader.readC();
|
||||
es5506.envelope.rVRamp=reader.readC();
|
||||
es5506.envelope.k1Ramp=reader.readC();
|
||||
es5506.envelope.k2Ramp=reader.readC();
|
||||
es5506.envelope.k1Slow=reader.readC();
|
||||
es5506.envelope.k2Slow=reader.readC();
|
||||
}
|
||||
|
||||
return DIV_DATA_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ struct DivInstrumentSoundUnit {
|
|||
struct DivInstrumentES5506 {
|
||||
struct Filter {
|
||||
enum FilterMode: unsigned char { // filter mode for pole 4,3
|
||||
FILTER_MODE_HPK2_HPK2,
|
||||
FILTER_MODE_HPK2_HPK2=0,
|
||||
FILTER_MODE_HPK2_LPK1,
|
||||
FILTER_MODE_LPK2_LPK2,
|
||||
FILTER_MODE_LPK2_LPK1,
|
||||
|
|
@ -494,12 +494,9 @@ struct DivInstrumentES5506 {
|
|||
k1Slow(false),
|
||||
k2Slow(false) {}
|
||||
};
|
||||
signed int lVol, rVol;
|
||||
Filter filter;
|
||||
Envelope envelope;
|
||||
DivInstrumentES5506():
|
||||
lVol(0xffff),
|
||||
rVol(0xffff) {}
|
||||
DivInstrumentES5506() {}
|
||||
};
|
||||
|
||||
struct DivInstrument {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue