CoGeVJ & Quartz Composer

Last updated by Tamas Nagy on September 21, 2016 20:00

As the Modularity section already described it, CoGe uses Quartz Composer heavily for its modular ecosystem. In this section you'll find the module-specific input types with some notes. For a basic overview about how to create a Quartz Composer module for CoGe with published inputs please read this tutorial: http://www.imimot.com/blog/2011/create-a-simple-effect-for-coge-with-quartz-composer-part-1-rotation/

Note: if you installing Quartz Composer modules while CoGe is running, the new modules won't be listed until you click on Refresh Module Lists in the Interface menu


Standard Input Types

When you publish an input from a Quartz Composer composition, it will appear in CoGe as a standard UI element - depends on the type. Types not listed here won't be appear on CoGe's interface.

  • Number: a standard CoGe Slider between the Minimal and Maximal values you set up in Quartz Composer's Input Splitter Inspector.
  • Index (without Labeled Indicies: a standard CoGe Slider between the Minimal and Maximal values you set up in Quartz Composer's Input Splitter Inspector.
  • Index (WITH Labeled Indicies): a standard CoGe Matrix/Radio Button.
  • Boolean: a standard CoGe Button.
  • String: a standard CoGe Text Field.
  • Color: a standard CoGe Color Well, with a color picker and 4 sliders for RGBA values.

Special Input Types

Each of the module types have some special named input for getting special values from CoGe if needed, but almost all modules types have required inputs or outputs as well. Special inputs and outputs always needs to be ported from Quartz Composer by using those special names, listed below.

  • audioAnalysis: optional Structure type input. Sends the bands of CoGe's Audio Analysis as a keyed structure. Available for Quartz Compositions, Players and for Control modules.

You can also find this special names in Quartz Composer files inside your CoGe folder's modules/templates folder.


Special input names for Effects

  • inputImage: required Image type input, CoGe will send the current frame to the effect thru this input port.
  • inputImages: optional Image type input. If exists in a module, CoGe will create a Matrix/Radio Button on its interface populated with the available layer sources (ClipSynths, VideoInputs, etc.)
  • fontName: optional String type input. If exists in a module, CoGe will create a Popup menu on its interface populated with the available fonts with font-preview if that is enabled in Preferences->Behaviour. Best use with the Image With String Quartz Composer patch.
  • currentBeat: optional Number type input. CoGe send values between 0-3 thru this port, represents the current beat from CoGe's BPM Clock window. Won't create anything on CoGe's interface.
  • measurePosition: optional Number type input. CoGe send values between 0-1 thru this port, represents the current bar (a bar is 4 beats) position from CoGe's BPM Clock window. Won't create anything on CoGe's interface.
  • bpm: optional Number type input. CoGe sends the current BPM from CoGe's BPM Clock window. Won't create anything on CoGe's interface.
  • pixelsWide: optional Number type input. CoGe sends the rendering width thru this port, in pixels. Won't create anything on CoGe's interface.
  • pixelsHigh: optional Number type input. CoGe sends the rendering height thru this port, in pixels. Won't create anything on CoGe's interface.