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@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@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
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. ++ Jack
_______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list