The events received from the Apple Remote are fairly strange to begin with.. You don’t simply get “key down” / “key up” events as I would have assumed, but instead get cooked events — for many of the buttons, holding the button down generates a different event than tapping it.

My patch queues events, to ensure that each keypress is visible for at least one frame.

Frustrated with the tedium of going through all the Xcode project files in a text editor and manually replacing all of the identifiers and filenames when creating a new Quartz Composer Patch, I decided to finally figure out how to create a new Xcode template. [more...]

MIDI Global In Note :: This patch observes a specified MIDI Note number on a specified MIDI Channel, and outputs the Velocity and a boolean Gate signal.

MIDI Global Out Note :: This patch, when Gate is rising true, outputs a MIDI note-on message on a specified MIDI Channel with the specified Velocity. When Gate is falling false, a MIDI note-off message is sent.

Image With Composition :: This patch loads a Quartz Composer Composition (.qtz) file and renders it to an Image. (This is intended to replace functionality that was removed with the Mac OS X 10.4.7 update, as described by Roger Bolton and David Wolf.)

File Type :: This patch provides the Uniform Type Identifier (UTI) of the specified file. For example, if the path to a QuickTime movie is specified, File Type outputs “com.apple.quicktime-movie”.

This release is only compatible with Tiger (10.4).Please see kineme.net for Leopard-compatible patches.

MIDI Global Input CC :: This patch observes a specified MIDI Custom Controller on a specified MIDI Channel, and outputs the Custom Controller Value and a Value-changed trigger. Unlike the “MIDI Controllers” patch that comes with Quartz Composer, this patch doesn’t require the user to manually select the “Observed MIDI Sources” individually for every controller/computer combination - so you’re free to take your composition to a different machine and/or controller and jam without needing to hack the composition.

String With File :: This patch reads a file into a string.

String With URL :: This patch retrieves a URL into a string.

Document Info :: This patch returns some information about the zeroth Cocoa NSDocument.

In a famous blogpost from summer 2005, ClockSkew poked around inside Quartz Composer and discovered some fairly-complete-looking patches that aren’t available through the interface. ClockSkew also made a cool patch plugin that made these available through the interface. Unfortunately this plugin was written when Intel Macs didn’t exist, and it isn’t a Universal Binary.

Having myself somewhat of an obscurity-obsession, I decided to investigate how ClockSkew did this, and insodoing discovered a few new hidden patches. [more...]