Mod Archive Forums

Music Production => MilkyTracker => Tracking => MilkyTracker Community => Topic started by: sverx on May 02, 2008, 11:13:13

Title: Sample Loop Types
Post by: sverx on May 02, 2008, 11:13:13
Hi there,
  I'm not a composer... but I would like to know what exactly is the so called one-shot loop... and what's the difference with the other loop types, forward and ping pong, which both are clear in my mind, I think ;)

Sorry if the question was already been posted, I've been searching the Net (and this forum also!) but I didn't find any precise answer.

Thanks in advance!

Ciao :)

Title: Re: Sample Loop Types
Post by: Saga Musix on May 02, 2008, 12:37:51
i'm not sure what you are talking about (since that may be a specific option in your programme), but one-shot and loop is as much as a contast as black and white. A one-shot snare sample is for example just one hit, but a snare loop is several bars of snare sounds.
Title: Re: Sample Loop Types
Post by: sverx on May 02, 2008, 14:05:27
i'm not sure what you are talking about (since that may be a specific option in your programme), but one-shot and loop is as much as a contast as black and white.

Right, may be it's a specific option in the program I'm using, MilkyTracker... I thought it wasn't a specific question...
In that tracker there are 4 options: no loop, forward loop, ping-pong loop, one shot loop...
Can this topic be moved to the specific forum, then?

Thanks! Ciao :)

Title: Re: Sample Loop Types
Post by: raina on May 02, 2008, 22:32:22
One shot loop is a ProTracker feature/bug that first plays the sample from beginning to end bypassing the loop points and then plays it again, this time with a forward loop. It only works when loop start is at 0, otherwise it switches to normal forward loop. One shot does not work in .XMs (and is probably widely unsupported in .MOD players too).
Title: Re: Sample Loop Types
Post by: Saga Musix on May 03, 2008, 00:18:33
Ah, so this is supposed to be funk repeat? :)
http://modarchive.org/forums/index.php?topic=431.0
Title: Re: Sample Loop Types
Post by: sverx on May 05, 2008, 10:22:52
One shot loop is a ProTracker feature/bug that first plays the sample from beginning to end bypassing the loop points and then plays it again, this time with a forward loop. It only works when loop start is at 0, otherwise it switches to normal forward loop.

That's a good explanation! :) Thank you so much :)

One shot does not work in .XMs (and is probably widely unsupported in .MOD players too).

... mmm, it's funny then what happens with the XM titled "Erasure - Fingers & Thumbs (Cold Summer's Day)" from this page (http://www.df.lth.se/~fernbom/music/mods/mods.html): the Instrument 4, Sample 0, which is a One-Shot loop, 16 bit sample (sample type is 0x13, I checked in the file) plays like a ping-pong loop. Or maybe it's simply a MilkyTracker 0.90.60 bug?
Title: Re: Sample Loop Types
Post by: pailes on May 05, 2008, 15:54:00
... mmm, it's funny then what happens with the XM titled "Erasure - Fingers & Thumbs (Cold Summer's Day)" from this page (http://www.df.lth.se/~fernbom/music/mods/mods.html): the Instrument 4, Sample 0, which is a One-Shot loop, 16 bit sample (sample type is 0x13, I checked in the file) plays like a ping-pong loop. Or maybe it's simply a MilkyTracker 0.90.60 bug?

According to the official XM spec 0x13 is not a valid sample type. 0x10 specifies 16 bit sample type but 0x3 is undefined. The UI of milkytracker becomes confused by this value because it shouldn't be there and apparently the player treats it diffently than the UI. Thus it should be considered as a "bug".
Title: Re: Sample Loop Types
Post by: raina on May 05, 2008, 15:59:45
The file seems to be corrupt, it doesn't load in Fasttracker II. The behavior you describe applies to v0.90.80 as well but an update is still recommended.
Title: Re: Sample Loop Types
Post by: pailes on May 05, 2008, 16:02:10
So what should it do? Revert to no/forward/ping-pong loop?
Title: Re: Sample Loop Types
Post by: raina on May 05, 2008, 16:06:53
In this particular case at least, ping pong sounds like the correct alternative.
Title: Re: Sample Loop Types
Post by: pailes on May 05, 2008, 16:07:32
I will deal with that case in the XM module loader.
Title: Re: Sample Loop Types
Post by: sverx on May 05, 2008, 16:29:18
According to the official XM spec 0x13 is not a valid sample type. 0x10 specifies 16 bit sample type but 0x3 is undefined.

I also didn't find type 0x3 in the specs, so I thought it was simply that that I couldn't find the latest specs...  ;) ... then I saw MilkyTracker loading the loop that way so I made the correspondance  0x3 = One Shot loop but I was wondering why it was doing ping-pong...  ???

So you're saying that XMs shouldn't contain this kind of loop (one-shot) at all, and type 0x3 should be considered just a mistake and whatever the player will decide to do with it is ok anyway? Well, I finally chosed to convert it to a forward loop in my little player, even if that particular XM I found was playing fine with ping-pong... but -you know- the other option is to stop loading and say "module broken"  :-[

Ciao :)

Title: Re: Sample Loop Types
Post by: Saga Musix on May 05, 2008, 16:46:39
This file seems to be created with some strange tracker. Yes, modplug supports module comments for XM files (which FastTracker 2 didn't do), but this definitely hasn't been created in ModPlug. The Format ID is "FastTracker v 2.00" instead of "FastTracker v2.00".
Title: Re: Sample Loop Types
Post by: pailes on May 05, 2008, 18:03:56
This file seems to be created with some strange tracker. Yes, modplug supports module comments for XM files (which FastTracker 2 didn't do), but this definitely hasn't been created in ModPlug. The Format ID is "FastTracker v 2.00" instead of "FastTracker v2.00".

Thanks for pointing this out. I didn't recognize the Modplug-Message at the end of the file. So my guess is that this file has been created with an old Modplug version because I've never seen any tracker which writes the same kind of text tag. The tracker ID was probably fixed some time after this track has been created.