Audio integration and export for QuartzCrystal

Audio integration and export for QuartzCrystal would be very nice indeed. That way, if the QC file contains an audio file, the marrying the two in sync would be great. Also, being able to export at a specific frame rate would be cool too...um, I think that was two feature requests at once. oops.

Cheers and thanks for all the great tools you guys are working on. You are helping to drive an emerging industry into existence.

Michael

smokris's picture
Re: QuartzCrystal Audio

Quartz Composer doesn't provide any sort of managed audio output support --- individual patches just open the audio device and play on it (and it doesn't look like it's going to add this support anytime soon).

QuartzCrystal would have to do something equivalent to http://rogueamoeba.com/audiohijackpro/ (record the audio device's output) and it would have to render video, capture audio, and encode in realtime.

An alternative might be for QuartzCrystal to interrogate the composition and find an instance of the Audio File Input patch and inject that audio file into the rendered movie. This would, however, assume the following:

  • that there is only a single Audio File Input patch
  • that the Audio File Input patch is configured to play a single static file (not one specified through a port connection), to start at the beginning, and play through the entire thing.

...though in that case you could also easily just stitch the audio in using iMovie or FCP.

(Regarding "Framerate", I'm not sure I understand... There's already a "Framerate" option on the QuartzCrystal window which allows you to set the number of frames per second at which the output movie will run.)

Michael Neely's picture
Re: Audio integration and export for QuartzCrystal

iMovie has been the workflow thus far for re-adding the audio to the movie. Just a thought since QuartzCrystal is rendering the video, it could also render the audio simultaneously.

On the frame rate issue, that is more of a Composer request, as frame rate in composer is a preference thing, and somewhat inaccurate overall. It would be nice to be able to lock the frame rate in QC so that timing for animation can be previewed with some accuracy to the desired final output, (i.e. 24 fps, or 29.99, or 30).

smokris's picture
Re: Constant Framerate

Achieving a consistent framerate in the QC Editor is going to be difficult, since the Editor and Viewer run in the same thread (and thus using the UI at all will stall rendering)...

However, cwright and I have discussed the possibility of writing a standalone application that would maintain a queue of rendered frames, and play them back at constant intervals. I think this could work as long as you have a lot of available VRAM, and the composition can render at a faster rate than the specified framerate.

cwright's picture
Re: Audio integration and export for QuartzCrystal

Quote:
Just a thought since QuartzCrystal is rendering the video, it could also render the audio simultaneously.

QuartzCrystal is indeed rendering the video (actually, Quartz Composer is, QuartzCrystal just controls it to create the video). However, it isn't doing anything with audio -- there are no audio provisions in Quartz Composer, so every plugin manages audio itself -- This is 100% not the case for video, where everything plays with the same context, in a (mostly) well-defined manner.

when patches manage audio themselves, it's equivalent to a hypothetical patch that creates a window, and renders something into that window -- QuartzCrystal couldn't capture that, because it has no idea that the window was even created. It would just capture the normal composition video, which is implicit.