MOD playback in XMPlay

Started by brycco,

brycco

A song I made in ProTracker 2.3d is not playing properly in XMPlay. It plays fine in libopenmpt. It also plays fine in XMPlay if "PT1" mode is selected, but not "normal".

Seems to happen because of changing sample/instrument but without a note.

Ian @ un4seen

Different trackers and players can handle things quite differently, but the "Normal" MOD mode is intended to match what the average MOD player will do. Here's an update that modifies it to match what Impulse Tracker does with your test file (also closer to what Winamp does), without being quite the same as "PT1" mode:

   www.un4seen.com/stuff/xmplay.exe

brycco

That seems to fix it, thanks! The MOD format is quite a mess :-\ Seems that in PT3.x one can no longer specify an instrument without a note, so any player based on PT3 compatibility would have that issue.

From MOD test cases https://wiki.openmpt.org/Development:_Test_Cases/MOD#PTInstrSwap.mod:

QuoteWhen specifying an instrument number without a note, ProTracker 1/2 instantly applies the new instrument settings, but does not use the new sample until the end of the (loop of the) current sample is reached. In this example, sample 2 should be played at maximum volume as soon as instrument number 1 is encountered in the pattern, then sample 1 should be triggered somewhere around row 10 and then stop playing at around row 18.


Ian @ un4seen

Yep, that is what XMPlay will do in "PT1" mode. The updated "Normal" mode will immediately play the new sample rather than wait for the next loop, but the samples are very short in your file so it is basically the same result.