[PD] Saving Gem output as video file on MacOSX ?
Dudley Brooks
dbrooks at runforyourlife.org
Sat Mar 1 00:37:22 CET 2008
Roman Haefeli wrote:
> On Fri, 2008-02-29 at 12:30 -0800, Dudley Brooks wrote:
>
>> chris clepper wrote:
>>
>>> [gemhead 99]
>>> |
>>> |
>>> [pix_snap]
>>
>> Of course! Ingenious!
>>
>> However ... I tried it, and, even though the frame count output of
>> pix_record churned out frame numbers, the resulting file was only one
>> frame long and that frame only showed one of the geos. I even made the
>> priorities of the various geos' gemheads explicitly lower and it still
>> didn't work.
>>
>> I can't figure out why that particular geo registered -- none of the
>> geo's were connected to pix_snap.
>> That's the intention, right?
>
> actually they don't need to be connected. you can have all the geo stuff
> attached to a different [gemhead]. important is only the order of
> execution. first all geos need to be rendered and _after_ that you make
> a snapshot of the current buffer. that is why chris clepper is
> suggesting to use a [gemhead 99] (the higher the number, the later the
> according [gemhead] is drawing).
>
Thanks. That's what I suspected. Thanks for substantiating.
>
>> I also
>> tried connecting several of the geos to pix_snap and the results were
>> still the same: the movie had only one frame,
>
> you have to send a 'snap' message to [pix_snap] for each frame you want
> to capture. usually this is done with something like:
>
> [gemhead 99]
> |
> [t a b]
> | /
> | [snap(
> |/
> [pix_snap]
> |
>
My error. I had thought that you meant that the signals from [gemhead
99] would *take the place of snap*. Your solution solves *half* the
problem -- the movie now has the correct number of frames, but they're
all identical to the first frame. However --->
>
> (actually i am not sure anymore about the order: whether 'snap' or the
> gemlist message should be received first)
>
[t b a] turns out to be the one that works. Possibly that makes
consistent sense? You'd want the gemlist to be "available" (whatever
that means in this context -- the buffer?) first, before sending the
message to snap it, right? I dunno. But it works!
>
>> which contained only one
>> geo -- even when that particular geo was the only one which was *not*
>> connected to pix_snap. So the connections were irrelevant.
>
> exactly, they _are_ irrelevant. geos are drawn to the framebuffer and
> [pix_snap] captures a snapshot of the buffer, which means there is no
> connection needed.
>
Again, thanks for confirming my suspicion.
>
>> I assume it has something to do with rendering/buffering, but I don't
>> know enough about those.
>
> i hope it rather helps than it confuses, but for me it was important to
> understand, that Gem doesn't really reflect the dataflow paradigm:
> unlike in pd's audio connection, not the data itself is 'flowing'
> through the connections. rather Gem's object classes are used to compose
> instructions for the graphic card. those instructions are passed through
> all objects (actually only a pointer is passed around) and then the
> instructions are sent to card, where all the geos, textures and stuff
> are drawn into the buffer. when all the calculations are finished, the
> content of the buffer is displayed in the gemwin.
>
Thanks for the info. I guess a certain abstract data is still flowing
(the "data" being "do this calculation") but I appreciate the help on
understanding the time structure of the process.
> (@devs: please correct me, if i am saying bullshit...)
> yo...having said, it might be easy now to understand a few cool tricks
> in Gem. for example, you don't necessarily need several geo objects
> (e.g. [cube]) in order to draw several of them. you could draw as many
> cubes with only one [cube] by passing more than one gemlist message per
> tick to it (a.k.a multiplying the number of instructions):
>
> [gemhead]
> |
> [t a a a a]
> | / / /
> [rotateXYZ 2 4 6]
> |
> [translateXYZ 0.2 0.1 0.3]
> |
> [cube]
Thanks. That answers a question I hadn't yet submitted to the ng. I
*could* ask for more details -- like how to give the multiple instances
different characteristics, how to create a random (or at least not
hardwired) number of instances, etc. But that would be a brand new
thread, and I'll experiment with it first before asking for help.
>
> i hope that sheds some light on your questions.
>
Absolutely! Thanks Roman, Chris, and Marius, for the help! And it's
still in time to make my DVD and send it in by the deadline tonight!
-- Dudley
More information about the Pd-list
mailing list