Quartz Composer


bcf2000.jpg

New version (BCF2000_1.1.dmg) available now. Download and enjoy!

What’s new?

  • Auto update system.
  • Code clean-up ready for new features!

bcf2000.jpg

Ever since I started using a BCF2000 midi controller for my visual experiments with Quartz Composer, I have been left with the problem of having to carry the controller around with me if I want to do any work with my patches; which makes it all rather less portable. The answer; a virtual BCF2000.

I put this to my friend Joe and we began work; here is the fruit of that labour:- I proudly present the Virtual BCF2000. It is built using Cocoa.

There are a few things you need to know:-

  1. It requires MidiPipe or similar; this is because it doesn’t act as a midi endpoint in and of itself - it requires an application to do that for it.
  2. Because of the origin of the application, it is designed to work in a very specific way; it is designed to mimic the way that the BCF2000 controller works once you have applied Steve Mokris’ Quartz Composer Sysex files. In short, this basically maps all of the buttons (barring the encoder group buttons) as midi controllers.

Usage

First launch MidiPipe and create a new pipe - with just a midi in element and a midi out element. Then launch the BCF2000 application; you can now select the MidiPipe midi input from the drop down list. For control of Garageband, for example, that’s all you have to do.

Enjoy (and if you use it let us know how we can make it better). SteamSHIFT out.

Technorati Tags:
, , , , , ,

I realised that in my last BCF2000 controls macro, I hadn’t put the rotary encoder push buttons, so here is a new version with them in. Same caveat about needing the Kineme plugins, still applies.

Technorati Tags:
,

Quick post with a handy little counting macro; on receiving a signal it counts from 0 to 1 (over the specified time period), and then stops. When it receives another signal, it counts back down again. I’m sure there are other ways of doing this, but it works.

Technorati Tags:
, , ,

Building on Steve Mokris’ great patches, here is a quartz composer macro with all of the controls of the Behringer BCF2000 midi controller mapped on (based on Steve’s Sysex files). All of the outputs are normalised to QC (0-1). It takes a single input to set the channel (defaults to 0).

NB: This is nothing that anyone else couldn’t do, it’s just posted here as a timesaver for anyone else! Also, you must have Steve Mokris’ plugins installed.

Technorati Tags:
, , , , , , , , ,

Perhaps it would be useful if I also linked the zip archive of the materials!

Due to the excellent work done by Steve Mokris with his MIDI CC in and out patches, I present a tiny little proof of concept…

This has 3 parts:-

  1. a midi pipe (you’ll need the MidiPipe application) which (in this case) just routes an input to an output.
  2. An output composition:- included is just one that sends a looping controller value from 0-127 and back again.
  3. An input composition:- this simple receives the controller value and shows the value on screen

You will need to run all 3 at the same time. This allows you to control 1 composition from another. Why would I want to do this? Well here’s one scenario …

I have a VJ presentation running full screen on a projector, and I want to be able to choose from a list of movies to play. The list of movies could be on the midi output composition with thumbnails, running on my laptop’s built in screen. When I click on an thumbnail in the output composition, it sends a midi message with a numeric reference to the movie requested. The input composition receives the message, looks up the number in a list of movies and swaps it into the composition.

The big advantage of this way of doing things over creating an application? Both compositions can be edited on the fly, and I don’t have to learn how to create applications!!

SteamSHIFT out.

Technorati Tags:
, , , , ,

I recently acquired a Behringer BCF2000 midi controller, and wanted to use with Quartz Composer. A quick google turned up the quartz composer patches and sysex files that Steve Mokris (aka Softpixel) had produced for this device. Bonus thought I and downloaded the software from Behringer to apply the files. It didn’t work and I left the project for another day…

Technorati Tags:
, , , , , , ,


(more…)

Yesterday I posted an improvement to Cyberfunk’s composition for using key up/down. However, if you used the output to rotate a cube for instance, it was very juddery - so I got to thinking if there was another way …

I proudly present the Javascript Key Up/Down version. Basically, it takes the input of the key, divides it by the value of a passed multiplier and adds or takes the result away from the stored value. When applied as a value to a cube’s rotation, you get smooth rotation.


var prevScaledTime = outputs[0];


var dummy = inputs[0];

var speed = Number( inputs[1] );

var speed2 = Number( inputs[2] );

var mult = Number( inputs[3] );


outputs[0] = (prevScaledTime + speed/mult - speed2/mult) || 0;

Enjoy. SteamSHIFT out.

Technorati Tags:
, , ,

Cyberfunk posted an answer to a Quartz Composer question the other day about how to get a composition to do something while a key was pressed. His Key Up/Down composition, whilst it works, is by his own admission clunky. And thus here is my attempt at the same thing - Key Up/Down v1.1. You’ll notice that on the back of the interpolation items, are two different approaches for creating a signal for increasing or decreasing the counter - using a conditional patch or using a round patch. My guess is that round is quicker but I don’t really know. Enjoy!.

SteamSHIFT out.

Technorati Tags:
, , ,

Next Page »