Don't manage to control named ticks subcontrols as expected

0 votes
asked Oct 19, 2014 in Advanced by elkbeat (1,120 points)
recategorized May 17, 2016 by MIDI Designer Team (Dan)
EZB, definitely yes, and we'll break this off to a clearer/better question and close this one once we confirm what's up.

So in theory (and in practice from everything I've seen, and confirmed by the Code), the Supercontrol must use its full MIDI range to get all the ticks, and then it should have the same number of ticks as the subcontrol. The supercontrol MUST have enough granularity (14-bit is enough for up to 16384 ticks), so either CC 14-bit, NRPN 14-bit or Sysex 2-byte V.

However, I'd LOVE to find a bug if there is one, but can you help with a simplest possible case (SSCCE) to show the bug? The easiest thing to do is to forget about the elkbeat's example (for the moment) and try to show the bug outside that. Then we can see what's different, what's the same, etc.

THANKS FOR COLLABORATING on figuring out whether this is a doubt, a bug, or what.

EZB, great suggestions all, especially the one to use momentary steppers to figure stuff out. THX.
Hey EZB, let's call it a lack of functionality. On a related note, could you write up an Answer for this question that will help future users, please? Or, alternately, write a shorter/more concise form for of this question with a short/concise answer to help future users?

Then we can hide or delete the current question. Make sure to note the bug somewhere in the new question.

Thanks if you can do this favor. This stuff so far has been very helpful, too, but it's a daunting amount of conversation for a new user to wade through.
@ admin

Created the answer. Somehow 14-bit Midi CC doesn't work in my environment so I didn't add it to the answer at the moment. 14 bit midi CC will need some investigation by me.

I can only hide my comments, so you and elkbeat can hide your comments.
On my enviroment Sysex v 2 bytes doesn't work. So I would suggest other users to stay on NRPN 14 which seems to be the best solution.
Describe the exact steps you did, because sysex and V both work in my environment (1.6.5). I want to reproduce your sysex problem.

1 Answer

+1 vote
ANSWER UNDER CONSTRUCTION!!!

 

The answer to the question boils down to controlling sub control knobs with more than 128 ticks.

More than 128 ticks means that your super control knob will need the full midi range of 2 bytes (0 to 16383).

Solution:

- The number of ticks in the sub control knobs must equal the number of ticks in the super control knob.

- The super control knob need to send a V of 2 bytes. There are 2 options for that:

     1) Use sysex with a V of 2 bytes and midi min->max  =  0->16383

     2) Use a 14bit NRPN with midi min->max  = 0->16383

 

On a side note. The following causes a problem:

 

- Create a super control knob.

- Create 1 sub control knob.

- Super control knob has a midi CC (that it doesn't send). Set min->max to 0>1

- Change messages to sysex.

- Keep sysex message empty.

- Now min->max field is disabled and displaying 0->1.

Turn the super control knob and you will only see the sub control go from 0 to 1 instead of 0 to 127.
answered Oct 20, 2014 by ezb (5,680 points)
edited Oct 20, 2014 by ezb
Thanks! So the bug is with a supercontrol AND subcontrol that are sysex with no value?
The bug is in the super control for sure. I am waiting for elkbeat's steps to reproduce.
Okay: without trying any of this I can tell you that if the supercontrol is a sysex with no value.... well, that would be strange and probably produce weird behavior.
It's logical that it would produce weird behavior, but we both used a V. Sysex with a V works in my situation and not in elkbeat's situation.
Cool, whatever elkbeat does, let's hope I can still inspect the page with the problems. If you have it, please send it over or link it up (or use your file share). Thanks!
Hello Guys, after many checks I didn't manage to recreate the issue using Sysex supercontrol. I suppose it was cause I initially created it without value and then added it in a second time. Anyway I'm not able to replicate the issue so it is ok also the Sysex supercontrol. It works.
That's great, so let's clean up this answer to remove the sidenote entirely, please. Then I'll hide all these comments. While I do truly appreciate the discussion and investigation, it's not really interesting to anyone future, I think.
@Admin

I encountered something. The super control skips values and that is what elkbeat also encountered.

Steps to reproduce:

- Take elkbeat's original layout.
- In the super control knob change midi min->max to 0->16383.
- Add a momentary super control button. Make the super control knob its sub control.

- Press the momentary button a few times and see that the values in the sub control knobs follow the values in the super control knob correctly.
- Turn the super control knob back to 1.
- Now change the message type of the super control knob to midi cc.
- Possible midi max value changed popup appears. Press yes.
- Now change the message type of the super control knob back to sysex.
- Possible midi max value changed popup appears. Press yes.
- Now the sub controls skip values when you press the momentary button a few times.

Upon further investigation the named ticks in the super control knob contain duplicate values in the Midi Renum column. This must be related to the skipping of values in the sub controls. You see that field 2 and field 3 have the value of 129 in the Midi Renum field while all values should be unique.

Work around:

- Press te renum button in the MIDI renum column.
- MIDI min max are same as before popup appears. Press yes.
- Renumbering of midi is refreshed in the named ticks screen.
- Press the back button in the named ticks screen.
- Go back to the named ticks screen. Ticks have been renumbered correctly now.
- Set super control knob back to 1.
- Press the momentary button a few times. Now the sub control knobs don't skip values.

If you select midi cc again in the super control knob the problem will occur again.

Work around:

- Make midi cc 14 bit.
- Renumber the ticks in the super control knob.
- Press the momentary button and the sub control knobs values will follow the super control correctly.

You probably know better what is going on, admin. Fact is that the renumbering somehow fails. It fails when you select a midi cc of 7 bits and then go back to a message type of 2 bytes. By default the midi cc is set to 7 bit. Once you change it to 14-bits and renumber correctly the problem is gone. Now 14 bit midi CCs, 2 byte sysex values and 2 bytes Nrpn values work in the super control.

So this is a situation that could happen to other people, I think. Particulary when you start with 128 steps in a super control knob and then find out you need more than 128 etc.


Let me know what you think.
Just make sure that if you have 1 supercontrol slider with 3 sub's to set the supercontrol to 3 clic's by setting the range 0 to 2. The supercontol should only send an emty SysEx string " F7 F0". Make the subs 'send on release only'
Hope this helps.
...