diff --git a/TODO.md b/TODO.md index fe7aa13f..5b7d52d1 100644 --- a/TODO.md +++ b/TODO.md @@ -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 diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 5fedce55..7e149222 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -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