Creating patches for Quartz Composer can follow one of two paths:
-
With the release of OS X 10.5 (Leopard), Apple released a supported plug-in API (sometimes called "The Official API") that allows simple patches to be created. However, there are some severe limitations to the Official API.
To get started with the Official API, you should read Apple's Documentation on QC Patch Programming at http://developer.apple.com/documentation/GraphicsImaging/Conceptual/QuartzComposer_Patch_PlugIn_ProgGuide/index.html
-
In addition to the Official API, Quart Composer has had an undocumented, unsupported API (sometimes called "The Unofficial API" or "Skanky SDK"), which allows complete control over the QC environment. Kineme.net leverages the additional power of the Unofficial API to make almost all of their plugins.
To get started with the Unofficial API, you should download our Xcode Template from http://kineme.net/XcodeTemplateForCustomQuartzComposerPatches
Limitations of the Official API:
- Fixed port types (inability to create ports other than bool, number, index, color, structure, string, and image)
- Limited branding support (All plug-ins are in the "Plug-In" category, making categories useless for sorting plugins)
- No Macropatches (Plug-In patches cannot have subpatches)
- Plug-Ins are _always_ unsafe (this is a good thing, normally, but annoying in certain contexts)
- Structures of "internal types" (images, mostly) do not work correctly (Plug-Ins cannot work with QCImages directly, they only know about QCPlugInImageProviders)
- PlugIns are not composition-compatible with unofficial-API plugins on Tiger (or Leopard)