Extended left to right neighbor connectivity
Opened this issue · 4 comments
in 2.2.2 we have three types of RMB connects
- Expander neighbor
- "this row" per your selection
- MixMaster / AuxMaster
Talking to @ContemporaryInsanity though we didn't meet their original goal of a full-sequence-hookup
So imagine this module set.
To connect that the neighbor connector takes you from 10 connection gestures to 5. but it would be great if you go from 5 to 1
so right mouse on classic, choose "This Row / Fully Connect Left to Right" and you get the 10 cables you expect
A few caveats
- Stop at the first left to right item which doesn't have an input or neighbor connector
- If an item has multiple inputs, choose the first non-connected one
- If an item has multiple outputs, choose the first one
- A gap in the row is fine. A module is not.
Oh also I added an "XT 2.2.n" milestone to collect some other issues I should have put in 2.2.1/2.2.2 and this is in it.
lemme know what you think of above and if it is what you had in mind. If you meant "kiss-to-connect" we can do that also, just lets add a separate issue for it, mostly because i need to think about where to put that preference since it is cross-plugin.
"kiss-to-connect"
Very much so, to create and patch that row of modules then requires six lots of right click, select & drag and one more right click to patch the outputs of the rightmost module, rapid workflow heaven!
Ok I will open a second issue for that
Before this change creating that wired row was 17 clicks (7 create plus 10 connect) and with 2.2.2 you are down to 12 (7+5)
In this proposal you could do entire wired set in 8 clicks (one for each module, one to connect the row)
But adding an extra module is 2 (make and connect) and kiss to connect would make it 7/1 rather than 8/2
Like I said I just need to figure out how to have that preference span modules.... or maybe have it be surge only and if you want to kiss airwindows oh well.
Ahh there's a really nasty technical problem with kiss-to-connect
onExpanderChanged
gets called whenever it changes, including at startup. So if you saved a patch with a pair of adjacent modules with kiss to connect on and loaded it, the naive implementation would connect them.
I am not sure if there is a non-naive implementation but my idea for how to do it just got a bit blown up.
I'll definitely try and get the full-row-connect (so 8 click version) into a 2.2.n but kiss to connect may require a bit more hacking.