Ultimate SoundTracker Sample Loopstart Is In Bytes?

Started by nikku4211, July 27, 2020, 21:14:14

Previous topic - Next topic

nikku4211

So I was searchin'

An' I found this .txt file

An' I tried experimentin' w/ OG Ultimate SoundTracker format

Via hex editin' of course

An' the text said somethin' 'bout sample repeat offset being in bytes

Rather than words like in all other .MOD formats

So I set the repeat offset of one of my samples to 1, and OpenMPT made the sample loopstart 2 samples instead of 1.
I know the only USTs out there don't have looping samples at all, but I still think OpenMPT should read the sample loopstart in UST modules as a byte just in case someone discovers a UST file with looping samples so that OpenMPT can play it properly.

Saga Musix

You probably didn't edit an actual SoundTracker file then but a normal MOD file. As you can see in the code for yourself, OpenMPT does indeed not multiply the loop start by 2 for SoundTracker files: https://github.com/OpenMPT/openmpt/blob/170bb9dcb26baace9559fbe5bffe888b0860e81c/soundlib/Load_mod.cpp#L1489
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

nikku4211

Yes, I should have specified that I was trying to convert a normal MOD file to UST through hex editing as part of an experiment since OpenMPT can't do it.

Was this specific fix in a later version, or was this prior to 1.28?

Saga Musix

Yes, it's been like that since at least OpenMPT 1.21.

Either way - hex-editing files out of curiosity is fine, of course, but pretty please - don't try to create and release new SoundTracker modules in 2020. SoundTracker is not just ProTracker with 16 less samples and shorter samples. The document you found grossly simplifies the minute differences between various SoundTracker versions, and every newly created song can potentially break the heuristics various players use to determine which exact SoundTracker clone was used to create such a file.
It's better if we leave this format in its grave and don't make the situation even more complicated than it already is. Just look at those tables of different effect interpretations (e.g. Dxx sometimes is a volume slide, and sometimes a pattern break) to get an idea how messed up the situation already is. Among other things, this is why OpenMPT (or any other tracker, for that matter) doesn't simply resort to writing your MODs as SoundTracker files if they happen to use less than 16 samples.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

nikku4211

Quote from: Saga Musix on July 28, 2020, 16:57:44
SoundTracker is not just ProTracker with 16 less samples and shorter samples. The document you found grossly simplifies the minute differences between various SoundTracker versions, and every newly created song can potentially break the heuristics various players use to determine which exact SoundTracker clone was used to create such a file.
It's better if we leave this format in its grave and don't make the situation even more complicated than it already is. Just look at those tables of different effect interpretations (e.g. Dxx sometimes is a volume slide, and sometimes a pattern break) to get an idea how messed up the situation already is. Among other things, this is why OpenMPT (or any other tracker, for that matter) doesn't simply resort to writing your MODs as SoundTracker files if they happen to use less than 16 samples.

Lol, guess that's to be expected when UST is technically an older version of the already popular MOD format.

Saga Musix

That's not really the main reason... The biggest issue really is that a number of different developers took the original SoundTracker routines and modified them independently in incompatible ways. One of those modifications (the one attributed to Unknown/D.O.C.) eventually ended up being the "M.K." MOD format used by ProTracker. If there was only a single SoundTracker format, all this compatibility mess wouldn't exist and trackers like OpenMPT could actually use it to create smaller MOD files.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.