Skip to content

Getting Started

Ben Kuper edited this page May 18, 2017 · 2 revisions

Chataigne is mainly built around 3 concepts that work together, and includes side features to make it even simpler and extensible.

The Modules

The Modules are all the interfaces for Chataigne to communicate with the world. A module can be either a software that you want to control and get informations from, like Resolume, Ableton Live, a custom software you wrote, but i can also be a device that you connect to your computer, like a Wiimote, a Kinect or a Sound Card. All these modules have a two-way interactions. We can get informations from them, called "Values" and we can send them information or control them via "Commands". For instance, a Wiimote module will expose the yaw, pitch, roll and all the buttons of a wiimote, and you will be able to send a Vibration command to make it vibrate. Another exemple is the LiveOSC Module which will send informations from an Ableton Live session like current Time, beat, tempo, playing clips, track volumes, etc. and will allow control of the Ableton Live session with commands such as play, stop, set time, mute track, set master volume...

There are a certain amount of modules that will be increasing over the time, depending on usage and needs of the users. In addition of these "premade" modules, there are also the possibility to create generic module such as OSC, MIDI, DMX, HID, Gamepad which will allow to be free to control softwares and devices that are not included in Chataigne.

The State Machine

The State Machine is the interacive part of Chataigne. It manages states, that represents a group of rules that will be active or not depending on the state's activation. As a state machine, you can have multiple states linked together with conditionnal transitions between them to create complex and evolutive scenarios. A State can contain one or multiple Actions, and one or multiple Mappings. An Action is a conditionnal, punctual event that will trigger one or more commands when its conditions are met. For exemple "If i press the button A of my wiimote, then i will send a Launch Clip command on Resolume" A Mapping is a continuous relationship between a value from a Module and a command that will be affected by this value. This value can be filtered inbetween.

The Time Machine

The Time Machine is the linear part of Chataigne. It manages sequences with timelines, that you can launch whenever you want to have time-controlled creation. A Sequence can have multiple layers of different sorts :

  • Trigger layers that will send commands at a specific time
  • Automation layers that will send commands continuously and changing the parameters of the command depending on the automation curve
  • Color layers that are a special kind of Automation layers that let you animate a color and send commands later
  • Audio layers that let you add audio clips in a simple way
Clone this wiki locally