milkytracker / MilkyTracker

An FT2 compatible music tracker
http://milkytracker.github.io/
Other
1.69k stars 162 forks source link

Sample swapping .mod technique inaccuracy #219

Open SyntaxErrol opened 3 years ago

SyntaxErrol commented 3 years ago

In MilkyTracker's ProTracker 2.x playback mode (under Options), we support the cool PT2 feature of changing the currently playing sample on the fly like so:

C-4 ·1 ·· ···
··· ·2 ·· ···
··· ·3 ·· ···

But it seems we're a little too eager here and fail to meet this condition:

<@eightbitbubsy> first you have to understand how sample swapping works in PT <@eightbitbubsy> a sample swap will only occur when the current sample has reached sampleEnd (which is either end of sample for non-looping, or loopEnd for looping samples) <@eightbitbubsy> since sample 1 doesn't reach its end until almost the end, it won't swap until then <@eightbitbubsy> the correct behavior is PT2 clone, OpenMPT and XMPlay in PT1 mode <@eightbitbubsy> if you want to simulate ProTracker behavior, that is. Keep in mind that many .MODs were made with f.ex. FT2, where there is no sample swapping at all