Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
This commit is contained in:
parent
6a58797669
commit
cf3d08ca5a
25 changed files with 194 additions and 97 deletions
|
|
@ -409,6 +409,7 @@ void DivInstrument::writeFeatureFM(SafeWriter* w, bool fui) {
|
|||
w->writeC(((fm.alg&7)<<4)|(fm.fb&7));
|
||||
w->writeC(((fm.fms2&7)<<5)|((fm.ams&3)<<3)|(fm.fms&7));
|
||||
w->writeC(((fm.ams2&3)<<6)|((fm.ops==4)?32:0)|(fm.opllPreset&31));
|
||||
w->writeC(fm.block&15);
|
||||
|
||||
// operator data
|
||||
for (int i=0; i<opCount; i++) {
|
||||
|
|
@ -1741,6 +1742,11 @@ void DivInstrument::readFeatureFM(SafeReader& reader, short version) {
|
|||
fm.ops=(next&32)?4:2;
|
||||
fm.opllPreset=next&31;
|
||||
|
||||
if (version>=224) {
|
||||
next=reader.readC();
|
||||
fm.block=next&15;
|
||||
}
|
||||
|
||||
// read operators
|
||||
for (int i=0; i<opCount; i++) {
|
||||
DivInstrumentFM::Operator& op=fm.op[i];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue