Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt

* 'master' of https://github.com/tildearrow/furnace:
  fix major extended op macro corruption
This commit is contained in:
cam900 2022-05-30 12:07:36 +09:00
commit d509f1ded3
2 changed files with 26 additions and 8 deletions

View File

@ -10,6 +10,7 @@
- CSM
- MSM6258 pitch and clock select
- the last three compat flags
- collapse/expand pattern and song
- add OPL drum instrument type
- Game Boy envelope macro/sequence
- rewrite the system name detection function anyway
@ -21,3 +22,4 @@
- Apply button in settings
- find and replace
- add mono/poly note preview button
- (maybe) add default patch selection

View File

@ -874,14 +874,30 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
for (int i=0; i<4; i++) {
DivInstrumentSTD::OpMacro& op=std.opMacros[i];
reader.read(op.damMacro.val,op.damMacro.len);
reader.read(op.dvbMacro.val,op.dvbMacro.len);
reader.read(op.egtMacro.val,op.egtMacro.len);
reader.read(op.kslMacro.val,op.kslMacro.len);
reader.read(op.susMacro.val,op.susMacro.len);
reader.read(op.vibMacro.val,op.vibMacro.len);
reader.read(op.wsMacro.val,op.wsMacro.len);
reader.read(op.ksrMacro.val,op.ksrMacro.len);
for (int j=0; j<op.damMacro.len; j++) {
op.damMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.dvbMacro.len; j++) {
op.dvbMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.egtMacro.len; j++) {
op.egtMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.kslMacro.len; j++) {
op.kslMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.susMacro.len; j++) {
op.susMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.vibMacro.len; j++) {
op.vibMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.wsMacro.len; j++) {
op.wsMacro.val[j]=(unsigned char)reader.readC();
}
for (int j=0; j<op.ksrMacro.len; j++) {
op.ksrMacro.val[j]=(unsigned char)reader.readC();
}
}
}