aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVitaly Novichkov <Wohlstand@users.noreply.github.com>2018-09-03 13:15:04 +0300
committerGitHub <noreply@github.com>2018-09-03 13:15:04 +0300
commit5c9eb9c4fb736a004af31874d457a183d7a3cbe5 (patch)
tree6e1ef697e208386e2eabab75699c19c138ffe893 /src
parentce26aee47eba23d1b55a5840f79772c78fd69595 (diff)
parent273841b7b2442d1909ae8d0233b7097426a1d16c (diff)
downloadlibADLMIDI-5c9eb9c4fb736a004af31874d457a183d7a3cbe5.tar.gz
libADLMIDI-5c9eb9c4fb736a004af31874d457a183d7a3cbe5.tar.bz2
libADLMIDI-5c9eb9c4fb736a004af31874d457a183d7a3cbe5.zip
Merge pull request #170 from jpcima/wopl-file
wopl: bug fix and test
Diffstat (limited to 'src')
-rw-r--r--src/wopl/wopl_file.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/wopl/wopl_file.c b/src/wopl/wopl_file.c
index 25b75be..f018cbc 100644
--- a/src/wopl/wopl_file.c
+++ b/src/wopl/wopl_file.c
@@ -353,6 +353,8 @@ int WOPL_LoadInstFromMem(WOPIFile *file, void *mem, size_t length)
GO_FORWARD(2);
}
+ file->version = version;
+
{/* is drum flag */
if(length < 1)
return WOPL_ERR_UNEXPECTED_ENDING;
@@ -434,11 +436,13 @@ size_t WOPL_CalculateInstFileSize(WOPIFile *file, uint16_t version)
* is percussive instrument
*/
- if(version >= 3)
- ins_size = WOPL_INST_SIZE_V3;
+ if(version > 2)
+ /* Skip sounding delays are not part of single-instrument file
+ * two sizes of uint16_t will be subtracted */
+ ins_size = WOPL_INST_SIZE_V3 - (sizeof(uint16_t) * 2);
else
ins_size = WOPL_INST_SIZE_V2;
- final_size += ins_size * 128;
+ final_size += ins_size;
return final_size;
}