Closed vcvrackideas closed 9 months ago
This would be handy.
My suggestion would be, when two Surge modules touch, and the left one has stereo out and the right stereo in, the cables are patched automatically. I think this is possible but not 100% sure?
It’s probably possible but isn’t it a bit antisocial? I thought folks used expanders for things like extra knobs or ports not for skipping wiring?
(I had had the same idea and rejected it for this reason - it’s really unidiomatic)
It sure would speed up patching, I'd love it. In this case it wouldn't be an 'expander' as such, just a bit of code that checks if a new rightExpander is Surge with stereo in, if so then auto-patch.
It would't be skipping wiring, just programmatically wired.
Could have a global 'Auto-patch' on / off option on the right click menu.
Yeah the reason I thought about it is you can share blocks also to avoid compounded latency
lemme think about this for a bit. I want to find the right idiom
I agree that using expander module functionality to accomplish this without cables is a bad idea for all sorts of reasons.
SURGE XT AUTO-PATCH
How I see this working:
If a module sees a new rightExpander ID it checks to see if it's a Surge module with stereo inputs, if so then the module outputs are programatically patched to the right module inputs. As Surge modules are mostly of uniform width this would also facilitate rapid swapping of modules, just delete existing module, drag new one into place, module to the left of new module sees a new rightExpander ID so auto-patches, new module also sees new rightExpander ID (assuming there is one) so auto-patches, no further clicking & dragging required. This would obviously not work for the rightmost module in a voice when the next module is not a Surge module, but could work with a new Surge utility module that is just a stereo pass through, I consider this a might be nice to have feature for a later version.
This would make the creation of full Surge based voices so much quicker. Select VCO, select filter, select envelope, select delay, select reverb etc etc & done, all automagically patched from left to right with FAR fewer mouse clicks & drags.
Consideration needs to be given to what happens with a module that sees a new rightExpander that already has inputs patched, and what happens with a module that already has outputs patched when it sees a new rightExpander. One option is do nothing, the other, delete the existing cables, then auto-patch. I think I'd prefer the latter.
As a side note, I'm autistic and one of my autistic super powers is sometimes my mind works so fast that once I've patched a voice up manually, by the time I've finished wiring I may've forgotten the idea that inspired the voice module choice in the first place along with much of what I intended to do next, this would help immensely with that.
That’s an interesting idea. If you put a filter next to a vco and a vca next to a filter and nothing is connected make the cables (opt in)
heck I could even detect if you have an auxmaster in patch and add a right mouse gesture to patch into an unconnected aux
ha ha that’s way better than hidden implicit cables yeah - love it
Im head down in a different project right now but I won’t forget this idea. Good one
auxmaster ???
The aux send receive expander from mixmaster
Basically imagine if you had a mixmaster with aux in your patch and drag out a surge or airwin and there’s a right mouse button “wire in as aux effect n”
Stupid me, auxmaster lives in my template patch - doh! Great idea.
I like this idea a lot. Only thing I'm skeptical of is letting it delete/replace already patched cables. That could easily become a nuisance, I'm definitely inclined to say that should be opt-outable if so. Otherwise great idea!
Yeah delete nothing ever opt in for auto and in non auto mode have rmbs
I thought of an RMB “hook up left to right” where you stack 5 modules then rmb thst on 1 and it adds the 10 cables for instance
"I thought of an RMB “hook up left to right” where you stack 5 modules then rmb thst on 1 and it adds the 10 cables for instance"
Interesting, but that's an extra couple of clicks over my solution and kinda breaks the option for rapid module replacement, i.e. you'd have to delete Reverb1, replace it with Reverb2, then (instead of it already being auto-patched, as Reverb2 saw a new rightExp id, as did the module to its left) you'd have to go to the first module in the stack & RMB again?
Edit: kinda missed 'opt in for auto' somehow, apologies...
no worries. yeah make it auto-opt-in and then rmb if you don't would be the idea. really neat idea too.
so now all that's left is to see if i can actually code it :)
but i'm off in a separate project for a week or two ... will leave this one sit for a bit while i do that.
So here's auto-connectors to mix-master as a proof of concept. Should be able to do auto-connectors to neighbors also if neighbors advertise the right API.
Just getting mixmaster right will improve my workflow!
But rack 2.2 won't be here until the fall so will be a while before this is in prod stable code.
And here's one more in the spirit of the original ask
I think really the only thing to do left on this issue is make sure air windows implements it too in a way that works, and then what's in the codebase is in good shape.
oh and probably a full aux insert for all 4 in one click.
I think really the only thing to do left on this issue
Are you no longer planning to implement auto-patch where two modules placed adjacent to one another automatically link up?
I am going to implement tone click to wire but not auto, phew thst was my plan.
I think I will do one click to wire a sequence too
That sounds great!
but not auto
Must admit I'm disappointed as full auto would be fastest workflow, however this is still great, thanks so much for all of your work.
well maybe i can add an option for when-they-kiss you wire in the onExpander but I think it would be annoying. definitely want it as an option.
Its not hard code to write now I have the connector stuff. I just am not sure it is a good feature!
I'll try it in the 2.2 cycle and decide.
Also @Andreya-Autumn indicates if you auto-hook with a connection there it crashes as opposes to forbids (now fixed)
OK 2.2 is gonna have the neighbor-hookups on every item and also the mixmaster-hookups. (Or at least will with my next commit that will fix #945). But there's more ideas in this issue so I'm going to keep it open but bounce it out of the milestone so we can ship 2.2 this year.
2.2.2 (about to get pushed to github and coming soon to library) will also contain the 'find any neighbor in this row' menu item which i find super handy. I've also upgraded airwin2rack and baconplugs to participate in this scheme, and may do mschack soon also.
So I think I'm going to close this issue and as we want to generally change the nature of autoconnectors, we could open separate issues for individual ideas, changes, or expansions.
Thanks so much for these ideas. They are good ones and are well recieved!
Are we not having an option for full auto-patch now? Still think that would make for the ultimate workflow speed, at least for the way I work.
Oh you mean full left to right along the chain. Yes that's still a good idea.
Yeah let's open a separate issue for that and I can add it. I have a couple of questions about some edge cases we should hash out
I just had too much in this issue to be bite sized. I really like "one issue a commit" mode once we get basics of a feature in place - workflow just works better for me!
I'll open an issue now and tag you
Hi, I've just got an idea I described in title. The nice example of that connection is Lomas Gate Sequencer, although it pass no audio - cv only but works very flawlessly and that expanding very handy while patching. Regarding SurgeXT effects this can be useful to find fx route 4x time faster than with cables.
Cheers!