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 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 in CoGe means two things:
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:
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
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.
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.
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.
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.
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.
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 - 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.
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.
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:
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.
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?