ProTracker offset is more complicated than most people assume. Here is a test case that explains what you need to change: https://wiki.openmpt.org/Development:_Test_Cases/MOD#ptoffset.mod
Thank you. Those tests seems very useful. Wish I had known about them before. I've probably rewritten everything at least twice because I had done things the wrong way.
The ptoffset.mod module is really strange though...
The vibrato effect heard in the chiptune part right at the start is too strong, too.
To me it only sounds like the vibrato oscillator is updated a lot more often than in protracker. But there is some vibrato on channel 4 (the arpeggio sounds), which is not supposed to be there.
Writing a simple mod player that will get everything sound "somewhat correct" is trivial, hence anything that doesn't get the more advanced stuff right is "completely wrong" for me, especially in this particular module where entirely wrong drum samples are heard if you don't emulate the offset quirk correctly. Not that this quirk is really specific to ProTracker, so it should not be applied in other formats.
Can you still hear if something is wrong in the new version? (The importer doesn't play the ptoffset.mod module correctly though, but does "Professional Tracker" exploit the very mysterious behavior in that module?)
Anyway, nice work. Why do some of the waveforms change their look while scrolling through the patterns (especially visible e.g. in Space Debris) - is that caused by offset effects?
Correct. Changing sample offset triggers Radium to repaint the waveforms while playing. It would have looked better if the module converter didn't add an "offset 0" commands right afterwards though, so it might seem a bit strange sometimes. (I just do this to avoid having to calculate how long the note is playing, plus to avoid having to deal with "sample offset" clash for the same instrument on different channels)