I’ve been using midi controllers with Quartz Composer for a while now and mostly they work, however I’ve just recently discovered some major bugs in the current (10.4.5) midi implementation which I wanted to share information and workarounds on here. Unfortunately for some of them there is no easy solution and it severely limits my ability to add midi controller support to my free cocoa application “Quartonian VSM”.
The major bug is that currently when you program a patch with midi support and then copy that patch to another computer with the exact same midi controller, the midi control will not work. To make it work again you have to edit the patch on that exact computer, reselect the “observed controllers” then save the patch again. The reason for this is that Quartz Composer is saving a unique identifier tag in the composition which is a combination of your machine id and controller id, if you swap them, it breaks…. even if the channel and controller numbers are all identical….
As a consequence it’s impossible to make patchs that support midi controllers across multiple machines and it’s impossible to compile a patch with midi input into a cocoa app. As soon as you copy it to another machine it will stop working!
I’m very hopeful some kind of fix for this might make it into 10.4.6.. we can only wait.
What I really want as a solution is just one “advanced midi” raw input node that gives me a structure with ALL the midi signals, all controllers, all channels. I’ll parse it myself with some macros. If this was possible I could configure midi on the fly inside a patch, auto detect controllers and have text input boxes in interface builder that sets midi controllers and channel numbers. Fixed versions of the current nodes could stay as simpler versions for beginners.
The other bug is less serious and can be worked around, quartz composer reports the midi note octave incorrectly when you attempt to read midi note inputs. It’s either two octaves higher or lower, so if you’re trying to listen for a c3 then try setting quartz composer on both c1 and c5. Whether it’s off up or down seems to vary from octave to octave but it is consistent, so once you find the input it will work consistently.
My private version of Quartonian VSM is programmed to support an Evolution UC17, a cheap reliable controller with 16 rotary knobs, a cross fader and 10 programmable buttons. The buttons can be programmed to send midi note signals and I’m using those to start and stop various effects and send the bpm tap function. Unfortunately due to the above bug, I can’t share a compiled version of this patch….
I haven’t yet tested Midi Clock input with Quartz Composer but I’m going to look at this soon. My aim is to have one midi clock controlling my entire vj rig, two mac’s and an Edirol v4 all being beat synced and slaved together to one clock source. Once this is working it also allows me to easily do visuals as part of an av-set with anyone performing live with Ableton by getting a feed from their midi clock output. I’ll report my success on here.
Technorati Tags: Quartz Composer