SuperControls controlling multiple X-Y Controls - no update from X-Y to SuperControl

+1 vote
asked Aug 16, 2012 in Advanced by rainer (3,590 points)
First pls see this http://mididesigner.com/version-1-3-adjustments-to-supercontrols/ and tell me if it helps shed any light. Then we can talk about whether that's too limiting, etc.
also, could you ask about supercontrols and subs sending out in a separate question, please? The answer, in short, is that supercontrols don't send whatsoever unless you check that option in the config options.
The description on that page says indeed that Subcontrols will 'spin all SuperControls that have only one child'. Is that a deliberate choice? Why not spin Supercontrols that have more than one?
It's a deliberate choice, because 1) the supercontrol has a correspondence to two controls (or more), so are you sure you want it to take one or the other's value and 2) should the supercontrol then spin the other subcontrol(s) to get them in line?
I'm open to suggestion on this, but my main concern is to avoid any possible loops, especially the infinite kind ;).  Also, this just happens to be in the most performance-intensive part of MIDI Designer, so I'm kind of sensitive about it :)
A this moment the Supercontrol does already spin all subcontrols to get in line, which is good. It's the fact that the subcontrols stop updating the supercontrol if it has more than one child. I see that there is the problem of synchronizing all the controls together, and I'm trying all the various options at the moment, so I'm not too sure what the best solution is yet :-) I'll post my findings here.
Well, just to be clear here: let's say you have a super A and two subs B and C. If you spin B, you want A to spin. Do you expect C to spin too?
That would be good, at least for what I'm designing atm.
Hmmm... right now MIDI Designer prohibits you from making a chain where a super's ancestor becomes a descendant. I'm worried that this might break that rule implicitly. In other words, C could be a super of A, and around and around we go... it's not that I cannot stop this programmatically. The question is how/when.
I believe I got it to work just the way I want, yay!
I have the following controls:
A (knob with the actual CC)
B (x-axis of XY control)
C (y-axis of XY control)

I want to spin any of these and have them ALL follow. The following seems to work:
C set to be a supercontrol with B as sub
B set to be supercontrol with A as sub

All controls update now.
I guess doing it this way, instead of using A as the supercontrol, gives a better result and eliminates the need to change anything to the way subs update their parents if they have more than one child.
Yes, this is correct. By doing a straight, linear chain you can get exactly what you want. Now you can even insert some more controls in the chain with different numbers of "ticks" and see how that works. There are some limits to this paradigm, but there's a lot to play with. Good luck and congrats on finding a solution!

1 Answer

+1 vote
 
Best answer
So after discussing this with you, it seems that the answer was to make a linear chain of command (one sub per supercontrol). Glad we got this figured out.
answered Aug 16, 2012 by MIDI Designer Team (Dan)
selected Aug 16, 2012 by rainer
...