AZSlow

AZ Controller plug-in for Cakewalk SONAR => Discussions => Topic started by: Calexo on January 12, 2016, 03:36:08 PM

Title: Behringer CMD LC-1
Post by: Calexo on January 12, 2016, 03:36:08 PM
Hi !
I'm the happy owner of a Behringer CMD LC-1, and I already love AZ Ctrl, Thanks a lot for that !

(https://media.music-group.com/media/PLM/data/images/overview/CMD%20LC-1_P0AJD_Overview-I_O.jpg)

I'm working on a complete preset for that device.

I'll put it here once ready.

See you !
Title: Re: Behringer CMD LC-1
Post by: Calexo on January 12, 2016, 03:38:24 PM
Hi !

The LC-1 as 8 endless encoder, with a 15-LED ring. Unfortunately, to control this ring, I have to send a CC message with a value between 33 and 47. After having monitored the value (between 0 and 127), how can I translate it to a 33 to 47 value ? Spent some hours on that, but can't find the trick...
Thanks a lot for your help !

Calexo
Title: Re: Behringer CMD LC-1
Post by: azslow3 on January 12, 2016, 06:52:43 PM
Hi !

The LC-1 as 8 endless encoder, with a 15-LED ring. Unfortunately, to control this ring, I have to send a CC message with a value between 33 and 47. After having monitored the value (between 0 and 127), how can I translate it to a 33 to 47 value ? Spent some hours on that, but can't find the trick...
Thanks a lot for your help !

Calexo
You better ask me if you have questions, some tricks are not simple to find....

I attach example preset, it obviously is not working since I do not know the mapping but it shows the following idea.

Warning: do not forget to save your current preset before loading my example!

Note: the preset can be loaded into AZCtrl v0.4r2 or later (currently "Test" version in the Download section).

For rings:
* you need some "Software State Set" (Options tab) with 15 states ("Add 10 states..." can be handy to create them, 2x and then remove not needed). I have called it "Ring". State names should be required values in HEX. So, for 33 it is "21" (2*16+1), for 47 it is "2F" (2*16 + 15, which is F in hex). A bit "unmusical", but MIDI world was created for computer...
* in the monitor section ("Feedback", "Encoder 1: Parameter Value Monitor" in my example) you map Value to "Ring" using "Set state" action with corresponding parameters ("Ring" set to "<Map par. value>").
* You then use SysEx/MIDI action to start MIDI sequence (with "Begin" option). You need to write correct first 2 bytes there. In my example it is "B8" "05", means CC ("BX"), channel 9 ("X8", counted from 0), CC 5 ("05").  You just have to translate whatever MIDI is assigned to the encoder, "B" for CC, "9" for Note, next number for "Channel"-1, next 2 numbers are CC/Note number
* then you append "Ring" to the message
* and finally you send it with "MIDI" "End (and send)". (please ignore "f7" displayed in the action list, that is just display bug coming from SysEx, it will not be sent in MIDI mode)

For buttons:
The same idea with sending, but a bit different approach since we have nothing to map. Demonstrated in "Solo : Parameter Value Monitor".
* I have created Software State Set "BtnColor" with (arbitrary) color names
* (Logic Tab) I have created a "function" "_Color2MIDI" (which is attached "Hardware" control without MIDI message assigned, so first create Hardware Control, then "Attach" it in the "Hardware" tab).
* in the function I conditionally append values corresponding to colors (in example all numbers are fake, you need to find real one) and then send MIDI message
* in Feedback I convert value in required color ("On" means "1", mapped to MIDI means "127"), start MIDI message (again, you should construct correct HEX values for concrete button) and then call my function.

I hope you can follow the text. Tricky, I know. But I have not found simpler to use solution with the same flexibility (using that method it is possible to construct arbitrary complicated MIDI (also sequences) and SysEx messages, effectively implementing protocols used in near any MIDI controller, without hardcoding anything!).
Title: Re: Behringer CMD LC-1
Post by: Calexo on January 13, 2016, 05:49:14 PM
Hi !
Thanks !
Not tested yet, I'll try when back home. So I was on the good way, cool !
Just missed <Map par. value>. I saw it, but didn't know what it does. So it maps a range (0-127) to another (the Ring set) ?
I can't wait to try !
Title: Re: Behringer CMD LC-1
Post by: azslow3 on January 13, 2016, 06:16:23 PM
Just missed <Map par. value>. I saw it, but didn't know what it does. So it maps a range (0-127) to another (the Ring set) ?
Yes. Current value is saved is the "system" set "Value" with range 0-127. In Logic list, that is the value from input MIDI message. In the Feedback it is the value from parameter (originating from 0...1 in Sonar). That can be mapped to yet another set with different number of states, that was introduced exactly for the purpose you are going to use it.
Title: Re: Behringer CMD LC-1
Post by: Calexo on January 16, 2016, 04:41:39 PM
Finally, I can test today, and everything does work ! Perfect !
I added a led ring switch off on pan encoder to indicate it's centered, and it's OK.
I can work on all features I want now, thanks a lot !
Title: Re: Behringer CMD LC-1
Post by: Calexo on November 10, 2016, 02:32:08 PM
Hello !
Still working on it ;)

I'd like to select a strip directly via a button.
If I clic on button 12, I want the 12th strip to be selected.
How can I declare a WAI zone for all the strips ?
How can I know how many strips are in my project, so I can switch off the buttons without strip ?
Thanks again a lot for that wonderfull piece of software !
Title: Re: Behringer CMD LC-1
Post by: azslow3 on November 10, 2016, 04:59:34 PM
Hello !
Still working on it ;)

I'd like to select a strip directly via a button.
If I clic on button 12, I want the 12th strip to be selected.
To implement that "as is", the combination is:
"Strip" "Track" "<First>" "+11" "Current" (parameter "Current" is for monitoring only, so in the monitor you can use "Selection:Invalid" condition to detect there is no such strip, "Selection:Valid"+"Value:0" for strip exist but not selected and "Selection:Valid"+ "Value:127" condition for the strip selected)
"Function" "Select strip"

Note that this will work only in case "Tracks" are in focus. If buses are in focus, that function will not change visual focus to tracks (so, track 12 will be "current" track, but visual focus will stay on current bus). To change focus from buses to tracks, use the combination:
"Command" "Move focus to bus pane"
"Command" "Move focus to track pane"
Note that the first command is not a typo, Sonar has a bug which prevents the second command to work alone reliably.

But you are right, it is better to use WAI instead of absolute number.

Quote
How can I declare a WAI zone for all the strips ?
Since the number of controls is fixed, WAI region is not for "all" strips but for some fixed number of them. Use "WAI" action to set the region. It has "double" functionality: it can set the width of WAI for each strip type and it can move WAI regions. To move the region, use "Strip" action to choose the strip which should be the first in WAI. Set "width only" flag to avoid moving and set "initial" flag for default width when Sonar is started (f.e. "8" "0" "0"). Note that which strip is the first in WAI is also controlled by Sonar and mouse. So you do not have to initialize the position.

Then you can use WAI relative strip selection, in the last example ""Strip" "Track" "<First in WAI>" "+11" "Current".

Example for moving track WAI right by 8, with "fallback" to set WAI as last 8 tracks in the project:
 - "Strip" "Track" "<First in WAI>" "+8"
"Selection:Invalid" - "Strip" "Track" "<Last>" "-7"
- "WAI" "<old> <old> <old>", both flags unset


Quote
How can I know how many strips are in my project, so I can switch off the buttons without strip ?
There is no possibility to count strips in project. But you can use monitoring described in the first example to switch off buttons. I mean if the button suppose to focus track 11 and there is no track 11, you can use "Selection:Invalid" to detect that.

Quote
Thanks again a lot for that wonderfull piece of software !
You are welcome  ;)
Title: Re: Behringer CMD LC-1
Post by: Calexo on November 11, 2016, 03:57:30 PM
Perfect, it works like a charm ! Seems everything is possible, no limit !

So can I continue with another question ?

Once the track is selected, I'd like to be able to control the ProChannel EQ, with my rotaries. f.e 4 rotaries for freq, 4 for gain. How can I do that ? Only <Any> and <Other> appears in the dropdown list of the Filter command ?

Thanks !!
Title: Re: Behringer CMD LC-1
Post by: azslow3 on November 11, 2016, 09:46:26 PM
Once the track is selected, I'd like to be able to control the ProChannel EQ, with my rotaries. f.e 4 rotaries for freq, 4 for gain. How can I do that ? Only <Any> and <Other> appears in the dropdown list of the Filter command ?
Which version of Sonar are you using, and which language? Check that ProChannel EQ is ENABLED, switch to some other action, return to "Filter".
Still no EQ? You can use Options/Filter/Define (search for "Filters" in the User manual thread). But I would like to know what you had to put there to make it detected.

There are limits... like for an ocean ;)
Title: Re: Behringer CMD LC-1
Post by: Calexo on November 12, 2016, 09:43:04 AM
I'm using the latest Platinum version (22.10.0 Build 19 [2016.10]). I'm in French. In ProChannel, the name of the module is "EGALISATION".
It's not detected, even if a strip with that EQ on is selected.

So... thanks for your ocean software :)
Title: Re: Behringer CMD LC-1
Post by: azslow3 on November 12, 2016, 10:10:24 AM
I'm using the latest Platinum version (22.10.0 Build 19 [2016.10]). I'm in French. In ProChannel, the name of the module is "EGALISATION".
It's not detected, even if a strip with that EQ on is selected.
"French" is the reason  ;) They translate parameter names. So you should define your own filter in the Options/Filters/Define
Enter "EQ" "27" <HP Slope> "27". Where "27" is the number of automations for EQ and <HP Slope> is what you see as the last automation (in the track view, click on "Clips"/"Automation"/... to see the list)
Title: Re: Behringer CMD LC-1
Post by: Calexo on November 12, 2016, 03:11:34 PM
And of course, it does work ! With <Passe-haut Slope> .
Did I ever thank you ?  ;D
Title: Re: Behringer CMD LC-1
Post by: azslow3 on November 12, 2016, 06:31:29 PM
And of course, it does work ! With <Passe-haut Slope> .
Nice!
Two tips:
a) this way you can add not only standard modules, but also different FX Chains (I mean FX Chain module with different sets of FXes).
b) for FXes and ProChannel modules, you may want to control whatever effect is on current track. F.e. if you use PC4K on one track and CA-2A (was for free recently...) on another.
Select required parameter with "Filter" action and add another "Filter" actions for other plug-ins, with "Selection:Invalid" condition. This way your hardware encoder will control the first parameter which exists, effectively requested parameter for the effect which exists on specified strip.

Quote
Did I ever thank you ?  ;D
I have just checked, you did that many times  8)
Title: Re: Behringer CMD LC-1
Post by: Calexo on November 13, 2016, 09:31:10 AM
OK perfect, thanks for the tips !