Can you start song at beginning, loop middle, continue to end

At the moment if I set a loop in a song I only seem to be able to play that loop. E.g. if I have a 4 bar intro, 16 bars to loop around several times then 4 bars out I can’t find a way to start playback from the start so it plays the intro then automatically loops x number of times round the 16 bars after the intro then continues to the end or continues looping until I press a button to make it stop looping and carry on to the end. Is there a way to do this in Cantabile3?

Hi Paul,

I sent this explanation to another C3 user a few months ago. Hope it helps!

Go to the timeline for the track you want to manipulate, it will be the initial state for the loop
and is named all in the range drop down list

se2.jpg1360×135 34.2 KB


drag the braces to the points for your loop …

se3.jpg1360×138 33.7 KB

… and set the loop to on (infinite)

stm9.jpg336×572 17.7 KB

then save the range as steve1 (in our example)


Next make a breakout range whose starting point is placed at or after the loop range you created earlier. Then save it as Steve 2 in the example and with the loop turned off.

se4.jpg1358×137 32.3 KB

To implement it you put a few extra bindings to control the switching of the loop

se1.jpg1133×106 11.6 KB

The first binding switches the media player to range “Steve 1” and loops there until you press the second binding “Steve 2” which switches to the breakout rang and plays out the rest of the track.

That’s a way to do it with switches. You could also set the middle loop to a pre-determined number of loops but need a switch to break out of the infinite loop shown in this example but if you don’t the track will stop when the loop count finishes. If you manually switch to the 3rd range I show before it reaches the end of the last loop count then it will play from where it is to the end.


Addendum I can also add that in C3 performer you can have the loop turn on automatically with a transport position binding to select the loop range for you. You still need a manual way to break out of the loop to the finishing range. I haven’t found or devised a way to do that …


Many thanks Dave, much appreciated I’ll try that.

I’ve worked through this method and got it working as I’d like now. Thanks Dave.

1 Like

Hi Dave,

I must have missed this and am so glad I found your hint.

I want to achieve a playback machine for a new band and needed dynamic loop ranges quite urgently. So I meanwhile fiddled around with a combination of cantabile and ableton with multi-client operation of the sound-cards and virtual midi cables for communication between cantabile and ableton. Now I see I don‘t need this and am back to „cantabile only“. So a big thanks for your precise description.:+1:

Btw: the method also works great with stems (several different audio files running in parallel) when additional media players are synced to the first one.

As I usually sync my playback files to a fixed tempo which makes musical metric very useful when setting loop markers. This would be even easier if there were a way to type in these as numercal numbers. Atm it seems the only way to meet exact values like 24 1.0000 (which is typical for warped audio files) is to extremly stretch the grafic.

So my question: is there a way to simply type in the markers? Otherwise this would be a wish for @brad :wink:.

Kind regards, humphrey

1 Like

Hi Volker,

I’m glad it helped. As far as I know there are no type in markers so Brad is the right person to ask …



Hah, just found that Snap-Cursor makes numerical input obsolate.:+1:

Regards, humphrey

1 Like

It would be helpful if there was an option for the Media player to continue past the end of loop marker when it has completed a loop count. I’m finding that having to manually jump over the loop point to complete a song is a problem for me.

1 Like

That 's what I need too nowdays

Hi The_Elf,

There is a workaround that is reliable that I made using version 4. Should I explain?


Yes, please mate! :+1:

Hi The_Elf

Ok, here it is. In this example I use a short intro range, loop off and set to end where the loop range ends or somewhere past the beginning of the looped range.

a single looping range set to infinite loop on (no need for loop counts here just on all the time)

and an outro range, loop off that covers the rest of the track following the loop.

Each range is assigned to a Song state 1, 2 & 3

SnapShot 5112

The song bindings that make it work are shown in fig A.

The first Transport “On Position” binding switches from the intro state to the loop state. The position is set to the begging of the looped range.

The second Transport “OnCrossPosition” binding is set to a value shortly after the beginning of the loop range marker and is looped back int the song using a loopMIDI port & it sends a MIDI CC whose value increases with each loop. This generates a loop count. In figB you see how to load the value field.

The loopback port is recieved by binding 3 which is set to use the Condition field (see figC) to keep count of the loopback values and when it equals the number of loops you want it changes to the last outro state and the rest of the track plays out. This is where to set the loop count and it makes it easy to try different loop counts. Zero loop counts plays through the track as a regular track.

The Transport On Stop binding ensures that the first song state is selected when you stop otherwise a normal Stop goes the beginning of the current range.

The last On Stop binding resets the Song so that the value string in the second bindings’ target value field is reset to zero and ready to count up again.

fig A

SnapShot 5115


I wouldn’t have been able to do a workaround like this before the condition field was brought in I think. Like a lot of workarounds it may be a bit fussy to set up but I hope it might be usable for you and others.





That looks complex, but I think I just need to set one up and go through the process to understand it. Then the pennies will drop.

Thanks for this!

No problem, if you have trouble let me know! :slight_smile:

Thank you. I must say it’s difficult :stuck_out_tongue_winking_eye: but if it works.
I’ll try.

Hi All,

I figured out how to do the same basic trick using play ranges instead of song States. Bindings examples are shown below.

I’m looking at a rack to help make it easier to use but no promises.



Ok All,

Since it is somewhat complex I put together a video explanation of how to do the whole thing in a single state using play ranges instead of Song states to manage the 3 ranges needed to do it. I included the rack and a test song with no track but you would also need “loopMIDI Port A” installed and created. The rack does not need loopMIDI but the song does or a loopback port of your choice can be used.

Loop Rack Tester.cantabileSong (29.3 KB)

Media Looper.cantabileRack (980.9 KB)



I modified it so you don’t need a first range and you can just use “All” for the first range. I redid the rack to work that way. So you just need to set up the Loop range (set to infinite loop) and the Outro range.


Thank you so much.
Your rack is a killer one.

1 Like

Hi All,

I made a few more improvements on the rack and decided to post it in the Shared area later with a new video that focuses only on the racks’ install, setup and use.



Just wanted to say that this looks great. I am in the need to set up for a solo ambient show I have promised to do next year for my local music venue and first time playing live for years, so it will be good to get going again.

I wanted the ability to be able to have sections songs, I can just loop as needed, break when required, but play to end of loop to continue, before going to next part of song, which may be another loop section.

I was looking at my Montage Pattern sequencer, which looks like a faff, and I was going to investigate Ableton Live and how well that plays with Cantabile, but that is extra faff as well. If I can do it all in Cantabile, that is my preference, so will give this and another option mentioned a spin to see how it all goes