Author Topic: Setting up a template in Cubase based on a remoteprotocol  (Read 5082 times)

Offline loreamon

  • Newbie
  • *
  • Posts: 2
Setting up a template in Cubase based on a remoteprotocol
« on: April 15, 2020, 09:59:59 PM »
Hello

I am not a programmer but a musician trying to set up a complex custom Lemur template for controlling Cubase 10, my software and hardware from one place. It is based on midi kintetics template which successfully links selected channel VSTi/midi to a set of controls for it, but i need to build a channel strip which has deeper control into the insert/send section seen in some protocols.

So far I've managed to find and adapt an old AlphaTrack controller cubase plugin and setup up (based on a downloaded template from Lemur's forums) a channel strip which does touch automation, receives midi args data for VU meter and most of all responds to selected channel in Cubase AND displays 16 characters of the channel name.

Before succeeding with the custom AlphaTrack control plugin, i was trying out some Mackie control implementations which show only 6 characters from channel name and need to be scrolled in groups of 8 with a different selection strip than the selected channel in the DAW.

Your community seems like a good place to start looking for answers! Is there an AZ protocol for Cubase and Lemur?

I know it is possible to somehow request from the DAW more parameters, like insert FX name and automatic display of its parameters. Seen that in MCU protocols around but looks like limited and very obsolete. I own a Nektar P1 which uses its own remote control plugin, can't integrate it in my setup anymore because of the wobbly dirty faders, but it's code looks like very much what i need. The Nektar can even assign sends on the selected channel and choose insert FX from a list, besides displaying VSTi parameters, well already too much functions than what I need to build.

A note that in Lemur its easy to create a custom template for controlling a plugin, but then this plugin needs to be always in the same slot (and template) so Cubase can remember the assignment.

In those covid times as we musicians are grounded in our studios, my old interest in scratching the surface of custom templates and basic but proper programming is at its hype.

So here is the alpha track display (lemur) script requesting channel name from Cubase:

if (subarray(MIDI_ARGS, 0, 7)=={0xF0,0x00,0x01,0x40,0x20,0x00,0x00})
{
if (arraytostring(subarray(MIDI_ARGS, 13, 9))!='Mark  Pan')
{
if (arraytostring(subarray(MIDI_ARGS, 6, 6))!='Volume')
setattribute(TrackName, 'content', arraytostring(subarray(MIDI_ARGS, 6, 16)));
}
}


I can't find anywhere an detailed explanation of MIDI_ARGS, which seems to be a key request command from a controller to a DAW in order to get that desired information. I will be grateful if people with knowledge about it help me or point me to communities about writing (custom) code for remote controllers.

This is the link for the strip, if anyone is interested.
https://liine.net/en/community/user-library/view/408/

Sorry for my (first) long post. I saw "When I am not programming, I am playing piano.." - looks like very much me, when not producing music or sound design  :)

Stay all safe !



Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Setting up a template in Cubase based on a remoteprotocol
« Reply #1 on: April 17, 2020, 10:34:03 PM »
Hello,

Sorry to say, but there is no AZController for Cubase. And I do not know any other solution in that direction for Cubase, not sure it can be written at all.
There are DAWs/Companies which are open for interconnections. Cakewalk has published (MIT licensed) Control Surface API for Sonar, with documentation, long time ago. Cockos has done the same for REAPER. Ableton has not published the API for Live explicitly, but there are so many (python) scripts that everything is clear without any documentation.
Steinberg went wrong road, as can be seen with VST/ASIO. I have asked Steinberg once for API, I have explicitly mentioned I am ready to sign NDA if required (I am in Germany). They have never answered...

So the only known way to bind something to Cubase is using existing plug-in by emulating corresponding device (AlphaTrack, MCU, etc.). In other words, if there is no device which does something in Cubase you can not do that on your own, even in case corresponding API probably exists.

After diving into VST coding saga, I have decided I will try to stay as far away from anything Steinberg related as possible. There was time they had innovative and genius people, when they have published VST(up to ~2.2) and ASIO. These times are over.
 

Offline loreamon

  • Newbie
  • *
  • Posts: 2
Re: Setting up a template in Cubase based on a remoteprotocol
« Reply #2 on: April 21, 2020, 06:25:38 PM »
Hello Azslow,

Thanks for your reply!

Yes I am aware of some limitations on Cubase, also missing the OSC while in Lemur!
I use both Cubendo and Ableton live since 2001 (launch year for ableton), tried quite a bit of Logic, Pro Tools, Fruity Loops, even Sonar and Reaper.
Each has flaws and pros, but I am binded for so long that switching seems impossible as for now.

I can understand your point on secret API, in fact they keep their owner Yamaha controllers nobody uses in the first row.
But cant' really see what's wrong with ASIO and VST, especially vst being used by all other DAWs. VST3 is yet underdevelopped perhaps.

As I am not aware, the Alpha track plugin .dll i use as a backbone of my channel selection strip cannot be decoded in any way? So to see what's up there communicating with the program. Panorama dll is also another option. Any thoughts of some info somewhere?

Bests


Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Setting up a template in Cubase based on a remoteprotocol
« Reply #3 on: April 22, 2020, 08:01:51 PM »
Decoding Alpha track or Panarama .dll, to get the API, is not only difficult but also illegal.

When switching from Sonar, there was long discussions on Cakewalk forum about DAWs. Not many people have chosen Cubase. I have not heard it has anything worse the effort to deal with significantly "aged" and heavy DAW.

VST was/is so popular because of VST2. And it is officially KILLED by Steinberg (in 2018), so no new developers can legally write VST2 plug-ins. VST3 can be used for GPL3 (strict open source) plug-ins, but it has rather questionable approach, horrible documentation (the reason of bad compatibilities between DAWs and particular VST3 plug-ins) and crazy license (let say you are asked to sign a contract to play music, in which you agree to change the style of music you have to play on any request in the future...). ASIO license is the reason Apple is still preferable platform for music (any extra features or improvements which could be developed in last decades are simply forbidden to write). So both projects are examples how you can ruin brilliant ideas and ahead of time open source concept with dummy written licenses...