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!).