[PD] array indirection

Chuckk Hubbard badmuthahubbard at gmail.com
Mon Dec 10 01:33:33 CET 2007


On Dec 9, 2007 10:50 PM, Phil Stone <pkstone at ucdavis.edu> wrote:
> Hi Chuck,
>
> I think you're right; there's no way to avoid the copying.  It's good to
> dream, though.  :-)

I have done some experimenting, and I think I'm on to something.  If
you create a graph from the put menu, then right-click and select
Open; and then Put an array on the opened subpatch, you can see the
red outline where you can decide what will be graphed-on the parent
graph.

It would not be too hard to send editmode and mouse movement messages
to that canvas to move arrays around inside it; and it probably would
actually be more efficient than copying.  But I also notice that the
graph subpatch has, in its options, an x and y margin, which moves the
red outline.  IF it's possible to change these values with messages,
it could be trivial to move that red outline to cover several
well-placed arrays, meaning that the graph would indeed switch arrays
like you want.
I started to look at the Pd code to see if I can find such a message
mentioned; if I find it I'll let you know.

-Chuckk



> Chuckk Hubbard wrote:
> > It would be possible, if not CPU-efficient, to have them all hidden in
> > table objects, and simply use tabread and tabwrite to copy them to the
> > skeleton array when you want to switch.  You would only need one
> > tabread and tabwrite pair, just different ways to specify the target
> > of tabread.
> > I would envision binding the tab key to page through them.
> >
> > But it is possible to put several arrays in one graph which makes me
> > wonder if there might even be a pure GUI way to do it.  Kind of makes
> > me want to take a look...
> >
> > -Chuckk
> >
> > On Dec 8, 2007 10:26 PM, Phil Stone <pkstone at ucdavis.edu> wrote:
> >
> >> This probably fits into the category of a wish for PD; I think there's
> >> no way to do it currently, but I'd love to be proven wrong!
> >>
> >> I'd like to be able to change the data an array points to rather than
> >> actually change the data in the array.  The scenario which me think of
> >> this is, I'd like to have a display of a currently-selected waveform
> >> (which could be one of many pre-allocated arrays).  It would be
> >> wonderful to have a level of indirection where the display-array can be
> >> given a new address [object reference?] to one of the various
> >> pre-allocated arrays, after which it redraws itself.
> >>
> >> I suppose this unleashes all the evils of pointers (multiple references
> >> to memory, etc.), but it would a serious advantage, performance-wise,
> >> for the scenario I'm envisioning.
> >>
> >> I also think it would be very cool if arrays could act as buttons...but
> >> that's a different subject.
> >>
> >>
> >> Phil Stone
> >> pkstonemusic.com
> >>
> >>
> >> _______________________________________________
> >> PD-list at iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> >>
> >>
> >
> >
> >
> >
>
>



-- 
http://www.badmuthahubbard.com




More information about the Pd-list mailing list