Imimot

CoGe VJ Help - General

The Rendering Chain

Take a look at the following diagram, which shows the main rendering chain:

Diving into this a bit: Layers - actually what CoGe refers to as ClipSynths and SyphonSources - are the mechanisms that render the image data (see the next section for details) - and the rendered image is passed to the Mixer.

All Layers and the Mixer are also Syphon servers - see Syphon section for details - so the rendered image at this point is also available to any apps that have Syphon support.

In the Mixer, images from Layers and/or Syphon sources may be used in transitions and/or compositing. The Main Output window always shows the image coming from Mixer.

The Preview window renders Syphon sources, as well as the Layers of CoGe. This is important, because if you are using any other application that is sending images to Syphon, these sources will be available in the Preview Selector list and you may view the incoming frames in the Preview window.

Syphon

Syphon is an open source Mac OS X technology that allows applications to share frames - full frame rate video or stills - with one another in realtime - via http://syphon.v002.info

CoGe has native Syphon support. In the Syphon model, a 'server' is an application that sends frames and a 'client' receives frames. CoGe can be a server: ClipSynths, the Master Mixer and Layer Groups all pass the rendered frame to Syphon clients. CoGe also can be a client - you may playback frames provided by a Syphon server in ClipSynths and you are also able to use them in Effect and Mixer modules.

Modularity

Modularity in CoGe means two things:

  1. Modular Interface: the application’s interface is semi-modular, which means CoGe’s user interface is not hard-coded. You can change the layout by moving windows, and you can add new (and, of course, remove) interface elements - as many as you need - for your current project. These interface elements are ClipSynths, EffectChains, SyphonSources , LayerGroups, VideoInputs and Sequencers.. For simplicity, we will refer to these collectively as Gadgets.
  2. Modular Ecosystem: CoGe uses modules for media file playback handling, automation of parameters, all effects and mixing/compositing functions. It is important to understand that CoGe was not hard-coded with functions to make those things, and that even the most basic of media players, effects and mixing elements are controlled by plug-in modules.

A module is a Quartz Composer composition, which is constructed in a way so that it can communicate through input and output parameters with CoGe. If a module has adjustable parameters CoGe will automatically generate the user interface for it and will display buttons, sliders, etc. based on the data type of the parameters.

CoGe and its modules "talk" - meaning that CoGe provides some information to modules (e.g. BPM) and can also read values that the module publishes.

Modules are always loaded within a Gadget by right-clicking on its striped area - except for automation control modules, as these are assigned to sliders.

For more information about developing modules see section CoGe and Quartz Composer. All Modules are placed in the modules directory found in the CoGe.app directory.

CoGe uses the following module types:

  1. Player: Player modules handle the playback or display of various types of media, and should be placed in modules/player folder.
  2. Effect: Effect modules are (rather obviously) effects, and should be placed in modules/effect folder.
  3. Mixer: Mixer modules are those that apply transitions and/or compositing between layers. These should be placed in modules/mixer folder.
  4. Control: Control modules are specialized modules that allow for the automating of slider controls in CoGe modules. They should be placed in modules/control folder.
  5. Behavior: Behavior modules are specialized modules that allow for doing post-process with value of sliders. They should be placed in modules/behavior folder.
  6. Blend: Blend modules are used for processing Dry/Wet blending with Effects. They should be placed in modules/blend folder.

Note: the modules/templates directory contains Quartz Composer templates for module developers. 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

The Output menu

You will find the Fullscreen toggle and a list where you can select the screen used for Fullscreen in the Output menu. You can turn on the display for outgoing MIDI/OSC messages and trigger sending a MIDI and/or OSC message with all enabled senders - this function helps you a lot when using MIDI/OSC Talkback.

In this menu you will also find the Create PNG Snapshot function. Using this feature produce a snapshot from the Main Output as a .png file - you'll find the snapshot in the Pictures folder of your account's Home directory.

Save & Load

Projects

A project file (with the extension .coge) stores everything you set up: all the information about the user interface, window locations, the state of the user interface elements, applied automations, loaded media files, set Key/MIDI/OSC assignments, and all preferences including rendering size, fps, etc.

In other words, when you select "Save Project" from the File menu (or press CMD-S), you can be sure that CoGe will have everything the way you want it when you reload the project (from File menu Load Project, or by a double-clicking on the project file).

When a saved file is loaded, you will see the name of the project in the Info window, next to the label "Current project:". Subsequent saves will overwrite the file. To save a copy of the file with a different name, choose Save Project As... from the file menu or just press CMD+SHIFT+s.

Upon loading a project, CoGe will do a quick search for all the files used by the project including media files and modules. If something is missing, CoGe will ask you to manually relocate the file, do a Spotlight search for it, or Skip the searching and continue the project loading without that file.

When a project is saved or loaded, CoGe will display a message about the success of the operation.

Project files can be previewed in Finder via Quicklook, by selecting the project file and pressing the spacebar or by selecting Quicklook from the Finder's options.

Presets

Whereas Projects store entire CoGe layouts, Presets are a way of saving part of one project for reuse in another. There are several types of preset in CoGe, and can be previewed in the Finder with Quicklook.

CoGe Media Preset

A Media Preset (extension .cpr) contains all of the file paths of a ClipSynth's Media Slots. It can be saved by selecting and clicking on the Save Media Preset menu item from a ClipSynth's actions: popup menu. To load a Media Preset file, drag and drop the file to one of ClipSynth's Media Slots.

CoGe ClipSynth Preset

A ClipSynth Preset (extension .ccs) - contains all of the information about a ClipSynth, including all the filepaths on the Media Slots, loaded modules, the selected modules, Media Slot, assigned Key/MIDI/OSC controls, etc. It basically stores a complete ClipSynth for later reuse. It can be saved by selecting and clicking on the Save Synth menu item from a ClipSynth's actions: popup menu. To load a ClipSynth file, just double-click on it in the Finder.

CoGe EffectChain Preset

An EffectChain Preset (extension .cfx) contains all of the information about an EffectChain, including all the loaded modules, current states, assigned Key/MID/OSC controls, etc. It basically stores a complete EffectChain for later reuse. It can be saved by selecting and clicking on the Save Chain button on an EffectChain. To load an EffectChain file, just double-click on it in the Finder.

The Projects and Presets Explorer

The Projects and Presets Explorer - available from the File menu is designed to help you to browse, preview and load your project and preset files in a very simple way. For each type (project, preset) it presents you with a table displaying various aspects of the file.

For both types, you can see a list of file names, which is sortable. The QuickLook column contains buttons that, when pressed, let you preview the file by showing OS X's QuickLook view. At the right side of the table is a column of Load buttons. Clicking these will let you load the project or preset.

For presets, there's an additional sortable column displaying the type (e.g. EffectChain, Media Preset, ClipSynth etc.)

Note that, when you try to load a CoGe Media Preset file, CoGe will ask into which ClipSynth the file should be loaded.

Collect Files & Save Copy

This feature saves a copy of the current project, and collects and copies all media files and Quartz Composer modules used in the project to a directory, which directory's name is the same as the project file but ending with "... Files", and it will be close to the project file. The file paths within the project file created here will be the same as the original - with other words, paths of medias and modules won't be replaced with the collected files.

When a project files will be opened with missing files, so, the app cannot find them in the original place, but the collected medias and modules are in the "... Files" directory next to the project file, the Spotlight search for missing files feature will search inside this directory first, as a priority.

Preferences

Rendering Preferences

The most important rendering-related settings can be controlled on the Rendering tab of Preferences window (open from CoGe menu). An explanation of the settings follows:

  1. Main output rendering size: the resolution of the main rendering canvas - CoGe will render and display the main output image in this resolution. Note: a good choice is set this value to match your media files resolution.
  2. Layers rendering size: In the most cases you just want to render your layers at the size of the main output, but in some special situations you may need to render layers in a different resolution then the main output rendering size (for example, beaming out three different layers with a TripleHead2Go).
  3. Main output scale: changing this value will scale (zoom) the main output image. Click the Reset button to revert the Main output scale to its default value of 100%.
  4. Multi-sample anti-aliasing: If this feature is enabled, the rendering will perform anti-aliasing on edges. This only makes sense for Quartz Composer compositions and some kinds of effects and/or mixers which render geometric figures (for example, a cube). Note: depending on the resolution you set in the settings above, enabling this feature could lead to a decrease in performance.
  5. Texture Filtering Interpolation: controls the filtering of image up-/downscale
  6. Low priority rendering: When this option enabled, Preview will rendering only every 2nd frames. Enabling this option could improve overall performance.

OSC Preferences

Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation. - via [opensoundcontrol.org]()

With OSC you can control most of CoGe, Sliders, Buttons, triggering Media Slots on a ClipSynth Gadget, and you are also able to receive BPM value for the BPM Clock.

To get OSC working on your wired or wireless network, you should set up the Incoming Port in the OSC Preferences. If you need to send OSC messages from CoGe, set the Output IP and Port values too. CoGe can auto-detect OSC clients for outputs via Bonjour if, the destination OSC client supports this function.

If you have troubles with sending or receiving OSC messages, check your firewall and router settings!

If you changed either input or output settings, you must Apply the new settings!

On the OSC Preferences section, you can set up how OSC sending should operate: you can select between setting up OSC sending manually on each item, or select OSC Talkback.

For more information about how to control CoGe via OSC read the Controlling CoGe section. For more information about how to send OSC messages using built-in functionality please read the Sending MIDI and OSC messages from CoGe section.

MIDI Preferences

In the MIDI Preferences section you can enable/disable MIDI devices CoGe receive from and send to. You can also set the behavior of the MIDI sending, like OSC, manually or Talkback.

CoGe lets you set up different MIDI Velocity values for sending, depends on the state of buttons, non-empty Media Slots and the selected Media Slot. If your MIDI controller device has multi-color leds and supports setting controller color via Velocity messages, this function turns into very handy, see and example here: https://imimot.com/blog/coge-1-3-0-5-adds-custom-velocity-settings-for-midi-sending/

Still stuck? How can we help?