diff --git a/TODO.md b/TODO.md index 172cc817..0c5518f4 100644 --- a/TODO.md +++ b/TODO.md @@ -4,6 +4,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 @@ -15,3 +16,4 @@ - Apply button in settings - find and replace - add mono/poly note preview button +- (maybe) add default patch selection diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 8b8a1fb0..14daae8b 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -870,14 +870,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