Hi,
I’m counting with these rather simple features to implement till the script.
That would be awesome, thank you!
Hi,
I’m counting with these rather simple features to implement till the script.
That would be awesome, thank you!
Hi,
For every plug-in you could define, which 8 parameters (buttons, knobs or any other type) do you want to control by the 8 VPots.
Btw, are the VPots also push buttons, please?
Tomorrow I will try to write the “Hello World!” script, to print it to the display.
Btw, For my Mackie script I have implemented some unique features like Nudge Left/Right, Start, End, Up/Down. Very concubine l convenient for the Key Editor. I can navigate thru all menus by using 1 VPot. I can switch the Remote Pages from the hardware… All of these are portable to the SAC.
Hi,
The value is printed to the display.
I agree. I have implemented complete menu. My next step is, I want to implement the way, you can define your own “menu”.
But in general, this is a big advantage of the MIDI Remote API, you can easily assign the parameters to the controllers. You can make new pages and do so without affecting your existing assignment. And you don’t need any 3rd party.
Hi,
Please find the very first “Hello World!” script attached. In this script:
???Questions???.
Known issue
The faders don’t move so far. I was assuming, they send Pitch Bend, same as Mackie Control. But they don’t. I have to change the script accordingly, but I have to leave, now.
Please, test if possible.
radikal_sac.midiremote.zip (8.6 KB)
Hi all,
I’m confused with the MIDI Messages a bit.
Could someone send me an example of some buttons? What MIDI Message does SAC send out, if you press for example the Pan button?
The best would be if I could make a short online meeting to do some MIDI Monitoring with one of the SAC owner.
Thank you
Hi all,
Does it look familiar to you?
Now I would need someones help with the MIDI binding, please. I’m not 100% sure with the binding by just reading the MIDI Implementation. Thank you.
If I would know the MIDI binding, these function would work already:
Questions
What do the 4 encoders bellow the 3rd display do?
Hi Martin,
Well, that screenshot comes pretty close to the original.
Since you are so into it I decided to get some information together for you.
I took pictures of my SAC controller in every control mode it is capable of when it’s working in conjunction with Cubase, so you can see what the different LEDs and displays do during operation.
I also took screenshots from MIDIOX for a few operations so that you can get a grasp on the data transferred from the SAC.
Lastly I added the updated remote control device description from Steinberg which should answer any of your above mentioned questions regarding the functions of the several buttons.
You can find all of this in a .zip archive which I uploaded to WeSendit. The link is WeSendit - Swiss File Transfer Service and is valid for 7 days.
I hope this helps.
+1
Hi,
That’s lots of documents to read. Thank you very much!
Hi,
@tannoy71, thank you very much again for all the screenshots.
Unfortunately the way, how does SAC sending the MIDI Messages, is a showstopper for the MIDI Remote. They are using different messages for On and Off. The common way is to send one MIDI Message for the given object (button, encoder, fader) with different value. They do the oposit, send the same value and different MIDI Message.
For example:
The common way would be:
With the MIDI Remote API, I can bind only one MIDI Message with the variable value.
So I can see 2 options here:
I strongly prefer the 1st option here.
What do you think, SAC group, please?
@tannoy71 , @mewy , @chris030 , @Sterni1 , @David_W , @mariopa
Hi Frank,
Thank you for your message.
OK, no problem. Maybe I just haven’t get how does it work completely.
I understand this. I hope Steinberg will implement this. So once this is implemented in Cubase, I can add it to the script and we are ready to go.
In the Mackie Mode, the resolution would be 16.384 steps (as Pitch Bend is also 14bit, same as the way SAC does it).
I know it will take some time to implement the SAC on my side. And I believe Steinberg will implement the Time Display. Therefore I want to implement the current stuff and then add the rest once it will be released. So you don’t have wait after.
Hi all,
Let me share a MIDI file with you. The goal is to find out, if I can print to the display. You don’t need Cubase 12 for this test, you can use any Cubase version.
There are 2 SysEx messages in the file:
The tests are following:
SAC Mode:
Mackie Mode:
Results
If none of them is working, could you try to modify the SysEx messages so it will work, please?
The ZIP file contains:
Thank you for the test!
SAC_SysEx_Test.zip (35.9 KB)
Hi all,
This is the current state. All the buttons with the icon are working already. Just the MIDI binding is missing.
Hi again,
In slave mode they do nothing. The display is used for information about selected channels, edited FX or instruments and whatnot. I’ve assigned some custom functions to them via BOMEs MIDI editor, i.e. turning pages. In Mackie Control mode they are pre-assigned to zoom functions and other things by the SACs internal system.
There’s a common misconception here. The user does not switch the device to the modes. It can be done that way, but that’s not how it’s supposed to work and is prone to fails.
The remote device control panel of Cubase/Nuendo and somewhen maybe the MIDI remote API sends an initialisation SysEx to the SAC when it’s started. In case of the SAC slave mode, this is an absolute necessity. Only after receiving that initialisation SysEx the SAC will be able to work with the following incoming SysEx or MIDI data. If one switches to the slave mode manually and sends data to the SAC, nothing will happen.
The SAC has an internal memory in which the different controller capabilities and data formats are stored. For example - if it receives a typical Mackie Control SysEx with the header F0 00 00 66 14 it immediately recognizes it as a Mackie Control SysEx and switches to the Mackie Control Mode automatically from whatever mode it currently it is in.
That being said - that works but still there’s an extra initialisation SysEx for Mackie Control mode available.
Martin, if you’ve read the paragraph above the quote you probably noticed that your SAC SysEx can’t work. The unit has to get an initialization message before it knows what to do with that SysEx. Unfortunately, this initialisation message (among other things) is not exactly broadly explained in the MIDI implementation file that’s available - especially because there are two versions of that message available and one of them is not supported anymore.
Another problem was the 5th byte in your SysEx for displaying the text, as you’ve expected. The value ‘dv’ in the midi implementation document doesn’t refer to the mode the SAC is in but to the system channel. This is MIDI channel 16 by default so that byte has to be changed to 0Fh.
When your SAC SysEx example is changed that way and the SAC gets properly initialized into the slave mode everything works as expected.
Now to the Mackie Control mode…
The SysEx you wrote works, but not as expected. The initalization can be neglected since the SAC recognizes the SysEx header and automatically switches to Mackie Control mode.
The problem is that the SACs Mackie Control mode apparently doesn’t allow characters to be positioned in an arbitrary way on the 2nd row of the displays. It expects spaces before and after the channel names. So your text is distributed in groups of 7 characters across the channels. The blank characters are probably reserved for metering.
That brings us to a possible biggie: I fear that the internal system of the SAC only allows Mackie Control Messages which are compatible with the specifications that are programmed in it. That means, if the system is still on Mackie Control V 1.07 (the last firmware update for the unit is dated 2005) and the current Mackie Control is for example V 7.08, all implementations that were introduced between those two versions might not get recognized.
And last but not least, somewhere in this thread the fader resolution came up, I think it was Frank who asked about it. You were assuming it works like the Mackie Control and sends 14 bit pitch bend messages.
I’m not so sure about this. The MIDI implementation document states that the fader resolution can be switched by the LSB between 7 or 8 bit. I don’t think the internal fader a/d offers higher resolution. 8 bit is preferable and more than enough for me personally, fader scales are logarithmically and a automation curve is interpolated within Cubase/Nuendo anyways.
So, testing and documenting this took loads of hours. Martin, I suppose writing the script will take you a serious amount of time as well, there will be more stuff that will not run as planned and I expect lots of further testing and documenting has to be done then.
If the goal is to make it work like the SAC implementation (and from my pov that has to be the goal) this is a behemoth of a task.
I don’t have the time to always do such intensive testing and documenting. And I suppose you have other things to do as well.
So again, Steinberg…I hope somewhen somebody of you will finally reply. The solution is already there, implement it again. It can’t be that we, especially Martin, have to reinvent that thing from scratch.
Thank you.
PS: Martin, WeSendit - Swiss File Transfer Service is the link to a .zip file with screenshots from the SACs displays and the SysEx messages mentioned in my post. The file is available for 7 days. There are two example SysEx screenshots which show how Cubase handles the displays in Mackie Control mode - it always sends two different SysEx files to the unit, one for the upper rows and one for the lower rows. I hope this helps.
Hi,
Did you set the MIDI Out Port to SAC, please?
Hi,
Thank you very much @tannoy71 for the testing, screenshots, SysEx messages, documentation…
It seems, SAC is really affected by the characters limit of the MCU protocol. That’s sad. And actually this with combination to the fact I cannot read the native SAC messages within the MIDI Remote API properly, These together seem to be a showstopper from my point of view. In the SAC mode, we can’t use the MIDI Remote API. In the MCU mode, we are limited by the MCU protocol.
I didn’t play the MIDI file, I imported the SysEx into MIDIOX and sent then from there. I tried to play the MIDI file after I read your post and got the same result as you did.
I suppose if it don’t works playing the MIDI file that means, that some kind of initialisation message is needed in any mode. In my tests, the SAC received the initialisation message for SAC mode and after that was able to switch to Mackie mode just by recognizing the header of the Mackie SysEx.
Actually what you describe would make sense, since Cubase sends always a specific Mackie initialisation mode message to the SAC before it sends Mackie Control data to it.
The MIDI file doesn’t contain an SAC initialisation message nor a Mackie Control initialisation message, so the controller doesn’t know what to do with the received data.
You are welcome. I was afraid of that outcome and it sucks. I feel sorry for you, Martin, since you were so enthusiastic about the project and already put some work into it.
Maybe the API will be able to deal with the SACs data convention somewhen.
Hello all,
when you guys start talking about that programming stuff I’m completely lost. I didn’t even know that Cubase has some dedicated sysex editor.
Anyways, it’s a shame that it doesn’t work.
Thanks for your efforts, Martin.
Steinberg, please help!
+1 please.
Hi,
Is there any Mac user with Cubase 12 and SAC, please?