Artefact2 / libxm

A small XM (FastTracker II Extended Module) player library.
Do What The F*ck You Want To Public License
142 stars 14 forks source link

Rxy + ghost note inaccuracies #22

Open Artefact2 opened 3 years ago

Artefact2 commented 3 years ago

Just to log it, there's another bug in Rxy which I'm not planning to fix for now. If a row contains no note but an instrument with the Rxy effect, what happens is that on tick 0, the ghost note of the previous instrument plays (as per standard behavior with rows that contain instruments without notes), but on the first retrigger the instrument is changed to the new one. So actually the instrument changes mid-row.

This looks harder to implement because the logic to change instruments is not part of xm_trigger_note, but I haven't investigated into it. If you want, I can open an issue to log this.

Originally posted by @rasky in https://github.com/Artefact2/libxm/issues/20#issuecomment-822318552

bryc commented 3 years ago

Here is the test case which I think highlights what @rasky is talking about: RxxTest.zip.

Here's some audio comparisons. This is a diff of FT2Clone (Dark) and LibXM (Light):

image

Here's the full comparison image, which highlights that MilkyTracker and OpenMPT fail this as well:

image

The test case is is actually just parts taken from look & zalza - little computer boy.

Artefact2 commented 3 years ago

Hi @jmorel33, the licensing is not clear on your modified file so I can't merge any changes back in libxm (which is WTFPLv2) as is.

Stereo samples are not standard (and in my experience not a widely used feature) so I think it's out of scope for libxm (unless you have good examples of XMs with stereo samples).

If you could submit playback fixes as patches or pull requests (ideally with a test case), that would be much better licensing-wise. Thanks!

bryc commented 3 years ago

Yep concerning Stereo, XM tracker artists back in the 90s were really allergic to stereo samples probably to save space. So a lot of people fanned out of the XM community to do IT mod files instead for all the other features.

FT2 and IT never officially supported stereo samples at all, so I'd hold back on writing that memoir. It was the Modplug Tracker (now OpenMPT) that added stereo support to XM, IT.

jmorel33 commented 3 years ago

cheers. And good luck.

sbechet commented 7 months ago

Maybe this can help.