martincameron / micromod

Music player libraries for MOD, S3M and XM formats.
BSD 3-Clause "New" or "Revised" License
159 stars 28 forks source link

716 by xyce has a long pause near the beginning in IBXM #11

Closed unascribed closed 7 years ago

unascribed commented 7 years ago

The modules are available at http://xyce.nl/4chpcm/allmods.zip

mod.716's third pattern (if that's the right term) is only 16 long but IBXM plays back 64, resulting in 48 units of silence. It plays back correctly in OpenMPT.

xyce's rendering made on a real Amiga 500 is at https://xyce.bandcamp.com/track/716 but it seems to have the first two patterns cut off. IBXM and OpenMPT both play them.

martincameron commented 7 years ago

Thanks for finding this! It was caused by a pattern-loop command overriding a pattern-break on the same row. Quite a difficult one to find a simple work-around for.

I've just pushed a minimal fix that will hopefully do the job.

Cheers! Martin

unascribed commented 7 years ago

That seems to have fixed it! So OpenMPT plays it back incorrectly too, interesting.

Thanks!

martincameron commented 7 years ago

Even on an Amiga different replays give different results, but I think the first pattern was probably intended to play once, rather than three times. It's also a bit more logical in the code.

Cheers! Martin