[PD] reverse kickstarter update: omgponies

Jonathan Wilkes jancsika at yahoo.com
Fri Aug 23 00:42:14 CEST 2013


On 08/22/2013 10:46 AM, Jack wrote:
> Le 22/08/2013 16:36, Jonathan Wilkes a écrit :
>> On 08/22/2013 03:53 AM, Jack wrote:
>>> Le 22/08/2013 07:13, Jonathan Wilkes a écrit :
>>>> Hi list,
>>>>
>>>> I've got some updates to [canvasinfo], [pdinfo], and [classinfo] 
>>>> that I'll put in a demo build either tomorrow or the next day.
>>>>
>>>> I also added a new data structure class with two creators:
>>>> [drawimage] - draw an image on a canvas
>>>> [drawsprite] - draw a sprite on a canvas
>>>>
>>>> The [drawsprite] object takes the name of a directory containing an 
>>>> image sequence and
>>>> loads the images into tcl/tk memory when the object gets created.  
>>>> A ds float field can then be
>>>> associated with that image so that when you change its value it 
>>>> jumps to that image in the
>>>> sequence.  I used the code from [drawnumber], so you can even 
>>>> animate the sprite by clicking
>>>> and dragging on the image.
>>>>
>>>> Since all the images are preloaded into tcl/tk, animating them is 
>>>> fairly straightforward-- tk just
>>>> clears the old image and copies the new one from one of the images 
>>>> it has in memory.
>>>>
>>>> Of course the upshot is fairly obvious-- we can finally have ponies 
>>>> running around inside Pure
>>>> Data patches.
>>>>
>>>> E.g., thanks to this:
>>>> http://friendshipismagic.smackjeeves.com/comics/1223051/female-pony-base-sprites/
>>>>
>>>> I can now do this:
>>>> https://puredata.info/Members/jancsika/omgponies.webm/view
>>>>
>>>> I just added the "realtime code selection" as an afterthought using 
>>>> [cnv] objects.  However, it
>>>> would be neat to be able to group code and highlight it 
>>>> programmatically as the data is flowing.
>>>>
>>>> -Jonathan
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list at iem.at  mailing list
>>>> UNSUBSCRIBE and account-management ->http://lists.puredata.info/listinfo/pd-list
>>>
>>> Very funny animation, we can now design platform games directly in a 
>>> patch. ! ;)
>>> More seriously, it could replace the [#see] object from gridflow, 
>>> interresting...
>>> ++
>>
>> As I understand it, [#see] is much more powerful because it's 
>> visualizing stuff
>> created from gridflow computations on the fly.  But it's probably 
>> also much slower
>> for that same reason.
>>
>> One drawback to [drawsprite] is if you wanted to abuse it to draw a 
>> large image
>> sequence-- say a video clip-- you're going to use a ton of memory 
>> loading the images
>> into wish's memory.  And by default tcl/tk doesn't free that memory 
>> back to the OS.
>> However it does free it up within tcl/tk when the corresponding 
>> [drawsprite] is deleted--
>> so if you delete it and undo a bunch of times it won't consume more 
>> memory than it did
>> in the first place.
>>
>> But for small sprites this isn't really an issue, and once the images 
>> are loaded it is very
>> cheap to copy/cut the scalar images on a canvas.
>>
>> -Jonathan
>>
>>>
>>> Jack
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pd-list at iem.at  mailing list
>>> UNSUBSCRIBE and account-management ->http://lists.puredata.info/listinfo/pd-list
>>
>>
>>
>> _______________________________________________
>> Pd-list at iem.at  mailing list
>> UNSUBSCRIBE and account-management ->http://lists.puredata.info/listinfo/pd-list
>
> Is it possible to add an argument to [drawsprite] to load the first X 
> frame of the video ? Then, it will limit the memory used for large videos.
> ++

Right now it just scoops up all valid gifs (and pngs if you have tkpng 
lib) in the directory you specify.

I guess the ds "quanta" syntax could be used for this.  If ds member 
field "a" is associated
with the sequence number for a sprite, maybe a(0:99)(blah:blah) could 
just load the first 100 images
inside that dir.  (The blah:blah part would control how many pixels the 
sprite can be click-dragged,
which isn't that import here.)

-Jonathan

>
> Jack
>
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130822/6f76d324/attachment.htm>


More information about the Pd-list mailing list