Jump to content

Multi-Controller Router


Recommended Posts

Multi-Controller Router

 

Summary

 

The purpose of this project template is to provide an environment panel that can route up to 10 midi controllers directly to up to 10 different instruments, bypassing the Sequencer more like a live rig. It also provides a way to configure the panel to send midi controllers through the sequencer, so you can switch back and forth.

 

If you have any questions or suggestions for improvement, please add to this thread.

 

(see updated file attached in the next post)

Edited by Dewdman42
  • Like 1
Link to comment
Share on other sites

Here's an updated and "improved" version of the Multi-Controller Router.

RouterTemplate2.zip

This allows the user to select which devices should be sent to the sequencer and which should be routed direct to an instrument, or OFF.

new.thumb.jpg.9674173ffe67bc7b12159207b376568d.jpg

menu.jpg.d08d59afb26ea08e8cf319d73c44d6b3.jpg

This provides many more possibilities such as:

  • Can have one or more controllers routed through the sequencer while other selected controllers are routed directly to specific instrument channels
  • Can configure any input device to be OFF. This will help to block unused IAC ports.

Kinda fun learning more about environment programming!

Link to comment
Share on other sites

Setup

There are two steps that everyone has to do in order to use this template, with the cool panel, to know about your system.

  1. Configure which midi controllers are mapped to which of the 10 virtual device nodes.
  2. Configure the software instruments you intend to use.

Virtual Device Nodes

Everyone will have a different collection of midi device ports, which can include both hardware and virtual IAC ports, so it will be different for everyone.

In order to make this panel somewhat generic, I have created the notion of 10 virtual "devices". In this project template they are found in the environment's clicks and ports page. Each one is represented by a monitor object. Because they are monitors, you can always see activity here when you play on them to make sure you have things cabled right.

clicks.thumb.jpg.d84a0d4bb041e061e911759c89142fe5.jpg

To the left of the 10 virtual device nodes you will find the Physical Inputs object, which lists all of the currently known midi device ports on your system, including both hardware midi controllers as IAC ports. In this case, my system only has 5, and they are cabled to the first five virtual device nodes.

The above will be different for everyone, since everyone's system will be different. If you have more then 10 midi ports, then the first 10 will be cabled to the virtual device nodes, and the rest will not be cabled at all.

You will need to make sure that every midi port is accounted for (cabled). Any non-cabled midi port is automatically sent by logicPro through the SUM to the sequencer, normally, but in this template the SUM has been uncabled intentionally. So uncabled midi controllers will be ignored by LogicPro when using this template.

You can re-cable the Physical Inputs ports as you wish to the 10 virtual device nodes. The order doesn't matter. For example if your primary midi controller is not the first port in Physical Inputs, its ok, you can cable the nth port to the Device 1 virtual device node...and then you will be able to consider it as Device 1 in the router panel.

You could theoretically cable two different midi controllers to one virtual device node, and they would become like one midi controller. Any ports you do not cable will be ignored by LogicPro unless you also cable the SUM port somewhere.

Important Note

Once you have done this, you should re-save the template as your own which more closely matches your system, however you should be advised that any time you disconnect midi controllers or change your IAC configuration, LogicPro will present the Physical Inputs object in a completely different way, the devices will not be in the same order, etc..which means this cabling could be wrong later if you unplug a USB midi controller, add an IAC port or anything else. That means even if you open a project later on a year later, the Physical Inputs object may not match what it was when you originally created the project, and you'd have to check and fix the cabling here for the project to behave correctly. I haven't been able to think of a clever way around this problem yet, if anyone has any suggestions I'm all ears.

Virtual Instrument Nodes

Part 2 of setup is to configure 10 virtual instrument nodes. Go to the environment mixer layer to see the following:

mixer.thumb.jpg.7197327702268715bf92a110363576bc.jpg

By default there are ten software instruments loaded on ten tracks in LogicPro and each of the 10 virtual instrument nodes is cabled to one one those software instrument channels. You can create any collection of instrument tracks, track stacks or anything you want in your project. You can reuse the existing tracks or delete them and create new ones, whatever you want. But for this template to work right, you will have to make sure that each of those 10 virtual instrument nodes (that you plan to use) are cabled to at least one instrument channel strip each. They can be cabled to more than one. They can be cabled to track stacks too. Whatever you want to do is fine.

Link to comment
Share on other sites

Customization

 

Its also possible to tweak the router panel so that it has names which match your studio, instead of Device 1, Device 2, etc. Just use the environment, go to the router layer, select each control and change its name in the inspector on the left.

 

inspector.thumb.jpg.bcd52d856a2275c6246066f708fc4a7c.jpg

 

You can change the name as shown in the router panel for each of the virtual instrument nodes, by double clicking on each of the device controls to review the following editor where you can figure the names to be whatever you want:

 

changeinstnames.thumb.jpg.8018289d386037ea2687082e57cf8ee6.jpg

instmenu.jpg.9d192bb245257390aa7e512a05be52e1.jpg

 

 

Then finally the panel will look more customized for the project:

 

panel.thumb.jpg.68c938fac1ab7eecececea6f1a900e3c.jpg

 

 

You can also change the colors of environment objects, just open LogicPro's color palette, select the environment object you want to be a different color and then choose the color from the palette. So you can make the 10 device controls on the panel to be any color you want.

Edited by Dewdman42
Link to comment
Share on other sites

Final note

 

This environment control panel works really well and I had fun making it. But take note of the important note, about the Physical Input object being prone to being dynamically changed by logicPro. Anytime you add/remove IAC ports, add/remove midi controllers, etc; the Physical Input object will change its composition to match your system. Unfortunately that will most likely mean that whenever you do that, the cabling from Physical Inputs to the 10 virtual device nodes will most likely become broken and wrong.

 

That could happen while in the middle of working on a project, if you were to unplug a USB midi controller, for example. It could also happen that you work on a project and then try to open it up a year later to work on it some more and find that the midi controllers you had been using a year ago does not match what you are using now, so the cabling would be wrong for this template and you'd have a frustrating time figuring out why most likely, unless you are completely aware and comfortable with watching that cabling and updating it on a moment's notice if anything changes in your setup.

 

So that's the caveat, you will need to watch that cabling and probably have to update it whenever your system changes midi controller configuration, including virtual ports. Note that sometimes certain plugins or midi apps on your system can decide to add virtual midi ports too, which would have the same effect, though usually new dynamically created IAC ports are created at the bottom of Physical Inputs, so it should not upset the cabling configuration you already have in place. But its just something to watch out for.

 

The above situation makes this template, I think, not fit for general consumption, but I am leaving it here anyway in case anyone finds any usefulness or perhaps someone will figure out a better way to handle it.

 

Unfortunately, until Apple allows us to configure our tracks with explicit midi port for source, I guess this is a compromise with the caveat that its still not perfect.

 

If anyone has any other suggestions, please share!

Edited by Dewdman42
Link to comment
Share on other sites

Wow!! :shock:

I mean Woaaww!!!

That is remarquable dedication sir Dewdman!

 

eh, I got rained out of tennis the other day and just wanted to learn a little more about the environment, which I did. It was fun. Won't be spending much more time on it. As usual I like to share stuff like this for anyone that might find usefulness or take it from here.

Link to comment
Share on other sites

To alleviate the eventual mismatch you are talking about related to the Physical Input object's dynamic property, since that object is reflecting the AMS MIDI setup, perhaps adding to the procedure the need to set the MIDI component in the Audio MIDI Setup window to reflect the actual involved studio elements. In AMS, there is also a possibility to save different (recallable) configuration.
Link to comment
Share on other sites

yea that might be worth looking at, its a muddy area I don't understand that well. I could not figure out how, for example, to configure the order of midi device ports in Audio Midi Setup. I could name the devices, etc. But generally I think if you plug a new midi controller into USB...it shows up in Physical Input, regardless of AudioMidi setup, etc.. so I'm not sure if that would really ensure that the physical Input will be tied to a saved Audio Midi setup configuration. But please let us know if you figure that out!
Link to comment
Share on other sites

  • 2 years later...
On 9/24/2020 at 5:51 PM, Dewdman42 said:

yea that might be worth looking at, its a muddy area I don't understand that well. I could not figure out how, for example, to configure the order of midi device ports in Audio Midi Setup. I could name the devices, etc. But generally I think if you plug a new midi controller into USB...it shows up in Physical Input, regardless of AudioMidi setup, etc.. so I'm not sure if that would really ensure that the physical Input will be tied to a saved Audio Midi setup configuration. But please let us know if you figure that out!

Perhaps parsing the different MIDI devices by (discrete) MIDI channel (instead of ports), could workaround that issue. That would however limit to 16 MIDI devices.

Link to comment
Share on other sites

  • 6 months later...
On 9/25/2020 at 7:51 AM, Dewdman42 said:

yea that might be worth looking at, its a muddy area I don't understand that well. I could not figure out how, for example, to configure the order of midi device ports in Audio Midi Setup. I could name the devices, etc. But generally I think if you plug a new midi controller into USB...it shows up in Physical Input, regardless of AudioMidi setup, etc.. so I'm not sure if that would really ensure that the physical Input will be tied to a saved Audio Midi setup configuration. But please let us know if you figure that out!

AMS items can be forcefully removed from the system, but they are returned when reconnected 🤔

Creating multiple AMS configurations as a way to reserve the LPX physical inputs of the MIDI environment does not guarantee that they will actually be connected at the present time and are identical connection order (its including the time of the power-up sequence  and including in accordance with USB ports order too), although this reconstruction is better implemented than into WinOS - there the leapfrog with reserved and phantom ports is more problematic...
The only thing that can solve the problem of reserving ports for switching devices is an external USB / ethernet MIDI hub such as iconnectivity mio10 or mioXL which has the ability to reserve ports for a specific ID-device! But then the whole point of a virtual MIDI router discribed above VS physical USB/MIDI hub is lost!

 

 

Снимок экрана 2023-04-15 в 21.36.54.png

Edited by vladistone
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...