Outputs
There are many different ways to output your QC productions (or “compositions,” as we’ll call them). Most simply, you can share them as Quartz composition files (extension .qtz), which means other people will be able to see exactly how you made your composition and add their own ideas to it—a great choice for collaboration. If you save a Quartz composition to ~/Library/Screen Savers or the /Library/Screen Savers folder, it’s ready to be a screensaver and will appear in your Screen Saver Preference Panel (see Figure 1.2).
Figure 1.2 Quartz composition as a screensaver
If you want to include your composition in a webpage or dashboard widget (which load via the same WebKit plugin), use the <embed> tag. (For more information, go to http://developer.apple.com/documentation/GraphicsImaging/Conceptual/QuartzComposer/qc_webkit/chapter_8_section_1.html#//apple_ref/doc/uid/TP40001357-CH3-SW6.)
Alternatively, you can export the composition as a QuickTime movie of a specified length and resolution. This method means that anyone with QuickTime installed can watch your composition and, if they have the QuickTime player version 7 or higher, will be able to see any interactive elements of your composition. Once you have the composition formatted as a movie, you can upload it to YouTube or load it into Final Cut, Video Jockey software, or other programs, just like any other movie file.
Not enough for you? Using Cocoa, it’s simple to create an application that runs your composition. (See Chapter 13.)
Getting even geekier, you can “publish” certain controls of your compositions so they can be bound with an interface builder to create interfaces for other programs you may have written (http://vidvox.net/wiki/index.php/QuartzComposer_Adding_a_published_input). The publishing process can also be used in a specific Video Jockey setup with VDMX to create some very powerful live performance experiences.
Surely that’s enough—but wait, there’s more! Using a QCRenderer class, you can run a QC file in any OpenGL context. If you’re not sure what an OpenGL context is, don’t panic. . . . I’m covering all the bases here just to show you just how many different ways there are to output your creations from QC.