Jump to content

Transport commands via sysex - which Control Surface to use?


Recommended Posts

Transport commands via sysex - which Control Surface to use? Or are there other Cakewalk-supported drivers available? I'm using the latest available Cakewalk by Bandlab version and have to assume that has the latest Transport drivers.

I don't want to use the Mackie because some of their behavior is problematic - for example, compared to using the computer keyboard, first press of "R" begins recording and transport is rolling, the next press, recording disengages but transport continues rolling (like a punch-in / punch-out would).

With the Mackie protocol through the built-in control surface choices, yes, the first message begins recording, the transport rolls. 

However, when the second message of record, recording is disengaged, but ... the transport stops !!

My Control Surface is the Elgato StreamDeck, which has a MIDI plugin that uses the Mackie protocol, but also offers Sysex, Note#, CC#, so I was hoping that I could build a transport set of Sysex commands.

The plugin can send keystrokes, so I currently have it send "R", but that only works when Cakewalk app has foreground focus.

Link to comment
Share on other sites

You shouldn't have to use sysex, and in fact I'd recommend NOT using it due to the size of the message payload.  Most of the control surface DLL's take exclusive ownership of the MIDI ports assigned to them, so you can use any MIDI message you want without fear of it "leaking" into your recording.

The Mackie Control surface is specifically designed for the Mackie MCU / MCU Pro, and the additional Mackie XT & C4 units.  Not all control surfaces that emulate the MCU work as well as the original MCU, unless they have a specific SONAR/Cakewalk mode that has been specifically designed for use with SONAR/Cakewalk.

The ACT Control Surface allows you to define your own messages, but does have its limitations and is one way (i.e. you can send messages to it from your control surface, but no information will be sent back to the control surface).

@azslow3's  AZController is by far the most flexible, offering pretty much unlimited control in both directions, with any MIDI message you can dream up... but at the cost of ease of setup.  In saying that, there are plenty of presets for a range of different devices on his website: https://www.azslow.com/

If you've got C++ experience, you could always write your own surface using the Cakewalk Control Surface SDK.  The source code to most of the control surfaces shipped with Cakewalk are there, so you can see how they're implemented, and use them as a basis for your own.

  • Great Idea 1
Link to comment
Share on other sites

hi Mark - Thanks for your detailed reply!  I appreciate the advise - I had come across AZController but was a bit hesitant as you say the setup is not "one-button" - however, if the end result is as-needed, I will dive in.  Writing my own in C# is not at all within my skill set - I'm a guitarist/keyboardist/singer/songwriter, so the only C# I know about is the key of C# 🙂

Could you clarify a bit about AZ and MIDI messages - if I download the control surface .dll and get it to appear in the dropdown of Cakewalk's Control Surface types, then attach it's MIDI ports to the StreamDeck hardware/software,  the StreamDeck's "MIDI Plugin" allows sending/receiving MIDI messages on those ports - what are the MIDI messages? Are they what is configured in Cakewalk's Key Bindings? Or is it the Play/Record/Stop messages as defined in MMC ?

And, how do I find out what MIDI messages being used by the Cakewalk "R" key so I can replicate the "punch-in/out" behavior I described?

Or, and if I get time to RTFM, the AZ documentation will explain how to do this?

Thanks!

Link to comment
Share on other sites

2 hours ago, freddie_tane said:

hi Mark - Thanks for your detailed reply!  I appreciate the advise - I had come across AZController but was a bit hesitant as you say the setup is not "one-button" - however, if the end result is as-needed, I will dive in.  Writing my own in C# is not at all within my skill set - I'm a guitarist/keyboardist/singer/songwriter, so the only C# I know about is the key of C# 🙂

Could you clarify a bit about AZ and MIDI messages - if I download the control surface .dll and get it to appear in the dropdown of Cakewalk's Control Surface types, then attach it's MIDI ports to the StreamDeck hardware/software,  the StreamDeck's "MIDI Plugin" allows sending/receiving MIDI messages on those ports - what are the MIDI messages? Are they what is configured in Cakewalk's Key Bindings? Or is it the Play/Record/Stop messages as defined in MMC ?

And, how do I find out what MIDI messages being used by the Cakewalk "R" key so I can replicate the "punch-in/out" behavior I described?

Or, and if I get time to RTFM, the AZ documentation will explain how to do this?

Thanks!

AZController (or any of the other control surface DLL's) don't communicate with Cakewalk via MIDI, they use the Control Surface API which exposes a set of Cakewalk commands that can be invoked.  The control surface may also be able to send a keypress to Cakewalk.

This is how it works:

Hardware Control Surface -> (MIDI) -> Control Surface DLL -> (API) -> Cakewalk
Cakewalk -> (API) -> Control Surface DLL -> (MIDI) -> Hardware Control Surface

In essence, any command that can be bound via a keypress should be available to the control surface DLL, although in reality the very latest commands may not be available, as not only does the API have to be updated, the control surface also has to be updated to make them available.

I've not used AZController in a long time - @azslow3 is probably the best person to ask about it.  His documentation should cover it though.
 

  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...