View Single Post
Old 07 October 2015, 18:27   #896
8bitbubsy
Registered User
 
8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Posts: 1,711
The MOD replayer (libxmp) used in BZR Player is not that great for ProTracker MODs, and here's why:

- The InvertLoop (PT1.1+, "funkrepeat" in PT1.0) implementation sounds very off. F.ex. "teadrop in a pt.mod" by Daddy Freddy, and "delicate 0ooz!.mod" by emax.
- Sample swap (PT1.x/PT2.x but not 3.x/4.x) is not implemented, this means that swapping the voice's sample data without entering a note is impossible. This was used in *a lot* of PT MODs to simulate PWM on chiptune styled songs with basic waveforms. Also some songs accidentally use it (typo on sample number during 3xx, f.ex), and it will sound wrong in this player.
- The pattern jump/break implementation is nowhere near the one PT uses, so some quirky songs will get heavily broken. "black queen.mod" by Dreamer.
- The 9xx "offset add up" quirk is not implemented. "no-mercy.mod" by Alf. [Order #2, channel #4, row 48]. Try it in PT and be amazed. I also made a rather strange .MOD to demonstrate this (try in PT): https://dl.dropboxusercontent.com/u/4846123/insane.mod
- The 9xx overflow behavior is not like PT. In PT, if you have a looping sample and enter a 9xx offset that is after the loop end point, you should stop that voice, not wrap the pos in the mixer.
- Vibrato (4xy) is processed on all ticks, this is NOT PT behavior (all non-zero ticks).
- Tremolo (7xy) is processed on all ticks, this is NOT PT behavior (all non-zero ticks).
- "Glissando Control" (E3x) is not implemented. It will switch 3xx slides between smooth (E30 normal) and semitones (E31..E3F).
- Portamento (3xx) is reset if a new note is entered, even if the slide didn't finish. In PT, if you set a 3xx slide and it didn't reach the target period, then enter a new note and later continue the slide, it will in fact continue the previous slide and use the direction calculated from that 3xx (first). Kind of messy explaination but oh well.


I understand that it requires some heuristics coding to distinguish between PT and non-PT .MODs, but it's possible, just look at OpenMPT or kode54's modified playptmod.
I'm not expecting it to be perfect or anything, but being a perfectionist when it comes to PT MOD replayers myself, I tend to get a bit sad when I see replayers like this!
8bitbubsy is offline  
 
Page generated in 0.04339 seconds with 11 queries