yastefan / grandMA3-Chataigne-Module

A Chataigne module to control grandMA3 via OSC
GNU General Public License v3.0
23 stars 7 forks source link

Executors Sync Feature #12

Closed hepiyellow closed 1 year ago

hepiyellow commented 1 year ago

Hi,

First, I didn't really understand how to use this feature. How do I add executors to the sync list? I see the is a "Add Executor ToSync List" command. Should I add an action in a StateMachine with "Add Executor ToSync List" command, and then trigger it once?

Second, I think this feature should not be implemented in Chataigne at all. It can and should be a MA3 Plugin, since it is unrelated to external control. It is useful also with a console (without using MIDI controllers at all). Of course the grandMA3 Chataigne module can have a predefined command that send the plugin a sync action. (Or the user can simply create a Macro that calls the plugin's sync action, and trigger this macro using grandMA3 Chataigne module.)

japalie commented 1 year ago

You can have a Look at my Plugin gor MA3: https://drive.google.com/file/d/1j_2l9hJDk8M7NG22lkC0bT-PcbLSc84g/view?usp=drivesdk

may it helps you. I trigger it via a Button on my MIDI controller and on Software start it wilö then run in Background of the MA3 and sends updates.

Edit: Some parts were already programmed by someone else. I changed it to my needs.

yastefan commented 1 year ago

Hello, nice to see that there is interest in the plugin. I'll try to be clear about the sync feature. For a club setup, I wanted beat sync between the Pioneer CDJs, or Ableton and GrandMA. For the CDJs I use BeatLinkTrigger [1] with the Ableton link output. This way I can link the CDJs as well as sync with Ableton during a live session without changing anything in the mapping.

For the tempo this works without detours, but I also want the lamps to turn on on the kick (on the beat). So I had to find a way to restart a cue in a sequence on a beat time (1, 2, 3, 4) so that, for example, the first step of a phaser triggers on the beat. On the midi controller I can now decide for each executor on which beat it starts.

For me, this feature also belongs in any case in the plugin, because I can thus also determine for other software (Resolume, HeavyM, etc.) when an effect jumps over and that is in synchronization with the light.

Hope I could provide a little clarity and am of course open to improvements :)

[1] https://github.com/Deep-Symmetry/beat-link-trigger

yastefan commented 1 year ago

The usage looks like this. You add an executor to a synclist (for example, 1 for Beat 1) and then execute SyncExecutors when the trigger for Beat 1 comes from Ableton Link.

Of course, the feature is also interesting for consoles, but you need a PC anyway to get the beat signal from the CDJs, Ableton or other tools