Thanks IO that's (again) a really nice work!

Everything works as expected here. I agree "paste replace" could take place of "paste".

Something I find slightly disturbing (which is caused by changes motivated by inserting/bypassing features): now, selecting a connection doesn't deselect previously selected objects anymore, so when you press "Del" key to remove the connection these objects are also destroyed. Maybe the patcher could only remove the connection in such case (e.g when the connection was last selected)?

Anyway I think we will all have to get used to these new features before we can take full advantage of them, but indeed it's worth the effort!


2018-07-13 13:43 GMT+02:00 Liam Goodacre <liamg_uw@hotmail.com>:
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


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list