Jump to content

Using multiple midi channels/controllers w/ track stacks


Zestycloseescape

Recommended Posts

Hi,

 

I'm having issues getting my controllers to trigger specific midi channels in a consistent way, particularly when using track stacks.

 

For the sake of simplicity, say the setup looks like this - using single software instruments for each channel:

 

  • Drum pad - Midi 1 - Drum Track
    Full keyboard - Midi 2 - Pad
    Mini keyboard - Midi 3 - Lead

 

Turn on auto-demix, set midi in/out on controllers/Logic, record enable all channels and everything works as it should. Each controller triggers the corresponding instrument, regardless of which track is focussed.

 

Introduce a track stack (multi-output drummer) in place of the drum track on Midi 1 and now it doesn't work so smoothly. It works fine with the drummer track (or any track stack) focussed, but as soon as I have another track focussed (say I want to edit smart controls with another controller/ipad) it's like Logic doesn't follow the established Midi routing.

 

Similarly if I want something like this:

 

  • Drum pad - Midi 1 - Drummer
    Drum pad - Midi 1 - Drum machine
    Full keyboard - Midi 2 - Pad
    Full keyboard - Midi 2 - Choir
    Mini keyboard - Midi 3 - Lead

 

I am unable to trigger 2 channels with an input of Midi 1 from the same controller. I can play either drum channel individually when focussed, but the drum pad will now trigger other instruments too if selected. Is this just the way auto-demix works? In an ideal world I can have my drum pad locked to the drum channels, with rotaries allowing a blend between organic kit sounds and electronic/drum-machine sounds, and have the freedom to select other instruments in order to adjust smart controls etc. Is that more than Logic or Midi v1 can handle?

 

Maybe I'm not looking in the right place for this info, but I don't find the menus for controller assignments easy to understand at all. I've tried toggling various settings to do with selected tracks etc. but never seem to get it correct. Should you be able to assign a controller (rather than 1 specific parameter) to an instrument (ideally more than 1) with the 'channel strip: software instrument x' window in 'controller assignments'? Do I need to be assigning Midi CC values or using the 'environment' rather than using the 'learn assignments' function?

 

TL;DR - Can you control multiple instruments (and track stacks) via specific midi inputs at once, even on the same midi channel? Does using track-stacks prevent this from working?

 

I'm using an M1/Big Sur and the latest Logic with Rosetta.

Link to comment
Share on other sites

IIW, I think that to do what you describe, one has to go through the environment, and from the Physical Input object, connect individual controller device's prong directly to the targeted channelstrip object, thus bypassing the Sequencer Input object. Meaning using only CC.

Thus, no direct way to record (in Logic) what is coming from your control devices.

Nor could you use Logic Controller Assignment (unless enabling the Bypass All Control Surface).

Link to comment
Share on other sites

Thanks for the response. Though that does seem like quite a gaping whole in functionality. I love what the drummer channels do but there are some odd behaviours and things you’re unable to control that would be really handy.

 

Is main stage any better than logic for being able to treat a bunch of midi instruments/controllers like real live instruments in a band?

Link to comment
Share on other sites

Here's how I would do it.

Controlling different instruments in a Track Stack with multiple MIDI controllers.

Notice that you select the Track Stack for Midi Input, not an individual instrument within the Track Stack.

 

Once you're ready, hit record and all your playing Midi Controllers will get Midi recorded on the Track Stack.

Stop record, then playback to hear the results.

 

Get the Allow MIDI Channels script here

Link to comment
Share on other sites

@ValliSoftware, thanx for the script!

Perhaps I am not understanding completely your video, but I think that what is demonstrated in there could be achieved without your script, by simply using the track's parameter MIDI channel... Providing that the target plugins featured discrete select-able MIDI Input...

Okay, I think you understand what the video shows, what you're pointing out is, that there's another way of doing it

There's always other ways, but I'm curious. Can you actually do what you're suggesting and make sure to post the OS and Version of Logic you're running.

I thought for sure that was the way to do it but on my MacMini M1 (see sig for details), that didn't work. If you try it and it does work and your running let's say the Intel version, then I think we can safely say, my running version has a bug. :mrgreen:

Link to comment
Share on other sites

Yeah using track stacks to control several individual instruments within it always works quite smoothly, but it essentially stops you from being able to use a track stack (or drummer) as one of those instruments. That seems to be the real issue I’m having.

 

I’m not sure if I’m wasting my time or not trying to find a solution to it.

Link to comment
Share on other sites

Yeah using track stacks to control several individual instruments within it always works quite smoothly, but it essentially stops you from being able to use a track stack (or drummer) as one of those instruments. That seems to be the real issue I’m having.

 

I’m not sure if I’m wasting my time or not trying to find a solution to it.

In the video that I posted, when the Track Stack is selected, any and all Midi controllers can send the Midi data, but the script I have on each instrument will only play based on the Midi Channel that's allowed. The script allows any combination of the 16 Midi channels to come thru.

If you select a track within the Track Stack, you can still play any or all Midi controllers, BUT, only the Midi controller with the correct assigned number for that track will play.

Link to comment
Share on other sites

Yeah I get that, but triggering the track stack at the same time as other instruments outside of it is the issue I was trying to solve.

 

Similarly to Atlas I’m not sure what the script is doing differently to just assigning individual midi channels per track (that correspond with controller midi outs) but I’ll definitely have a play with it and see if there’s anything useful there. Cheers.

Link to comment
Share on other sites

Yeah I get that, but triggering the track stack at the same time as other instruments outside of it is the issue I was trying to solve.

 

Similarly to Atlas I’m not sure what the script is doing differently to just assigning individual midi channels per track (that correspond with controller midi outs) but I’ll definitely have a play with it and see if there’s anything useful there. Cheers.

1317648041_EnvironmentSetup.thumb.png.d369d0d1964b827a487dd4b516c1c85e.png

All Midi data that comes in from Physical Input, goes the the Sequencer Input which is the selected track, Record/Play Midi Here in this example.

If you want other instruments to play from your Midi controllers, add them on the Input View (See above Pic).

I would recommend making The Environment window a frameless window because I have a feeling you're going to frequent Click & Ports often.

 

As I mention to Atlas, that option didn't work for my on my setup, that's why I'm using my script. If what Atlas mention works for you, by all means, use it.

Link to comment
Share on other sites

@ValliSoftware, thanx for the script!

Perhaps I am not understanding completely your video, but I think that what is demonstrated in there could be achieved without your script, by simply using the track's parameter MIDI channel... Providing that the target plugins featured discrete select-able MIDI Input...

…Can you actually do what you're suggesting and make sure to post the OS and Version of Logic you're running.

Have you read my signature?
I thought for sure that was the way to do it but on my MacMini M1 (see sig for details), that didn't work. If you try it and it does work and your running let's say the Intel version, then I think we can safely say, my running version has a bug. :mrgreen:
If you could elaborate on which plugin you are using? Perhaps the cause of your issue is there? For instance in Omnisphere, one has to disable both Stack and Live modes for the MIDI channel track parameter to be working as expected.
Link to comment
Share on other sites

Have you read my signature?

What, no video showing this?

 

…Can you actually do what you're suggesting and make sure to post the OS and Version of Logic you're running.

Have you read my signature?

This is from the video that you watched???

plugins_presets.thumb.png.4abab9b033c23f91420d12561fc0da93.png

 

For instance in Omnisphere, one has to disable both Stack and Live modes for the MIDI channel track parameter to be working as expected.

Now this one has me stumped.

@ValliSoftware, thanx for the script!

Perhaps I am not understanding completely your video, but I think that what is demonstrated in there could be achieved without your script, by simply using the track's parameter MIDI channel... Providing that the target plugins featured discrete select-able MIDI Input...

You posted this from above.

 

I thought the whole purpose of the Track Parameter MIDI Channel is to allow ALL or a specifc MIDI Channel event data to pass thru regardless of the plug-in that's loaded.

Link to comment
Share on other sites

Have you read my signature?

What, no video showing this?

I don't see the need for a video since it is already documented.

...In case you haven't understood what I meant (by my signature) which appears below all my posts:signature.jpg.e103a4612d95545b6b021252a9c14e9b.jpg I was referring to same, since you were questioning about my system specs.

 

__________________________________

 

This is from the video that you watched???

976407415_videopic.jpg.e3526a036992138a9bf624bd511bb2ce.jpg

Your video mentions about the preset's name, not about the plugin...

 

__________________________________

 

For instance in Omnisphere, one has to disable both Stack and Live modes for the MIDI channel track parameter to be working as expected.

Now this one has me stumped.

Well, that was to demonstrate the importance of knowing how different (3rd party) plugins will interact also differently with Logic's basic features...

 

__________________________________

 

...

I thought the whole purpose of the Track Parameter MIDI Channel is to allow ALL or a specifc MIDI Channel event data to pass thru regardless of the plug-in that's loaded.

The MIDI Channel Track parameter when set to ALL will send to the (assigned channelstrip) plugin the events with their MIDI channel as they originally appear in the Event List editor.

 

If you set the MIDI Channel Track parameter to a specific channel (i.e. #1), all the events on that track will be sent to the (assigned channelstrip) plugin on MIDI channel 1.

If you set the MIDI Channel Track parameter to #2, then all the events on that track will be sent on MIDI channel 2.

With that track parameter, Logic is converting on the fly the events' MIDI channel.

However the recorded events retain their originally recorded MIDI channel (as you can see in the Event List editor).

 

It acts as such a realtime MIDI channel converter unless it is set to ALL; in that case it will send to the plugin the events with their originally set MIDI channel (as they appear in the Event List editor.

 

I.E.:

  • On the assigned channel strip, if the plugin is set to receive on MIDI channel 1 and you set MIDI Channel Track parameter to 2, the plugin will not respond to the incoming events, even though the events in the Event List editor are all set to channel 1.
     
  • OTOH, if the events appearing in the Event List editor are having their channel set to (i.e.) 4 and the plugin is set to receive on MIDI channel 1, setting MIDI Channel Track parameter to 1, the plugin will respond to the events.
     
  • Again, if the events appearing in the Event List editor are having their channel set to (i.e.) 4 and the plugin is set to receive on MIDI channel 1, setting MIDI Channel Track parameter to ALL, the plugin will no longer respond.

 

In a track stack, that's the track to which is assigned the plugin's channelstrip that counts (IOW the daughter track).

The stack master's track MIDI channel parameter will not come into play...

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...