Is it possible to assign a pad to trigger more than one operation at once?

Hi!
Is it possible to assign, say a pad on an Akai MPD 218, to trigger more than one operation at once?
For example: Bypass two plugins in the monitoring path of the control room?
I’d like to set up a single button that does the following at the same time:

  • Toggle between on/off state of cue-send in Control Room 4
  • bypass monitor-insert 1, 2 and enable insert 3

Now I have set this up in a way where I have to push 4 Pads at the same time, which works, but takes a lot of real estate on the MPD 218, and I wonder whether this could be handled via a macro in combination with a key-command or by a script or so…

Any help would be appreciated

Are you using the Mapping Assistant? I do believe you can make it happen using the MIDI API if you’re not afraid of some JS scripting.
I’m thinking out loud here, but it might be possible in the mapping assistant as well if you can create multiple objects that are all connected to the same physical controller.

This is exactly what I was not able to figure out - whether this can be done. I’m not a very skilled coder - but maybe I’ll look into that a litte more in the future… Seems that could help achieving a lot of ideas I was having…

If all of your desired actions are possible via toggle key commands, then you could create a Key command Macro and then use the new MIDI Remote to map the desired pad or button to trigger the Macro, which in turn would execute all of the commands you want.


If the desired actions aren’t all available via Key Commands, it’s
possible :nerd_face:, but not easy :scream:

Option 1 - MIDI Remote Javascript
Do as @mlib suggested and write your own JavaScript utilizing the MIDI Remote API. But it’s not entirely trivial, if you’re not used to object oriented programming. Object oriented programming is not the same as writing a simple little shell script for Windows, MacOS or Linux.

Option 2 - Cubase plus MIDI Loopback
Also a bit fiddly, but no programming.

  1. Create a Cubase MIDI track that listens to your controller and nothing else (set it to MIDI Channel “Any”, so it doesn’t mess with the incoming midi channel).

  2. Insert a MIDI Insert that can create multiple output notes from a single input note, for example MIDI Echo. For example setting it up like this creates 3 additional extremely short notes (each one semitone higher than the prior) for each note coming in:

    image

CAREFUL: Make the 4 desired notes be in a range not overlapping with other pad notes you want to use. One trick might be to use a different midi channel for this pad than for the others.

  1. Configure a virtual MIDI Loopback cable
    • (On Windows I use loopMIDI, and I believe on MacOS MID Loopback is built into the OS and you can configure it via the MacOS MIDI settings)
  2. Connect one end of this virtual cable to the output of the MIDI track created in step 1.
  3. Connect the other end of this virtual cable to the input of a new MIDI Remote device.
  4. Train the MIDI Remote on the 4 target notes (this may end up being a bit tricky).

Now you should have what the MIDI Remote thinks is 4 pads sending 4 different notes.

And now you can connect the 4 different actions, one for each of those 4 MIDI Remote pads.

Option 3 - 3rd party MIDI Utility
If you’re on Windows, there’s a funky little application called CoyoteMIDI that can also create multiple output events from a single incoming MIDI event. Even combinations of midi events and keystrokes or even mouse actions. This application would also allow you to use your MIDI controller to send key commands to other pieces of software. It also requires the use of virtual MIDI Loopback cabling. The idea would be similar to Option 2, in sending 4 events simultaneously to the Cubase MIDI Remote, so it thinks you’ve pressed 4 pads and thus allows you to configure 4 actions.

Hi,

You can use the Pad to trigger a Macro, can’t you?

Not sure if you caught the first sentence of my post:

1 Like

Wow @Nico5! You truly are a wiz!
I would NEVER have been able to find such a solution. I am on Mac, so I guess the CoyoteMIDI won’t work but now you gave me the idea of how this could be done maybe I find something similar for the Mac. I’ll try if I can work with solution2 first, I guess.
A thousand thankyou’s!
Stefan

For further clarification and chat:

Macros came to my mind right away, but therefore cubase would have to offer macro chains that do not need to relate to commands that can be called via keyboard-shortcuts.
The problem being that for control room there are (to my knowledge) no assignable key-commands. I have not found a command that would let me assign a keyboard shortcut to say “mute cue 3 in control-room” Or “toggle 2 insert slot of cue 3 on/off”.
So the problem is that toggle commands do not work with key commands (maybe only if the key commands trigger toggle commands, but I’m not sure about that even).

Also another hinderance is that it doesn’t seem to be possible to specify the initial on/off - state of the desired target. So e.g. one can assign the mute-button of the cue’s in the control room, but not wether their state should start with the on or the off-value, or better said: The on/off state always correlates to the state of the assigned pad. I worked around this by using the volume slider in the CR-cue instead. It can be set to a 0db-value when pad is deactivated and -∞ when activated.

The concrete setup I tried to achieve was to use some large full range speakers with 15’’ drivers as stereo subs:
4 pads were assigned to do the following:
1.) shut down cue 3 which goes to a pair of speakers that at the same time are fed by and instance of frequency for a low-pass filter.
2.) To toggle my main speakers to play full-range without the sub-cue activated and high-passed when the subs are activated I have another instance of frequency that needs to be turned on or off - respectively.
So I’d need a keyboard shortcut to activate a specific insert in control room. And that doesn’t exist as far as I know. So I used the commands provided by the midi-remote editor. I also have to toggle the Sonarworks correction on or off accordingly whether the subs are playing or not, using pads 3 & 4.

The control-room is such a great feature with its insert slots to be able to accomplish such a setup or any other setup like delaying speakers for a quad setup for example.
It would be fantastic if the cubase control-room had a way to control a say 2.1 or 2.2. setup with one button (A/B) so one would be able to integrate subs that do not have a frequency-crossover control (Frequenzweiche). This could be achieved if the cue’s would not only have insert-slots but at least one send (pre-post inserts and fader as an option) I know I am kind of abusing the controlroom a litte, but since it is possible to achieve such a setup I can save up until I can afford a very good subwoofer and use my old infinity’s to check on the sub-bass while mixing until later.

@Nico5 You turned me up on this, though. Do you know a resource (a course or a book or something) where I can learn this in a reasonably amount of time? Any hints?

And @Martin.Jirsak: It might be a very helpful feature for a future improvement of the midi-remote wizard to be able to assign more than one command - especially for those deeper lying functions that should not be used just triggering a key-command. E.g. one button switching between solo and listen. I have not found a key-command for the listen buttons?! Have I overlooked something?

Sorry Stefan, I have absolutely no idea. The last time I took a programming course, was in a prior millenium. :rofl: – Since then, it’s always been self-taught.

1 Like

You can already assign multiple commands via using Macros.


And I’m not sure, if you (or many other Cubase users) understand the difference between the two kinds of Cubase remote control :

  1. Bi-directional controls (most things that are NOT Key Commands)
    Cubase receives AND sends control values
  2. Uni-directional commands (i.e. Key Commands)
    Cubase receives commands, but doesn’t send those kinds of things)

Bi-directional controls don’t make much sense in a multi-mapped environment, because you might change just a single of the multi-mapped things in Cubase, and then what value is Cubase supposed to send back to the multi-mapped control?

So that leaves uni-directional commands (Key Commands) as sensible multi-mapped objects. And Cubase already has Macros which already allow multiple commands from a single external button push .So no need for the MIDI Remote to be changed.

So it might make more sense for a feature request to be related to Key Commands, rather than to the MIDI Remote:

For example:

  • Make control X also available as Key Command in addition to being available as a MIDI Remote mapped control. (X being whatever the specific thing(s) you desire.)
1 Like

Thanks again for your reply, @Nico5 !
I know the difference for I watched the excellent video by Jeff Gibbons, you helped put together, but I might have underestimated it’s implications and what’s actually happening under the hood.
So I understand that the problem might be better solved with Cubase providing more key-command assignments. (Also for the control-room!). Thank you for pointing this out.
But with all you say, would you completely discard the idea that being able to assign more than one command directly via the midi-remote-editor would be a bad thing?

Do I understand right that you mean multi-mapped commands being mute, solo, read, write, and such elements that can be related to more than one “receiver” like the active track, for example?
With control-room this problem would not arise for its “slots” and functions are fixed to 4 cues, 4 monitors, 1 phone (a second one would be great, btw.) So wouldn’t it be a good thing if all those switches in control-room could be addressed directly (not needing to use a key-command)?

So I absolutely get your point about the “better ask for a key-command” approach - and I don’t understand why we can key command mutes but not the listen-buttons (but anyway - feature-request is underway : ).
But I think some of the control room functionalities with regards of breaking them out to hardware were last thought about when the CC121 came out (of which I own two, thankfully) - as (most, but not all of) those functions were assignable to the CC 121’s user programmable buttons - which was always handled besides (and not related to) key commands.
So even just for expanding the cc121 functionality being able to stack two Control-Room controls to one of it’s 4 buttons would be fantastic. (e.g. mute cue 3+activate cue4)

It wouldn’t add functionality that can’t already be achieved with a slightly different workflow. I always vote against those in light that there are numerous feature requests for things that can’t currently be done at all. For example fully remote controlling more than 8 quick controls. Or making motorized faders not push back or jitter without custom programming and so much more.

I mean your original use case: One remote button push becomes 4 Cubase actions.
Or one move by a hardware knob/fader, moves 3 Cubase software knobs/faders.

You lost me. Aren’t key commands exactly that: addressing things directly? And/or: What would be “more direct” than being able to configure a Cubase action via MIDI Remote - the difference would just be a different label that doesn’t mention “Key Command”? It would still have to be one entry.

I actually find it useful, that it’s very easy to tell that some MIDI Remote actions can also be done as key commands.

Unfortunately that seems to be a Steinberg pattern with many great Cubase feature additions: Steinberg starts adding something great, making a big marketing pitch out of it and then abandons further development for years – the Generic Remote is a classic example.

That being said - I think Cubase is still the most feature rich DAW and what it lacks in some specific depth, it makes up in breadth.

That is effectively solved, when there are key commands for all of the actions. So again, the request is much clearer and specific when asking for more Key Commands.


p.s. I ended up handling your use case of adding/removing a sub woofer from my monitoring chain with a hardware approach, by getting a switchable subwoofer with a builtin cross-over. It can use a footswitch to enable/disable the subwoofer and the crossover - so I can go freely between the 2 listening modes. Cubase has no idea, which way I’m listening, since all of the subwoofer related stuff happens on the hardware output side after the audio interface.

Another advantage of that hardware setup is, that I can now enable/disable the subwoofer for any other audio from my computer. From iTunes to YouTube or listening to my exported mixes. Or working in a video editor. Or hosting a rave party in my small studio. It would have to be a small party though!

Thanks @Nico5 for clearing up things even more. I get your picture and you probably are right.

You are probably right again.
But on the other hand I’d like to be able to assign via the functions browser, because it allows for more specific configurations that just are not possible to achieve by key commands, especially when it comes to combing a command with a value. Anyway, I don’t want to talk in cycles, I appreciate your input and it surely is wise to think how and what to formulate for a feature request and why. Still I think being able to assign more than one command with one hardware button would be helpful for some use-cases.

I totally agree. I love Cubase and I think it’s the most all-round DAW on the market.

I do plan to do so but as I said want to save some money to buy a really good one, maybe if I can afford and justify even with a whole dolby atmos. system, that will require a complete overhaul of my monitoring including switching from “normal” solutions including adat to a Dante system with a new monitor controller, etc. So until then any saved buck helps.

Absolutely, but see, I do the opposite right now. I route EVERY audio via a RME loopback through the Cubase Control Room because I think it is better than running it trough the Sonarworks Systemwide core audio driver. So I always have a system-pipe template open. This is a crook in some way, but on the other hand it allows me to record all audio that comes through my system by the press of a button. Not a bad thing if you need to quickly catch a sample or something else of importance.

Anyway, thanks again for your help and insight, very appreciated. If you ever should be in Vienna, let’s have a coffee on me ; )

1 Like

With the old generic remote system (legacy) I’d simply ‘stack generic remotes’.

I.E. If I tried to have one event do multiple things in the same generic remote mapping, only the FIRST one in the list worked. However, if I just made a new generic remote set to listen to the same port and linked the same event to different DAW commands/instructions then they’d ‘both’ work.

Perhaps you could do something similar with the new MIDI Remote system.

Build two of them listening to the same port/device. Teach each to do different things when required.

I.E. If I wanted the MPC pad that sends C-1 on my MPK2 to do ‘two things at once’ remotely in Cubase…

I’d make TWO MPK2 remotes in Cubase. They’d both listen to the same MIDI input. The first instance might be pretty robust, with LOTS of events learned and linked to remote control stuff in the DAW. The second instance might be ‘mostly empty’ but for controls I want doing ‘multiple things with a single push’. In my second MPK2 remote, I’d simply link that pad to the ‘secondary DAW command’ for my C-1 MPC pad.

I haven’t fiddled with the new remote system in Cubase 12 much yet, but it seems like it didn’t want to let me connect the same port to more than one remote through the Cubase UI. Seems like I found a way though (by editing the desired port names in the remote script directly).

So, you might need to edit subsequent instances of a remote script with something like Visual Studio Code (or a text editor) to get more than one listening to the same device and active at the same time, but in theory, it should work.

I.E. I create two remote scripts in Cubase.
My MPK2 A (connects fine to the MIDI ports I want while building them). This is where I learn all of the controls and link them to stuff like the DAW transport. Mixing channels, whatever…

My MPK2 B (Won’t connect to something already in use, so I just point it to any ole MIDI ports I can, then edit the remote script, and change it to the same port as My MPK2 A). In this remote device, I don’t have much learned at all. Only the controls I want doing ‘two things at once’. If the exact order matters, then I’d make sure the one that should happen first is in the A map (They’ll still be on the same MIDI tick most likely, but if actual event order matters…I think it happens in the order that the remote maps were loaded).

At this point I can add stuff for just the controls I want doing ‘multiple things at once’ in the B remote.

You’d need to set up some Virtual MIDI ports in the Mac IAC driver.

Then you could have a look at stuff like:
Bidule
Bome MIDI Translator

Probably lots more that come in Mac versions, but these are the two I know more about.

With these two apps…you’d have them capture your Controller’s input first. They’d forward the ‘translated’ stuff onto a virtual port that could pick up in whatever DAW(s)/Host(s) you like.

Hey @Brian_Roland!

Interesting concept!
Thanks for the links too!

cheers, Stefan

1 Like