Imimot

CoGe VJ Help - Gadgets

ClipSynths

At the heart of CoGe is the need to play back media files. A "ClipSynth" is a flexible gadget designed to allow for the collection and playback of many types of media: videos, 3D models, etc. Because of this functionality, ClipSynths are arguably the most common and most important layer source gadgets.

The design of the ClipSynth is fairly simple.

Just below the first row of buttons and drop-down menus is a collection of Media Slots, where you load your media files. To load a file into a Media Slot, simply drag the file from the Finder into a slot.

Below the Media Slot area is a Module Container that holds the various Player Modules that are needed to play back each of the types of media you have loaded. Right-click the striped area and select the players you wish to add. Note: if you have "APS" (Auto Player Select) enabled (the button at the top left of the ClipSynth) then the default players (as defined in CoGe's Preferences) will be automatically added to the Player Modules as media is selected. In other words, if you load a movie file, and don't load a player type, CoGe will load one for you automatically.

The other controls along the top perform the following functions:

  • APS : Auto Player Select - as described above, if enabled, CoGe will load an appropriate player for media clips that don't have one explicitly defined. If disabled, you will need to ensure every media type has a corresponding player.
  • sequencer on and pop-up menu: these two controls enable/disable and select a Sequencer Gadget that will automatically trigger various Media Slots, based on the Sequencer configuration. .
  • fxchain on and pop-up menu: it is possible to apply an EffectChain to the output of a ClipSynth. This is useful when you want a specific effect to apply to all media played back from a collection of items, before it is (potentially) further-processed in later EffectChains or through the Master Mixer.
  • actions menu: The Actions menu allows you to perform various save operations on the list of Media Clips.
  • show players: Enabling or disabling this button shows or hides the Module Container containing the Player Modules. This is sometimes useful to clean up a project's layout.
  • media banks: a matrix with 16 cells, representing the current media bank More detail on these functions is in the following sections.

Each ClipSynth has a Syphon Server (Output) at the end of the rendering chain with it's name, which allows you to "connect" a ClipSynth's output to one or more Syphon capable application(s).

Media Slots

Media Slots are a basic building block in CoGe. The primary purpose of a CoGe Media Slot is triggering and loading media files. Each ClipSynth has 16 Media Banks, with 16 Media Slots on each, and is designed so that only one of the Media Slots can be active (or playing) at one time. The currently playing Media Slot is highlighted.

Loading a file in a Media Slot is easy: drag and drop a file from the Finder onto it. CoGe automatically generates a preview image of the file (using the Mac OS X QuickLook feature) and displays the name of the file underneath the preview.

You can also drop a CoGe Media Preset file to a Media Slot to load a Media Preset on a ClipSynth. Media Presets are explained in a later section.

To trigger a Slot, you either use your mouse to click on it, or you can trigger it using mapped Key/MIDI/OSC controls.

In some cases, you may want to rearrange or "swap" media slots. For example, say you are using the Sequencer to trigger media slots and they are in the wrong order. To swap the location of two Media Slots, hold down the Shift key while you clicking on the first slot. The cursor will "pick up" a copy of the thumbnail. When you click on the second slot the first and second slot media will be swapped.

Note that this works between different ClipSynths too, so you can swap slots between ClipSynth-X and ClipSynth-Y.

Media Banks

A Media Bank is a collection of contents in Media Slots. A ClipSynth has 16 Media Banks, each Media Banks stores the paths of the media files in Media Slots. So when you change the current, selected Media Bank the new file paths will be loaded and available for playback, but Key/MIDI/OSC bindings, MIDI/OSC sending preferences won't change, because those are global values.

Preview Media Banks

CoGe 1.6 adds a way to preview Media Banks - so when changing Media Banks, you will see the thumbnail of the new Bank, but the new files won't be used until you trigger a new slot. The active Media Slots shows itself in white color when you are in preview mode. So, when you see the active slot presented with white background, the next Media Bank trigger action will change the bank.

There is a global behaviour option to switch between how you want to deal with Media Bank change events, but in case you want to use CoGe in the old way, you can still temporary enable the preview mode, while holding down the Alt key when you click on a Media Bank.

Players

Players are the Player Modules inside the Player Container, that handle the playback of the Media Slots content. Many Players come with CoGe, and as with all Modules, you can create your own using Quartz Composer.

To load a module into the container, right-click the container area, and select one from the list.

An arbitrary number of Player modules may be added, but only one can be active at a time.

Toggle Players on and off by clicking the button that contains the name of the module.

Native Quicktime Player

CoGe 1.5.2 introduced a new, native Quicktime based player module for movie playback, with native HAP support too. Native means it is NOT a Quartz Composer based module, it is hardcoded in the app. It has the same functionality then the CoGeMoviePlayer series, but since it does not use QC for rendering, it using less resources and rendering faster then the QC based modules.

  1. Playhead
  2. Playback modes: Backward, Pause, Forward
  3. Triggering from last position. When enabled, loops won't rewind on trigger.
  4. Loop modes: Loop, Mirrored Loop, Play Once, Play Once then hold last frame, Play once then triggering next movie, Play once then triggering next movie and/or bank
  5. Speed
  6. RAM Preload: when enabled, CoGe storing a reference for the movie in Ram, which results in faster triggering, but requires a lot of RAM
  7. BPM Stretch: when enabled, CoGe stretches the loop from 120 BPM to the current BPM
  8. Audio Output Device
  9. Volume

Auto Player Select

CoGe also able to automagically create and select a player for a Media Type.

You can define the default Player that gets loaded by APS in the CoGe Preferences.

When this function is enabled (by clicking on the APS button on the ClipSynth's top-left corner) and you trigger a Media File, CoGe search the Player Container for an appropriate Player. If found, the application will automagically switch to that Player. If one cannot be found, CoGe will add a default Player module for the media type, and use it to begin playback.

The number and type of automatically-detected Media Types in the Preferences are hard-coded in the application, but the list will grow with future releases.

EffectChains

An EffectChain contains Effect Modules to use with layers - ClipSynths, SyphonSources, LayerGroups and VideoInputs - and with the Master Mixer. This type of gadget has one section: a Module Container where you can load and manage Effect Modules, and a button to save the EffectChain as a Preset. Effect Modules can be system-wide Core Image Filters, FreeFrame/FreeFrameGL Effects or Quartz Composer based Effect modules for CoGe.

All of the Module Views in the EffectChain has a special, Dry/Wet slider with a Blend mode selector, to make you able to fade between the effect off and on state, processed with the selected ISF Blend module.

You can use arbitrary number of Effect Modules in an EffectChain, and you can re-order them (see the Module Views section.)

The EffectChain renders effects in a chain. The first turned on Effect Module will use the incoming image from the layer source the EffectChain is applied to. Subsequent enabled Effects will use the image coming from the previous Effect, and so on.

For example, if you have two enabled effects: the first a Vertical Mirror, the second one a CMYK, the Vertical Mirror effect will apply on the "dry" image coming from the targeted layer, and the CMYK effect will be applied to the Vertical Mirror-ed image.

An EffectChain only renders its enabled effects if the layer or Master Mixer that it is assigned to is in use, and the Effect Chain is enabled within that gadget.

The flexibility of CoGe allows you to assign the same EffectChain to multiple layers and the Master Mixer or assign different EffectChains to all or some of these.

ISF Effects

CoGe 1.6.4 adds support for ISF effects. ISF is a file format for interacting GLSL shaders, more info could be found here: http://www.interactiveshaderformat.com/

ISF effects are super-fast, and way more stable to use than anything other, so using ISF effects instead of Core Image/Quartz Composer is our recommendation!

CoGe 1.6.4 is coming with 150+ ISF effects, but you can download and even create new ones at http://www.interactiveshaderformat.com/ (site requires Google Chrome!). ISF effects should be places at either /Library/Graphics/ISF or ~/Library/Graphics/ISF - CoGe will recursively scan this folders for available effects upon launch.

The default ISF effects coming with CoGe are installed at the ~/Library/graphics/ISF/CoGe directory. The best if you don't install and modify effects in this directory, because CoGe may update and rewrite files in this directory during an update.

Core Image Effects

Core Image Effects are system-wide effects. There are a huge number (around 50) of Core Image filters available by default on Mac OSX, but you can add more filters by installing Image Units which are packages of Core Image filters.

Some places where you can find Image Units:

Quartz Composer & Vuo Effects

You can create your own Quartz Composer or Vuo Effects for CoGe. There is an example template patch in the modules/templates folder.

FreeFrame Effects

CoGe supports both FreeFrame (CPU) and FreeFrameGL (GPU) effects.

FreeFrames plugins should be placed in the following directories: ~/Library/Graphics/FreeFrame Plug-Ins or ~/Library/Application Support/FreeFrame

Some places where you can find FreeFrame plugins:

Sequencers

A Sequencer is designed so that you can rhythmically trigger the various Media Slots of one or more ClipSynths in a specified order. If you are familiar with step sequencers from the world of electronic music composition, the basic idea of CoGe's sequencer will make sense quickly. With the Sequencer you can also send values between 0.0 and 1.0 on points where Trigger are enabled. This values can be linked to sliders as a syncing source with the name Current Value.

The Sequencer gadget is comprised of a row of sixteen "trigger" buttons, which correspond to the sixteen Media Slots in a ClipSynth. By enabling these, you are signaling the sequencer to play back the media in the corresponding Media Slot. Below the row of trigger buttons is a visual indicator showing the current step in the sequence that is firing.

The playback speed and cadence of the Sequencer is determined by the position of the standard CoGe Slider labelled "Driver." Like all sliders in CoGe, you can control how it moves with your mouse, MIDI/OSC or automation. Right-click the slider and choose the automation or source you wish to move the slider. To activate the sequencer, click the button next to the slider.

CoGe also includes some shortcuts for setting up typical playback sequences. The 2nd and 4th buttons will light up every second and fourth trigger, and the entire sequence can be shifted left or right using the < and >buttons.

An additional creative possibility: a sequencer's current triggering state ("on" or "off") also can be linked to other sliders as a syncing source. When a trigger button is on, the linked slider will move to its maximum, and when it is off, the linked slider will move to its minimum.

SyphonSource

A SyphonSource is a simple layer source, and contains only two interface elements. It pulls in the frames from a Syphon Server source, and allows you to apply on EffectChain to it before using the rendered image in CoGe. The outgoing image from a SyphonSource can be used in the Master Mixer - it will be listed with the ClipSynths - and in all modules programmed in Quartz Composer to use an inputImages parameter.

With the Source: Popup menu you can select any available Syphon server. With the other popup menu you may select an EffectChain and the fxchain on button will toggle on/off the EffectChain you have selected.

SyphonSources also function as a Syphon Server at the end of their rendering chain. With this functionality, it is easy to pull in frames from one Syphon Server, apply effects to them in CoGe, and feed them back to another Syphon Client.

LayerGroup

A Layer Group is a gadget for managing multiple CoGe Layer Sources, such as ClipSynths and SyphonSources.

A Layer Group is a layer source too, so you can mix them together with other layers in the Master Mixer.

Layer Groups also have a Syphon Server at the end of their rendering chain, so you can use a Layer Group output as a source for other Syphon-capable applications.

As you might expect, you can apply an EffectChain to a whole Layer Group or to individual Layers within.

A Layer inside a Layer Group is called a Layer Item. You may add a Layer Item to a Layer Group by right-clicking on the Layer Items Container - the striped area inside the Layer Group - and selecting one from the list. The newly added Layer Item will be the new top layer.

All Layer Items have the following controls:

  • Solo button: With Solo mode enabled on any Layer, only that layer would display out - and because of that behaviour, on one Layer can be Solo-ed at a time.
  • On/Off button: This button is labelled with the Layer Source's name, and can be used to toggle a Layer Item on or off. To change the source for the Layer Item, right-click it, and choose a new one.
  • Blend mode popup: This popup menu lets you select the - Core Image or OpenGL Shader based - blend mode of the Layer.
  • Opacity slider: A Slider where you can change the current Layer's opacity.
  • FX Toggle Button and FX Chain select popup: You can apply an effect chain to each Layer Item, and enable that Effect Chain using these controls.
  • Re-order buttons: Two buttons with Up and Down arrows. With these buttons you are able to change a Layer Item's position inside the group.
  • Close button: A Button labelled X for removing the layer from the Layer Container.

VideoInputs

The VideoInput Gadget in CoGe supports the use of Quicktime-compatible video input devices (connected via USB, FireWire, PCI or Thunderbolt) such as webcams, digitizers and capture cards as a Layer Source. A VideoInput Gadget has its own Syphon Server like any other Layer Sources in CoGe.

The VideoInput Gadget is laid out just like the SyphonSource Gadget, and it works in a similar way. The first popup list is used to the source device. You can apply an EffectChain to the input by enabling the "fxchain on" button and selecting an existing EffectChain from the rightmost popup list.

Also like the SyphonSource Gadget, you can use arbitrary amount of VideoInputs. However, capturing live video requires significant computing resources and bandwidth. The bandwidth needed is dependent on the dimensions of the incoming video signal and as a result, the maximum number of usable Video Inputs is restricted to the speed of the chosen input bus.

For example, you can only use one FireWire input at a time. This is not a restriction of CoGe, but rather a restriction of the bandwidth of the FireWire bus. If you need multiple sources, the recommended way is to use different source types (e.g. one USB + one FireWire + one Thunderbolt.)

With the Preferences you can select the dimensions of the frames requested from the VideoInput - by default VideoInputs using the native resolution of the selected device. You can also set the VideoInput should use the native codec of the selected device, which could be useful in rare circumstances where the pixel format conversion generates wrong frames.

Still stuck? How can we help?