Posts relating to kineme.net.
Kineme
Apple Remote Patch for Quartz Composer
I took Martin Kahr’s Apple Remote Controller Wrapper Class and built a Quartz Composer patch around it.
Leopard (10.5) includes a built-in Apple Remote patch.
Please see also kineme.net for Leopard-compatible patches.
Some notes:
- 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.
Steve Mokris is a developer at Kosada, Inc.
Advanced custom Quartz Composer patch development documentation
In addition to writing the inspector panels for custom Quartz Composer patches tutorial, I spent this weekend writing up some advanced custom-patch-development documentation and posted it on QC Wiki:
Steve Mokris is a developer at Kosada, Inc.
How to make inspector panels for custom Quartz Composer patches
…in thirteen easy steps or your money back.
Please see kineme.net for Leopard-specific informations.
Xcode Template for Custom Quartz Composer Patches
Okay, so, now that the Game Research and Immersive Design Lab’s infamous first-responder project is finished, I’m getting back to work on Quartz Composer hackery.
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 New Quartz Composer Patches
This is the second release of the Kineme Quartz Composer Plugins.
New this time:
- 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”.
Please see kineme.net for Leopard-compatible patches.
Get them here: http://softpixel.com/~smokris/widgets/quartzComposer/kinemePlugins/
Steve Mokris is a developer at Kosada, Inc.
61 Hidden Patches
And a second entry in the exciting-discoveries-late-last-night file:
QCRegisterPrivatePatches
Enables dozens of new CoreImage kernels, the previously-described hidden patches, and a few as-of-yet-unseen patches.
Private Patch Settings
Some further string-hunting in the Quartz Composer framework has revealed an interesting value:
QCShowPrivatePatchSettings
It looks like Quartz Composer is reading a value with this key from the global user defaults repository.
In fact, enabling it by bringing up Terminal and typing
defaults write -g QCShowPrivatePatchSettings 1
causes Quartz Composer to present some additional options for well-known patches.
Some New Quartz Composer Patches
I wrote a few new patches for Quartz Composer.
MIDI Global Output CC :: This patch, when triggered, outputs a MIDI Custom Controller message on a specified MIDI Channel to all MIDI outputs.
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.
Please see the latest version.
Get them here: http://softpixel.com/~smokris/widgets/quartzComposer/kinemePlugins/
Steve Mokris is a developer at Kosada, Inc.
Hidden Quartz Composer Patches Redux
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.