<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Oh wow, these look great. Many thanks for working on this. It's going to make things so much easier!<br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Pd-list <pd-list-bounces@lists.iem.at> on behalf of IOhannes m zmölnig <zmoelnig@iem.at><br>
<b>Sent:</b> 12 July 2018 12:01<br>
<b>To:</b> pd-list@lists.iem.at<br>
<b>Subject:</b> [PD] more intelligent patching (was Re: intelligent patching)</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">the summer update...<br>
<br>
TL;DR: <a href="https://vimeo.com/album/5289665/video/279631360">https://vimeo.com/album/5289665/video/279631360</a><br>
<br>
I've implemented a few more features in my "intelligent patching"<br>
pull-request [374], that might make patching easier.<br>
<br>
so what's new:<br>
<br>
- everything is undoable.<br>
 - single actions can be undo with a single undo (e.g. if you've<br>
"intelligently" connected an outlet to all inlets of an object (or<br>
rather not so intelligently, as you want to undo that), doing a <Ctrl>-Z<br>
will no longer only undo the connection to the first inlet, but all<br>
connections in one go.<br>
<br>
- inserting an object into an existing connection<br>
 (similar to what Max8 offers, but without wobbly lines and using a<br>
keystroke rather than mouse foo)<br>
 - select an object and a connection; and press <Ctrl>-k<br>
 - OR select two connected objects and one object that is not; and press<br>
 <Ctrl>-k<br>
- bypassing an object (removing it from a connection)<br>
 - select 3 objects that are connected in a chain; and press <Ctrl>-k<br>
<br>
- completely disconnect an object<br>
 - select 1 object; and press <Ctrl>-k<br>
<br>
- swap connections<br>
 - select one connection; shift-click another connection<br>
<br>
- paste replace<br>
 - copy (or cut) a single object (or msgbox,...); then select a number<br>
of other objects (or msgboxes) and do "Paste Replace".<br>
by default, the type of an "object" will not be changed (so if you try<br>
to paste/replace a msgbox onto a floatatom, it will be ignored)...unless<br>
your selection only contains a single type (e.g. objectboxes).<br>
right now "paste/replace" is a separate menu entry (without keyboard<br>
accelerator). i wonder whether it would make sense to merge it into the<br>
ordinary "paste" <Ctrl>-v (as you need to have a copybuffer that only<br>
contains a single element *and* elements must be selected in the target<br>
canvas; so the paste/replace is pretty well guarded)<br>
<br>
- pasting with offset<br>
 - if the position of the pasted objects (really only the first object<br>
in the paste-buffer) is already occupied by an object, the paste will<br>
get an offset (as with duplicate).<br>
<br>
- autopatching into subpatches<br>
 - when autopatching is turned on and you create a subpatch ([pd ...]),<br>
the subpatch will automatically obtain an inlet (or inlet~, if the<br>
upstream object has a signal outlet~), so you can keep autopatching.<br>
<br>
that's probably it.<br>
thanks to Alex, Dan, José & Liam for more inspirational ideas.<br>
<br>
of course this is just a pull request, so we depend on miller to merge<br>
it into the "master" branch :-)<br>
<br>
mgfdsr<br>
IOhannes<br>
<br>
[374] <a href="https://github.com/pure-data/pure-data/pull/374">https://github.com/pure-data/pure-data/pull/374</a><br>
<br>
</div>
</span></font></div>
</body>
</html>