Skip to content

yastefan/grandMA3-Chataigne-Module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grandMA3-Chataigne-Module

A Chataigne module to control grandMA3 via OSC

Purpose

This Chataigne module facilitates the mapping of external sources to grandMA3 via the OSC interface. The faders and buttons of executors as well as directly of sequences can be changed. Of course there is also a function to send commands (cmd) to grandMA3. For all those who only use an onPC node there is the possibility to toggle "blind" and "freeze" and display the status for example on a midi controller.

Features

The following functions are implemented in the plugin:

  • Executor
  • Sequence
    • Move Sequence Fader
    • Push Sequence Button
    • Track Sequence Running Status
  • Master
  • Speed
  • Programmer
    • Turn Encoder
    • Set Color
  • Control
    • Send Command
    • Set Preview
    • Set Blind
    • Set Freeze
    • Show Gui
    • Show View

The range of functions depends on the interface. For the executor faders and buttons, the function is determined by GrandMA3 on the playback page. The sequence faders and buttons can take on any functionality. So it is possible for example to map "Swop", "Speed", "Flash" and "Learn" of a sequence without making a setting in GrandMA3.

Usage

Activate OSC in grandMA3 in the "In & Out" menu. The OSC input must be activated globally (top right) and an input source must be created. The screenshot shows a simple configuration as an example.

screenshot

Encoder

After the first feedback, it becomes clear that the encoder functionality is more important than I would have thought at first. I bought a MidiFighter Twister to test the functions. Since the mapping was too cumbersome for me, I wrote another Chataigne module that facilitates the mapping for endless encoders like in the MidiFighter.
If you want other endless encoders supported, feel free to adapt the code and send it back to the project. This is the only way to create a good plugin. Unfortunately, I don't have another midi controller with endless encoders at my disposal and therefore can't do that.

BPM Faders

The BPM faders allow to send BPM values (beats per minute) to executors or masters instead of values between 0 and 100%. This allows speeds in grandMA3 to be synchronized with external sources as:

Sync Executors

GrandMA3 sequences do not know a beat grid and are therefore difficult to synchronize with Resolume, Ableton or CDJs without further tools. In this plugin there are the functions Add Executor to SyncList and Sync Executors to enable synchronization to beats.
Add Executor to SyncList Adds an executor to a list of executors to be synchronized. Sync Executors then restarts all executors on that list. Typically, Sync Executors is mapped to the beat signal, for example the new Bar trigger from Ableton Link. This way you can realize, for example, that dimmer phasers always have their maximum brightness on the kick. On freudundlight.de you can find an explanation of how you can use this function to realise a beat synchronisation between Pioneer CDJs and grandMA3.

Sequence Feedback from grandMA3

When OSC Input is configured and enabled, this plugin has the ability to read and track various parameters of sequences as they are acted upon in grandMA3.

Setup

Ensure that OSC Input parameter is enabled and that MA3 has an In & Out line configured for Send and Send Command to Chataigne's IP and Local Port.

Learning & Tracking

This plugin can listen for commands and changes to MA3 sequences, allowing you to create actions, mappings, and other workflows when -- for example -- a sequence fires, stops, its master fader changes, etc.

In order for Chataigne to know about sequences in your show and their various parameters, you first need to teach it. Switch on Learn from oscInput in the plugin parameters and fire a sequence event, such as a Go+, Temp, Flash, etc. The plugin's Values will now contain a Sequences container with your sequence number and the command that you triggered (and any associated values).

You only need to use Learn from oscInput during this training phase. As long as OSC Input is enabled and the plugin instance knows about your sequences, it will continue to receive and update whenever MA3 sends an OSC event.

The plugin features a special parameter in each sequence's value container called Running. As long as the plugin has simply learned about the existence of a sequence, it will attempt to track and follow any changes from MA3 (e.g. Go+, Temp, Flash, Black, Swop, fader movements, and so on) -- regardless of whether those parameters were added in the learning phase. If the plugin believes your sequence is on/running, the Running value will be true, and false when off/stopped. This can be especially useful in mapping sequences to status indicators.

About

A Chataigne module to control grandMA3 via OSC

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors