Oh wow, these look great. Many thanks for working on this. It's going to make things so much easier!

From: Pd-list <pd-list-bounces@lists.iem.at> on behalf of IOhannes m zmölnig <zmoelnig@iem.at>
Sent: 12 July 2018 12:01
To: pd-list@lists.iem.at
Subject: [PD] more intelligent patching (was Re: intelligent patching)
 
the summer update...

TL;DR: https://vimeo.com/album/5289665/video/279631360

I've implemented a few more features in my "intelligent patching"
pull-request [374], that might make patching easier.

so what's new:

- everything is undoable.
 - single actions can be undo with a single undo (e.g. if you've
"intelligently" connected an outlet to all inlets of an object (or
rather not so intelligently, as you want to undo that), doing a <Ctrl>-Z
will no longer only undo the connection to the first inlet, but all
connections in one go.

- inserting an object into an existing connection
 (similar to what Max8 offers, but without wobbly lines and using a
keystroke rather than mouse foo)
 - select an object and a connection; and press <Ctrl>-k
 - OR select two connected objects and one object that is not; and press
 <Ctrl>-k
- bypassing an object (removing it from a connection)
 - select 3 objects that are connected in a chain; and press <Ctrl>-k

- completely disconnect an object
 - select 1 object; and press <Ctrl>-k

- swap connections
 - select one connection; shift-click another connection

- paste replace
 - copy (or cut) a single object (or msgbox,...); then select a number
of other objects (or msgboxes) and do "Paste Replace".
by default, the type of an "object" will not be changed (so if you try
to paste/replace a msgbox onto a floatatom, it will be ignored)...unless
your selection only contains a single type (e.g. objectboxes).
right now "paste/replace" is a separate menu entry (without keyboard
accelerator). i wonder whether it would make sense to merge it into the
ordinary "paste" <Ctrl>-v (as you need to have a copybuffer that only
contains a single element *and* elements must be selected in the target
canvas; so the paste/replace is pretty well guarded)

- pasting with offset
 - if the position of the pasted objects (really only the first object
in the paste-buffer) is already occupied by an object, the paste will
get an offset (as with duplicate).

- autopatching into subpatches
 - when autopatching is turned on and you create a subpatch ([pd ...]),
the subpatch will automatically obtain an inlet (or inlet~, if the
upstream object has a signal outlet~), so you can keep autopatching.

that's probably it.
thanks to Alex, Dan, José & Liam for more inspirational ideas.

of course this is just a pull request, so we depend on miller to merge
it into the "master" branch :-)

mgfdsr
IOhannes

[374] https://github.com/pure-data/pure-data/pull/374