I've been talking with some VJ app developers about the best ways
to use
Quartz Composer in existing VJ programs and how it can be taken
further.
As I see it there are three ways this can be used:
stage 1:
playback quartz composer comps saved as Quicktimes with triggering and
scrubbing.
This works already, I've tested Grid, Modul8, Neuromixer, other people
have had success with Arkaos and Motion Dive Tokyo.
they are all using GWorlds so slow performance but hopefully updates
soon. Can the faster "Quicktime visual context" mode be used if an
App
is written in Carbon and C or is this option only available to Cocoa
Objective C apps?
afaik all the interfaces to QCRenderer which is what you'd use to
render a composition manually, are written in Objective C, so you'd
need to use this for your apps, but I don't see any reason why that
would be a problem.
stage 2:
native triggering of QC comps, including controllable parameters.
my question again, is this option available only to Cocoa apps?
Yes, it should be, provided someone writes the drivers for the
various controllers to send events or such, you could interpret those
events in a cocoa app and send it the composition
stage 3: this is where it gets really cool
stream video textures from the VJ app to a chain of quartz composer
patches for effects / DVE processing.
is this possible? can a running Quartz Composer patch read in a
texture
stream from the main host application that is changed on the fly?
Yeah, if you see the Performer example, the app takes a movie, gets
the frames one by one and feeds them into the compostion. Provided
you can generate a texture stream in the form of an Quicktime movie
or NSImage, then you can feed this into the composition "on the fly"
can one Quartz Composer patch feed it's result into a second patch
as a
texture stream?
yes, you just need to enclose a composition in a "Render In Image"
macro for it to output its result as an image, which can then be used
in any image input
it should be no problem as I understand it to have a host application
adding or removing a series of QC patches to a rendering pipeline,
right?
If you want to do it programmatically, I think you'd have to create
multiple instances of QCRenderer, one for each composition, and you'd
extract the rendered image for each and pass it around to another
composition, but that might get a little processor intensive, as I
haven't tried multiple QCRenderer instances yet. You'd most likely
have to disable the renderers you aren't using (or just set it to not
call renderAtTime:)
I'm sure Pierre will have more to say on this subject
cheers,
Tom
thanks for any information
Roger
Eskatonia Visuals
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list (Quartzcomposer-
email@hidden)
Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quartzcomposer-dev/tbir905%
40cse.unsw.edu.au