quartz composer @ daisyrust.com
quartz composer is a visual programming tool from apple. Here ian grant shares compositions, code, ideas and tutorials relating to this fantastic tool.
Quartz Composer Interactive Soundlines on Vimeo » read article
posted by ian grant on June 10, 2009 at 10:53 pm | in quartz composer | no comments
soundlines in quartz composer from Ian Grant on Vimeo.
SoundLines: Sound activated lines for onedotzero » read article
posted by ian grant on June 10, 2009 at 10:48 pm | in quartz composer | no commentsPOST IN PROGRESS Some nice experiments using Kinemes OpenGL and 3D tools… onedotzero
Great when sound activated - good for graphing!
Harmonographs with Quartz Composer » read article
posted by ian grant on June 5, 2009 at 11:20 pm | in quartz composer, video | Comments OffA harmongraph generator made with quartz composer. Using transparent png as a texture, the composition modulates the x, y position using sin / cos waves while the image scales. Expensive and a little slow, but the process of watching the images being made is nice. Some of the final images produced by changing x, y position, parameters to the waves, switching presets, alpha and colors (using a MIDI controller) were usable as stills and textural elements.
Download Link: harmonogaphs_001.zip
The zip contains a version controllable by the keyboard and another with controls in the parameters. It is designed to be controlled with a midi desk. You will need to dig into the patch to explore the principles of the harmonograph generators. You may wish to add a clear patch. To see things better. I used the included QCToMovie application to render movies with alpha of the animated textures to be taken into After Effects.
Real-Time Video Depth Computation in Quartz Composer » read article
posted by ian grant on June 5, 2009 at 11:01 pm | in quartz composer | Comments OffUNDERGOING MAINTENANCE
Please check back - I am currently updating the site with new images, commentary, compositions and movies!
Experiments in Digital Puppetry Published by Springer » read article
posted by ian grant on August 1, 2008 at 10:00 pm | in digital art hacks, exhibitions, publication, quartz composer | Comments OffI’ve written a chapter in the following book: “Experiments in Digital Puppetry. Video Hybrids in Quartz Composer”. It involves the material on this site and elsewhere that describes real-time video processing and the use of Quartz Composer in performance. I feel quite proud to be in such interesting and diverse company. The chapters on digital puppetry are really welcome. The subject deserves a book all of it’s own!
I have a chapter on Digital Puppetry and real-time performance systems (including Quartz Composer) in the following book:
Transdisciplinary Digital Art. Sound, Vision and the New Screen
Digital Art Weeks and Interactive Futures 2006/2007, Zurich, Switzerland and Victoria, BC, Canada. Selected Papers
978-3-540-79486-8_1
Editors: Randy Adams, Steve Gibson and Stefan Müller Arisona
I’ll post more details and some excerpts asap.
If you are in a position to, please order the book for your college or local library!
Quartz Composer - Tiger Reflections Patch Version 2 » read article
posted by ian grant on February 13, 2007 at 10:59 pm | in graphics, moving image, quartz composer | 1 commentDownload: http://www.daisyrust.com/quartzcomposer/reflections_fxplug_V2.qtz.zip
A second version of my ‘tiger reflections patch’. Now with a simpler interface and Noise Industries ‘FXFactory’ ready!

The patch is simplifed and slightly more reliable than the previous version. The generated image can now rotate without producing artifacts. The gradient setup is now automated. Less control but simpler. I have done this to create a test composition that works in ‘FXFactory’ - which is very simple to use. It really unlocks another realm for Quartz Composer developers.
Quartz Composer - Aqua Style Circle » read article
posted by ian grant on February 13, 2007 at 10:25 pm | in graphics, quartz composer | Comments OffDownload: aqua_style_circle_mask_001.zip
The patch does a simple thing of producing an ‘aquafied’ circle. I created this patch when I was exploring masks and how best to create a circle using the current Quartz Composer toolset. The patch contains some useful techniques working between pixels and Quartz Composer units. It is also an exercise in ‘pixel based positioning’. I am sure the visual effect can be improved upon, but I quite like the principle of instantly produced graphics using quartz composer. I followed several online tutorials for producing aqua styled graphics - then simplified the process. I reckon quite complex aqua graphics could be produced in this way, like widget graphical elements etc.

Some Issues
The accuracy of positioning of bottom gradient may need improving. Hence the ‘tweaks’
Better control over how the bottom gradient is generated. The rules seem to break down at smaller sizes. Fun though.
Quartz Composer - Iris Transition » read article
posted by ian grant on February 13, 2007 at 4:35 pm | in graphics, moving image, quartz composer | no commentsI’ve composed a patch that creates an iris transition. You can position it in x - y space, control the iris size and feather the edge of the mask.

Download Link: iris_quartz_composer.zip
Some Notes
The patch is quite simple to use. For a recent digital puppetry project, I connected the iris radius to a the output of a midi foot pedal so I could create scene transitions in real time. More of that elsewhere.
The patch demonstrates a number of useful ideas: pixel to unit conversion, creating a circle (using the hole distort patch), masks and the ’source atop-in-out-wave-it-all-about’ patches.
Some Notes on Custom Patches, Hidden Patches and Core Image Units
My original patched originally used one of the hidden patches ‘CICheapBlur’ that you can enable by following instructions here.
See http://fdiv.net/2006/09/19/61-hidden-patches/
For the download here, I have replaced the ‘CICheapBlur’ patch with a gaussian blur - so there shouldn’t be errors if you do not have the ‘hidden’ patches activated. This effects performance slightly. With custom core image filters appearing in the QC patches pane, I am sure it is quite possible to distribute compositions that will not run on other people’s machines without the custom CI filter. There seem to be more useful custom patches appearing on the scene with a number of excellent ones from Boinx. I hope a useful installation mechanism can be constructed to distribute the pre-requiste elements for custom patches.
Link: http://www.boinx.com/chronicles/category/quartz-compositions/
Digital Puppetry Project Using Quartz Composer » read article
posted by ian grant on February 12, 2007 at 11:11 pm | in installation, moving image, music, performance, quartz composer | 2 commentsI have recently completed the first prototype of a major digital puppetry project that relies heavily on Quartz Composer in an arena of live performance familiar to vj-ers, visual artists and visualists. I have a set of predefined visuals (’scenes’) and effects and a complex mechanism that lets me composite my real-time singing mouth onto an a character that I (or someone else) can manipulate with a nintendo wii remote. Moving eyes are pre-recorded and in future versions, I indend for the eye movements to be controllable by the wii. The source code for the character control can be found elsewhere on this blog.
I do not intend to post the full patch as it is very dependent on other media, the wii controller and the Behringer midi controller, but you can view the root of the composition in the image below. I have split some of the more useful elements up and will be sharing them in other posts. I attempted (and will develop further) the idea of having a separate ‘buses’ for scenes, effects and transitions - a little like the way (I think) quartonian (and other vj-ing tools) work.

Image (1.8mb large): Screenshot of Root of Performance Composition
The project used some of the following ideas:
- instant chroma-keying and garbage matting of a performers blue face and the compositing of a hybrid character with live mouth and controllable pre-recorded eyes into multiple scenes
- midi control
- nintendo wii remote control of a virtual character (this meant I had to write a custom cocoa application to host the open source darwiinremote.framework ‘)
- Quasi 3D (or 2-and-a-half-D) effects derived from 2D frames - I’ll post some movies of this.
- Depth of focus and pulling focus effects
- Dynamic real-time titles
Some Images and Commentary
A fuller walkthrough of the final images with a commentary can be found here:
Screenshots and Scene-by-Scene Descriptions Link: http://www.daisyrust.com/quartzcomposer/moocher/

Image (above): Prototype of the Garbage Matte and Chroma-Keying Patch
Download Link: garbage_matte_bluescreen_demo_002.qtz.zip
This demo patch makes uses of Sam Kass’s excellent core image kernels available here:
Link: http://www.samkass.com/blog/

Images (above): Behringer BCF2000 MIDI controller controls scene sequencing and properties of various screen objects and parameters in real time

Image: Real-time Mouth / Recorded (controllable) Eyes Composited into an Image in Real-Time
Full credit and copyright acknowledgment to the Fleischer Brothers Estate for frame grabs and stylistic inspiration.
Quartz Composer - Movie Time-line Thumbnail Viewer » read article
posted by ian grant on February 12, 2007 at 10:38 pm | in animation, graphics, moving image, quartz composer | 1 commentHere’s a tool I have made that I use to create an instant sheet of thumbnails from a movie. I use it to analyze animations that I have digitised from my own video collection.
Download Link: movie_thumbnail_viewer_001.qtz.zip
It works in principle but there are a number of issues I’ll go into in a moment. It is an early version of an idea that could produce instant time-lines, retrospective after-the-fact storyboards, onion skinning and other video frame manipulations. I use it to visualize the flow and movement of time-based imagery and to produce illustrations for lectures. It is the kind of process that makes Quartz Composer a pleasure to use. To produce such a layout in Photoshop would take a good deal of preparation and layout work. I love the grid layout and the visual effects produced by this patch - as images in their own right.
Basic Operation
You set the path to a quicktime movie.
Make some basic choices about number of frames per row, number of rows (you need to enable / disable each row as needed)
Set the time interval / frame shift to jump on each row.

Image (above): Frames demonstrating early pioneering rotoscoping from Dave Fleischer’s “Snow White” (1933) with Betty Boop and Cab Calloway (full copyright acknowledged).
![]()
Image (above): Sequences from Bill Plympton’s “Your Face” (1987) (full copyright acknowledged)
Some Issues
Here are some of the important issues that need to be improved:
- Performance.
The patch runs slowly. I am sure you could do a similar thing programmatically with QTKit that would be much faster in the generation of the rows / thumbnails. I may even have a bug / design flaw where each row gets iterated more than once.
- Manual Tweaking
It is always a design goal for me to have no manual tweaking necessary, for a composition to do it’s work with the minimum amount of set-up. This patch needs more work in this regard.
- QC Bug - Some codecs produce unexpected results [bug submitted]
It seems some codecs (I forget which from my tests - I mentioned it on the qc-dev list) produce unexpected results. i.e. only two different thumbnails are generated and they then alternate across the sequence. Some sizing / aspect ratio issues of the thumbnails when the viewer is resized
I have fixed this issue on other similar patches I have made - but have yet to implement the fix here. This patch would benefit a rigorous going over. I’d love to hear from anyone who finds it useful.
Additional Details


Images (above): the optional ‘info’ panel and math patch. This part of the composition is interesting and the maths contained there-in could for the basis for a future improved implementation.

Image (above): The basic macro with most of the important published ports
(cc) ian grant some rights reserved














