Loopback Ports?

I’ve never switched the ‘Show Loopback Ports’ option on, I have no idea what they are, or why I might want to use them. Reading the documentation has left me just as clueless.

Can anyone please explain them to me?

Loopback ports are a special form of output ports: everything you send to a loopback port gets fed into its corresponding input port (but with one audio buffer delay for technical reasons). So if you send e.g. a cc64 (sustain) value of 127 to the “Loopback - Main Keyboard”, Cantabile will behave as if you had pressed the sustain pedal on your keyboard.

This feature can come in very useful for Binding automation - if you want to perform certain keyboard actions e.g. on a SongLoad or a SongStateLoad event. For example, you want to make sure that the modwheel status is 0 at the start of a state, use SongState->OnLoad --> Loopback - Main Keyboard->CC1=0

Of course you could also find out all the rack and plugin instances where the modwheel MIDI is consumed and send CC1 to them individually via bindings, but in many cases, using Loopback is just easier (especially if you map CC1 to different controls or VST parameters for different racks).

One example from my (somewhat complicated) setup: I have a button on my keyboard that starts scrolling on a connected LivePrompter tablet. Since I have multiple different methods of starting scolling, depending on the way the tablet is connected to Cantabile (and I also remote-control some band-member’s LivePrompters), this requires three different bindings to fire on receiving this button press. So this is set up in my background rack so I don’t have to worry about this.

But now I have a song where I want to automatically start scrolling on a certain song state - I could now replicate the three MIDI commands in this song and start them on State Load, but if I ever change the mechanism in the background rack, I’ll need to change it in any song that uses this mechanism as well. Much easier to simply make the song simply send a “green button” to the correct input port via loopback and let the background rack deal with this as if I had pressed the button manually…

Arcane wizardry indeed, but super-helpful…




Thanks so much for that, Torsten. It makes more sense now, though I seem to have covered at least a couple of the potential usage scenarios with other solutions that I think I will be able to make more sense of when I come back to them.

Much appreciated!

But - as Torsten mentions - be aware that there is a full audio buffer delay when using the loopback ports. Make no difference for commands, I’'d say, but try to avoid using them for midi notes or for audio.

1 Like