Performing batch operations on input ports

Is there a way to perform batch operations on the “Input Ports” section?

I got an Alesis Vortex wireless 2 for my birthday last December and am now creating some extensive note-for-note keyboard maps in some songs for my Vortex, (which only has 37 keys, so the available keys have to be used/assigned efficiently) under “Input Ports”. I find myself doing a lot of copying, pasting and then changing the note assignments or routing targets, but this can get quite confusing as the list grows longer. It would be really great if I could group individual entries and then apply bulk changes to that group rather than having to make the same change to each individual entry. For example: select the desired entries, right-click on the relevant column and the make a change which is then applied to the entire selection. That way, it would be very easy to assign a different route target (e.g. Omnisphere instead of Hybrid), source (e.g. Nord Stage instead of Vortex), note range or filter.

Hi @hermanoantequera

Unfortunately not support for this at the moment, and not sure if it’d be used enough to warrant to work required to implement that.

Yell out anyone who disagrees.


Hey @brad and @hermanoantequera,

Not a disagreement (Like Brad said this task can’t be done with Cantabile alone), but this idea I got might help for Herman’s question. There is a way to do this task with the use of the background rack combined with the use of loopMIDI to get around the problem of having all your ports in the songs already made set to ‘Main keyboard’. If you wanted to have a filtered midi route like Herman wanted then you would have to edit every song. The background rack was the perfect place to set up the global routing and the velocity filter so that why it is used along with the states to switch modes. The loopMIDI allowed the re-routing of the controller input signals to the Main Keyboard Port that is the default in Cantabile. Corky wanted a way to switch between a good keyboard and one that needed Velocity filtering so I came up with this. I tested it here and Corky is trying it out at his digs ( He’ll let me know when he’s tested it) but for the sake of discussion here’s how it works. … Most of this is from the letter I wrote to Corky so here goes …

I have a way forward that can achieve what you wish. It consists of using a virtual loopMIDI port in your system that we can leverage to act as a router. First step is

Open the Options > MIDI Ports and Create a new Port called something like ‘Generic Keyboard In’ (that’s what I used for the example), in this port open the checkbox edit area and select all your usual Main Default Keyboards you have selected already in the Main Keyboard I’m thinking (that C3 gives us). I’m using the Onscreen Keyboard as my generic keyboard of the day. You would have the usual suspects checked here that you have been plugging to of late.

SnapShot 352.png940x554 30 KB

The next step is to go to the loopMIDI virtual Output port that you create and configure it so the checkbox list it has only the loopMIDI port choice selected. We’re only worried about the output port.

SnapShot 356.png975x567 32.9 KB

next open the Original Default Main Keyboard Port you current use and set it so that the only input it recieves is from the loopMIDI port you just configured. Port A in this example …

SnapShot 354.png991x565 31.8 KB

The next part involves creating the state switches in the Background rack. We open the back ground rack and create 2 states, one for good keyboards that passes through untouched and one for bad ones that need the velocity filtering.

first the no filtering / good keyboard state. It just routes the Generic Keyboard input port to the loopMIDI output port (portA in ex) and that in turn connects it to the Main Keyboard port (by virtue of our port routing trickery). The original MIDI is un-altered simply routed in a round about way.

SnapShot 357.png1336x522 44.2 KB

second and finally is the bad or filtered state that has your velocity filtering plug in line with the MIDI signals. The routing is now from Generic Keyboard to the plugin and out to the loopMIDI port and as a result on to the Main Keyboard port. So there is your idea but migrated to the background rack and all your songs won’t need editing.

SnapShot 358.png1357x529 46.2 KB

This was for Corky’s needs but could be customized and applied to Herman’s problem as well I think. Herman wouln’t need any states in the background rack, He would have a would just use it to hold the filter plugin and route back to his original Vortex port using the virtual midi port. So when he selects a vortex port it is always filtered through the velocity plugin.

I do know that being able to filter the input this way tames a troublesome controller and allows you to apply it to all your already made songs. So it may have more value than we thought.

One last thought I had was if C3 had a means to create and manage it’s own virtual MIDI ports like loopMIDI does then you could do all this inside of Cantabile itself. I don’t know how much hassle or whether it’s feasible but the built in virtual ports might have more uses not yet thought of.

Update from Corky, he got it working and all is well…



Sounds like a long night of thinking for you…but pretty interesting.
BTW, will we need 3D glasses for the virtual midi port?

1 Like

It’s more akin to a looking glass … multidimensional! The Australians have been developing it for years, I tell you, years!! :grin:

1 Like

That and Coopers Brewery Dark Ale, Victoria Bitter, and Tooheys Extra Dry!

1 Like

Thank you for your replay, @dave_dore. I will certainly look into this. Looks very useful.

1 Like

@dave_dore I used something like this in my first C3 keyboard abstraction. At first,I used Bome MT, latter C3’s loopback ports. I later changed to another way of handling my keyboard abstraction Rack. But, I got this X-Touch Compact here and I need to figure out how to move the faders to the Song States volume settings. Then a drawbar mode…:grin::grin::grin::grin:

1 Like

Hi Richard,

I’m sorry I couldn’t remembered that you had done this! I would have linked to your posts. If you can still find them would you mind posting the links here. They might help others that want to do this and it would be linked to this thread. Thanks for the heads up! I was pretty sure someone had figured it out already :smiley: