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.
Negative AND positive sysex values in ONE slider??? - SOLVED - MIDI Designer Q&A

Negative AND positive sysex values in ONE slider??? - SOLVED

+2 votes
asked Dec 21, 2019 in Advanced by olav-rossland (350 points)
edited Dec 28, 2019 by olav-rossland

2 Answers

+3 votes
Best answer
If your V value is only one byte, then you just incorporate the other three bytes into your named ticks.  MDP2 will accept up to four bytes in V.

In your named ticks, we will have the following sequence:

-02    7f    7f    7f    02    =    268435330  -2
-01    7f    7f    7f    01    =    268435329  -1
00    00    00    00    00    =    0  0
01    00    00    00    01    =    1  1
02    00    00    00    02    =    2  2

Load the two right columns as named ticks, first is midi value, second is display value

In the MDP2 Masters Course layout page there is a spreadsheet set up to do the four byte midi math.  You have to break the data to bytes to get correct answers.
I did not include the display values in this quick test
I did not include the display values in this quick test
answered Dec 22, 2019 by jkhiser (10,590 points)
selected Dec 23, 2019 by olav-rossland
So cool, hope the OP finds it useful. Thanks!!!
Hello jkhiser.
Your answer was exactly what I needed! Thank you!!!

I've set this up in Named Ticks for one of my knobs (Post Gain):

268435453 -3 (etc... to -40)
268435454 -2
268435455 -1
0 0
1 1
2 2
3 3 (etc... to 18)

The sysex-bytes for the knob is 00 01 38 00 6D 47 05 52 V (the V is 4 Bytes)
When I use the Post Gain Knob on MDP2 to control my VoiceLive 3 extreme with sysex-values, VL3x reacts as it should :-)
When I read the value from VL3x TO the same knob, I get something strange (I use a sysex command to read the value on VL3x). All POSITIVE values are updated correctly on Knob, but NEGATIVE values are handled as follows:

-1 to -8 on VL3x is displayed as -1 on the knob in MDP2
-9 to -23 on VL3x is displayed as -16 on the knob in MDP2
-24 to -40 on VL3x (lowest value on VL3x) is displayed as -32 on the knob in MDP2.

When I check the log, however, all updates from the VL3x show completely correct values according to the Named Ticks table for the knob. This is happend to all my knobs and sliders. Why??
Interesting - I get the same behavior for the negative values with four byte V.  

If I change the sysex to three byte V, it works properly.

I have not used four byte V's before.  I suspect there might be something in the code that Dan needs to take a look at.  It looks like it is dropping the last nibble somehow.

I will post a potential defect post.
Damn data types! If you could kindly provide a layout that’s as simple as possible to show the problem, I can have our team look at it. Use a separate post/question please thanks
Thank You for helping!
I have made a separate question with mididesigner file and added a video explanation here:
Yes jkhiser.
It seems like the problem is with the V=forur byte. But thats the only way I can do it with VoiceLive 3 extreme. Hope Dan can find a solution :-)
Woot, I finally saw the light on this one.

It's much more efficient using only 1 controller for both negative and positive sysex values.
It's also spot-on using a button as a stepper supercontroller.
Previously I was using a knob as a sequential supercontroller for 2 subcontrols (negative and positive).
That method is hard getting desired values, due to the issue jkhiser mentioned before (expecting max value).

The other bonus is this method will let me cut in half the # of controllers per page per bank.
I'm at about 1000 UI elements for bank 7 and 1, only 6 more banks to go!
+1 vote

Use 1 slider as a Supercontrol for the 2 hidden positive and negative sliders

Let’s assume you already have made a working slider for the negative values, and another for the positive values.

1) Make these 2 sliders invisible to the user.  Go to Advanced tab, and set each slider to Hide in Play Mode.

2) Create a 3rd slider.  This is the one the user will operate. Go to Relationships tab and set it to SuperControl.

3) Press Subcontrols, where you will see a button Drag to Subcontrols.  Press and hold this, then drag and drop first onto the negative slider.  The slider will bounce up and down to acknowledge.

4) Once again drag and drop that button onto the slider with the positive values.

5) Press Back, then Options as Super.

6) Press Sequential.

If the above steps were performed correctly, operating the new slider from Min to Max will first move the negative slider, then the positive slider. You now have one slider for the whole range from negative, to 0, to positive. Now you just have to go to the slider Properties to set Display Zero, # of Ticks, and Display Min => Max.

This is an essential technique, as many common parameters have this two sided aspect of negative and positive, with 0 in the middle.  For example: Pan, Gain, Tune, Transpose, etc.  Hope that helps!
answered Dec 28, 2019 by psionic11 (210 points)
edited Dec 28, 2019 by psionic11
Thank you for the answer psionic11.
In my question I wanted to avoid the use of “help sliders” for negative and positive values. I wanted to make it with only ONE slider - just like in the example gave me.
Olav that's jkhiser who suggested Name Ticks, a user just like you. We're so grateful for our community of veteran brilliant folks like him and newer brilliant folks like psionic11. Welcome to the Community!