From: András Murányi muranyia@gmail.com To: pd-list pd-list@iem.at Sent: Friday, December 14, 2012 2:38 PM Subject: Re: [PD] Pd-L2ork Features
On Fri, Dec 14, 2012 at 6:15 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: Ivica Ico Bukvic ico@vt.edu; 'pd-list' pd-list@iem.at Sent: Friday, December 14, 2012 11:53 AM
Subject: Re: [PD] Pd-L2ork Features
That's nice for people who are used to doing that from Max/MSP. I've never found a reason to want that feature, so I haven't implemented it. Can someone explain how they use it?
You partly answered your own question. Another reason is if you are mucking around in the source you can just copy-paste it into a new patch instead of closing, opening the file selector and choosing that file again.
Another reason is you can select the code off the browser and immediately play with a patch off svn instead of saving it to a location and opening it.
Another reason is that you can throw text up on a pastebin for people who you don't necessarily have an email address for (e.g., on IRC), and they can paste it into a new patch instead of copy-pasting it into a text editor, choosing save, choosing a save location, choosing "Open" in Pd, navigating to that same location where they saved it, selecting it, and eventually deleting the patch when their download directory is full of junk.
Another reason is that it makes super easy to exchange code snippets in email and on forums.
BTW-- for simple patch snippets, what about making an ascii-art parser to paste the art as actual object chain in a patch?
---Begin ASCII Snippet--- [880( #comment | [osc~ 440] #Some other comment | [*~ 0.1] | [dac~]
---End ASCII Snippet---
Above, it's possible to parse in tcl-- everything that's an object should be enclosed in [], [(, and maybe [\ for atombox. Maybe number-sign to set off comments.
---Begin ASCII Snippet---
[f]x[+ 1] | [send wherever]
---End ASCII Snippet---
"x" = 1) outlet0 of object to the left --> inlet0 of object to the right, 2) outlet0 of object to the right --> inlet 1 of object to the left. Nice quick-n-dirty shortcut for a counter.
Since Pd ascii art is monospaced we can see that the xpos of the wire = xpos of [+ 1] above and xpos of [send wherever] below, so connect outlet0 to inlet0.
---Begin ASCII Snippet---
[route 0 1 2 3 4] | | | | | [5( [6( [7( [8( [9(
---End ASCII Snippet---
For each wire from/to an object, increment the xlet number by one. This gets you ancillary wire connections for contiguous connections (i.e., you can't skip an outlet).
If we close objects off by looking for [, (, or , followed by a space or linebreak, this lets us also use those characters inside objects like [expr (32+12)*4] without ambiguity.
Writing the above ascii is _way_ easier than doing the same in Pd-gui and connecting all the wires. In fact I'd rather click <ctrl-t> and enter that into a text widget than do that.
General solutions for crossed-wires, slanted wires, etc. are harder but I think this would already be quite useful.
-Jonathan
András
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list