[PD] trouble with data structures
Julian Peterson
julianpeterson at mac.com
Mon Jun 5 16:56:48 CEST 2006
Thank you, that's exactly what I needed.
JP
On Jun 5, 2006, at 9:51 AM, Frank Barknecht wrote:
> Hallo,
> Julian Peterson hat gesagt: // Julian Peterson wrote:
>
>> I'm writing my first piece that will take advantage of data
>> structures
>> in PD, and I've stumbled upon an error that I do not understand.
>>
>> I have two structures drawn in the same subpatch. One is a
>> sequence of
>> notes, the other is a playhead. The sequencer was working fine
>> until I
>> added the playhead. Now whenever I try to get data from the
>> sequencer
>> (getsize, get) I receive the following error:
>>
>> error: getsize pd-instr1: got wrong template (pd-playhead)
>>
>> My patch is attached below. Is it not possible (or not advisable)
>> for
>> two structures to draw to the same subpatch?
>
> You forgot to attach the patch, but I guess what's happening is some
> error in traversing the data structures in the patch. If you mix
> several types in a subpatch - which is perfectly possible - you need
> to be aware, that on traversal of this subpatch you will hit pointers
> of different type. So assuming you have a [struct a float x] and
> [struct
> b float x] in your patch, then if you do this:
>
> [traverse pd-data, next(
> |
> [pointer]
>
> what comes out of [pointer] may be a pointer to "a" or a pointer to
> "b". So if you try to [get] at the data using this:
>
> [get a x]
>
> you will get an error everytime, the incoming pointer is of type "b",
> because then you'd need to use [get b x] instead.
>
> A way out can be this construct:
>
> [traverse pd-data, next(
> |
> [pointer a b]
> | | |
> | | ... do something else here
> | |
> | [get b x]
> |
> [get a x]|
>
> Ciao
> --
> Frank Barknecht _ ______footils.org_ __goto10.org__
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> listinfo/pd-list
More information about the Pd-list
mailing list