[PD] [data structures] array within an array, pd draw window scale/background canvas colour...

João Pais jmmmpais at gmail.com
Wed May 27 09:09:36 CEST 2015


many people already gave replies to the questions, so I leave the example  
of array encapsulation from my data structures workshop.

Very important, you don't get mouse control of the encapsulated array,  
only of the top one. Maybe you should say exactly why you think you need  
encapsulated arrays. If it's to draw a canvas/box, you can do that in the  
same template as your main array.

Joao


> On 05/25/2015 03:40 PM, jamal crawford wrote:
>> hey and thanks for the reply
>>
>>> ...there is a bug since the very begining of puredata, if you don't
>>> delete data and modify your structure pd will crash
>> word!
>>
>>> also I think this is not a good idea to draw arrays within arrays,
>>> because bindings doesn't work anymore within arrays
>> so you mean I will need to defy new struct arguments for every array I
>> will put in an array? if so, I won't mind that.
>> so it is indeed possible to put an array within an array, its just me
>> who is doing it in wrong creation order?
>
> Yes, you can do that.
>
> As far as order-- in Pd-l2ork I made a revision so that a struct will
> simply refuse to create if you give it an array field with a nonexistent
> template for the data.  But it gives you an error saying so-- that way
> you can just go and create the template and it will work after that.
>
>>
>>> what about simply putting a canvas instead?
>> it just won't save  the canvas and anything else beside the drawing (is
>> there other ways to save the drawing besides [write( message?). i have a
>> few of them and usually save them, so I can work on them later. and
>> secondly its way much work to append 50+ arguments, when I can save them
>> with a click.
>
> Scalars and their data are saved with the patch.
>
>>
>>> donecanvasdialog message is designed to do this
>> exactly! :)
>
> The coords message does the same without setting the "dirty" flag
> on the canvas (which will prompt for save before closing).  Not sure
> if that matters in your case.
>
> Also-- in a _single_ scalar, the shapes will be drawn using the order  
> that
> you created the drawing commands.  So if you create a [filledpolygon]
> first, then create a [drawcurve] after that, the filled polygon will be
> drawn with the curve on top of it.
>
> If you draw two separate scalars that overlap, essentially you cannot
> control which one gets drawn on top.  If you update one of the fields
> associated with a coordinate, that scalar will get drawn on top. But
> if I remember correctly certain operations in Pd (like updating an array)
> redraw _all_ the scalars, at which point you'll probably lose the  
> ordering
> you set up.
>
> This is in the process of getting fixed in Pd-l2ork.  Since I'm using
> browser technology it'd also be possible to add a drawing command for
> 3d shapes using webgl.  (But webgl is so much more complicated I'm not
> sure how it could be made usable in this context.)
>
> -Jonathan
>
>
>
>
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->  
> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: data-s_09.pd
Type: application/octet-stream
Size: 8563 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20150527/39a0dd58/attachment-0001.obj>


More information about the Pd-list mailing list