Author Topic: MOD playback in XMPlay  (Read 3277 times)

brycco

  • Posts: 41
MOD playback in XMPlay
« on: 25 Dec '18 - 23:09 »
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

  • Administrator
  • Posts: 26026
Re: MOD playback in XMPlay
« Reply #1 on: 28 Dec '18 - 15:40 »
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

  • Posts: 41
Re: MOD playback in XMPlay
« Reply #2 on: 28 Dec '18 - 20:12 »
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:

Quote
When 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

  • Administrator
  • Posts: 26026
Re: MOD playback in XMPlay
« Reply #3 on: 1 Jan '19 - 14:37 »
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.