There's also the (currently) underutilized "send-window" method of [pointer],
which forwards a message to the canvas of the scalar that [pointer] is
currently pointing at. Additionally, you can use the "traverse" method to
point to the head of a glist (which doesn't even need to contain a scalar) and
forward messages that way.
If you look at the canvas "get" method I added to the tracker, you'll see I
have a "get parent RECEIVE-SYMBOL" message that returns a pointer to the parent
canvas (or a zero if there isn't one). This allows you to:
[bng]
|
[f $0]
|
[get parent $1-rcv]
|
[s pd-$0-mysubpatch]
[r $0-rcv]
|
[route parent]
|
[route 0]
|
[pointer]
Now [pointer] is pointing at the parent of [pd $0-mysubpatch], so if I
immediately follow this by sending the message "send-window obj 20 20 clip" to
[pointer], I get a [clip] object on it's parent. That's just a silly example,
but notice it's different than sending to pd-PATCH-FILENAME.pd, which would
draw a [clip] on every instance of that patch that is open.
Put this in an abstraction and it obsoletes [namecanvas]. Or create an
abstraction to climb to the root, or the toplevel, etc.
-Jonathan
>________________________________
>From: Frank Barknecht <f...@footils.org>
>To: pd-list@iem.at
>Sent: Tuesday, August 2, 2011 4:14 AM
>Subject: Re: [PD] [PD-announce] Pd Convention - Data structures workshop:
>Taking your requests
>
>On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
>> I'm mainly interested in using Pd for scientific and engineering
>> research. I have a mixed level of experience--I'm deep into the DSP
>> routines, but I have no clue how data structures work.
>>
>> About the only application I can think of right now is a "data
>> logger"--recording info about a particular trial/experiment and its
>> results.
>>
>> I'd like to learn easy or more compact ways to accomplish things with
>> data structures.
>>
>> I will look forward to your workshop! Thanks much!
>
>Data structures can be nice problem solvers in unexpected areas as well,
>not only in visualizing/graphically editing data. For example, they are
>used hidden away to implement a fast vanilla list sorting in the newest
>[list-sort], or in the [m_symbolarray] object of the rj library to
>mimick a [table] object that stores indexed symbols instead of floats.
>A users of these objects never sees the data structures inside,
>they don't even have a graphical representation but instead are just
>used as what their name says: as data structures.
>
>Ciao
>--
>Frank
>
>_______________________________________________
>Pd-list@iem.at mailing list
>UNSUBSCRIBE and account-management ->
>http://lists.puredata.info/listinfo/pd-list
>
>
>
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list