Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Also check out the Facebook Group.

Of course, if you want to send us an email, feel free.

MIDI Designer
Design your perfect MIDI controller for iPad, iPhone and iPod touch.
I would like to request an additional Sys Ex variable (or two) besides "L" and "V" - MIDI Designer Q&A

I would like to request an additional Sys Ex variable (or two) besides "L" and "V"

+1 vote
asked Jun 16, 2019 in Suggestions by andyv (340 points)
edited Jun 25, 2019 by andyv
Hey there, I'd have to double check if it works with sysex, but check out the bit changer

https://mididesigner.com/qa/3386/what-are-bit-changers-in-midi-designer

might do what you need. Thx.
Use the L (Channel variable)
Ive run into this problem before. You see, you can have as many channel controllers as you want. The L only changes on the channel changer that is mapped (parent) of the control that needs an extra sysex value.
You can have a second channel controller for say Midi channel control over any CC type controllers.
You can even get inventive and map both these to say and up button and a down button so they both change together.
Check out my Kawai K5 layout.
I had this problem also. There are actually 3 different channel controls in that layout, and they all change with two buttons sending them up or down. Check the layout you should be able to see what I done. Its a hack sure, but it worked. I explained it a little in the notes.
I hope that helps buddy
Cheers
Dan,

Thanks for the response.  I may be missing something, but after experimentation, I haven't been able to get bit changers to do what I need them to.  They do technically work with sysex messages but I need them to change in a different byte than what they seem to be programmed for.


For instance, if I wanted to control the LFO Reset Mode for each of the three "scenes" the message would be as follows: F0 43 10 5C 10 1S 08 V F7  (see table above)  
Where V=00 or 01 for reset either "ON" or "OFF"
And S = 0, 1, or 2 to denote the scene for which the parameter is set.
I have only been able to get the bit changer to affect the V bytes, not any other in the message.  Does that make sense?  Please let me know if I'm overlooking something.


Regards,
andyv
thedood,

Thanks for the response, I downloaded the K5 layout.  Man! INTENSE!  Good work.  Unfortunately I haven't been able to get the "L" Channel variable to work for my application.

For instance, if I wanted to control the LFO Reset Mode for each of the three "scenes" the message would be as follows: F0 43 10 5C 10 1S 08 V F7  (see table above)
Where V=00 or 01 for reset either "ON" or "OFF"
And S = 0, 1, or 2 to denote the scene for which the parameter is set.

With the Channel Changer parameter I have only been able to get it to substitute 2 bytes in the place where I need the scene parameter changed.  What I need is to change only 1 byte. If I try to use the Channel Changer the high byte will always be 0, when the syntax requires it to be 1, for instance 10, 11 or 12.

Let me know if I'm making any sense

Thanks for your help!

andyv
Hey Andy, sorry for the delay buddy.
Yeah it makes perfect sense, I have also come across this problem.
Can you tell me, sorry, as Im not familiar with the Yammy sysex, but does the first byte, "1" in the "1S" ever change also?
Or does it stay as a "1"?
You see, you can use your "own" values behind an L control, using "Named Ticks".
When you create a channel control, it gets populated by default with 16 values (0-15) to emulate the 16 midi channels.
But you can clear these values, and make up what ever Hex values you want to send it. So say you need these two byte values in Hex.
"10"
"11"
"12"
"13"
You could hard code these into the L controls "Named Ticks" list as decimal, and it will spit them out as HEX for you.
You need to convert these to decimal so it outputs the right Hex values.
Dec    -      Hex
16      -      10
17      -      11
18      -      12

So your Tick screen would look like so.
Midi .   Display .   Name .
16       0              "Scene One"
17       1              "Scene Two"
18       2              "Scene Three"

I hope that makes some sense, and again, this all hinges on what the first word (byte) is and what it can change to. This method obviously can't work all the time, because your kind of "hard coding" your values behind the "L" parameter.
If the first byte is constantly changing also to other values, your hard coded value list can get REALLY large. Defeating the purpose.
Cheers
Brett ;)
@thedood

Thank you for that tip. I never realized you could use the channel changer alternatively that way. That is very good to know.
...