Triggers
We start with a project containing an audio, click, note, timecode, and 2 trigger tracks.
Myelin Director can output two types of triggers:
It is also capable of triggering internal routings, with MIDI or OSC triggers as endpoints, using
In this example, we are going to create MIDI triggers for the 'Strobes' trigger track, and OSC triggers for the 'Blind Audience' trigger track, and for the 'Open in blue' note on the 'Lighting notes' note track.
Triggers can be configured for note tracks and trigger tracks, and be triggered the same way for every note and trigger(segment) on that track. Individual notes can also hold triggers, that just apply to that specific note.
We are going to use MA Lighting's grandMA3 software to demonstrate this functionality. The process on Myelin Director's side will remain the same for other receiving softwares.
The Protocol application is a very convenient tool for monitoring the MIDI/OSC triggers generated by Myelin. Please note that on a single device, an OSC port can only be used by a single application at a time.
We start with the following grandMA3 project.
The project only contains one group of lighting fixtures, and 3 sequences:
- Strobes
- Blind Audience
- Open in blue
MIDI triggers
We want to control the 'Strobes' sequence using the triggers on the 'Strobes' track in Myelin. First, we have to create two MIDI triggers for the 'Strobes' trigger track.
We pick the same MIDI output and note, for both triggers. The first MIDI trigger will be called 'On start' and will generate a 'Note On' message, whereas the second MIDI trigger will be called 'On end' and will generate a 'Note Off' message.
In order to have MIDI outputs available, they have to be enabled in the preferences of the application. Please check out the MIDI Preferences docs page, to learn how to enable MIDI outputs.
Now it is time to configure the receiving end, in this case grandMA3. In this example, we are using grandMA3 onPC, so we have to configure the MIDI input accordingly.
We open the onPC Local Settings.
Here we select the same MIDI in Device as we used for MIDI output in Myelin.
Now we have to configure grandMA3 to trigger the 'Strobes' sequence if the trigger from Myelin is received.
We open the In & Out configuration.
We select the MIDI Remotes tab, and enable the Enable Input button.
We insert a new MIDIRemote and make sure the MIDI channel and MIDI Index match the 'MIDI channel' and 'Note' configuration of the MIDI triggers in Myelin. We select the 'Strobes' sequence as our Target and use a Temp as our Key. This way, the sequence will be on for the period between the 'Note On' and 'Note Off' message.
The 'Strobes' sequence will now be triggered by playing back in Myelin Director.
OSC triggers
OSC triggers are very versatile, and can be used to control a wide variety of products.
Variables
In Myelin Director, you can leverage the use of variables in your OSC messages. By writing $variable, where 'variable' is a recognized variable name, Myelin will automatically replace the $variable text by the value of the variable.
The following variables can be used:
- $fadein = The fade in time of a note/trigger in seconds (1 decimal)
- $fadeout = The fade out time of a note/trigger in seconds (1 decimal)
- $duration = The duration of a note/trigger in seconds (1 decimal)
- $trackname = The name of the track
- $notename = The name of the note (only valid for notes)
In Myelin Director, three value types can be used:
- s for string
- i for integer
- f for float
OSC messages are constructed as follows:
/address, s, osc text, i, 10, f, 4.9 , where
- The address is /address
- The first value is of type string and has value "osc text"
- The second value is of type integer and has value "10"
- The third value is of type float and has value "4.9"
A type/value combination is always constructed like
,[type],[value]
Individual note trigger
In this example, we are going to control the 'Open in blue' sequence in grandMA3 by configuring an OSC trigger for the 'Open in blue' note in Myelin.
First, we create two OSC triggers, by clicking [Add trigger] and changing the Trigger type to OSC.
We pick the same OSC IP-Address and OSC-Port output and note, for both triggers. The first OSC trigger will be called 'On start' and the second OSC trigger will be called 'On end'.
For the start trigger, we use the following OSC message:
/cmd,s, on sequence "$notename" fade $fadein
Broken down, the information of the message is as follows:
- The address is /cmd
- There is one value, of type string, indicated by the s, and followed by its value on sequence "$notename" fade $fadein`. When the trigger is called, Myelin will replace the $notename and $fadein variables by their respective values.
For the end trigger, we use the following OSC message to turn off the sequence:
/cmd,s, off sequence "$notename"
The 'Open in blue' sequence will now be triggered by playing back in Myelin Director. It will fade in with the fade in time that we used for the note, and it will be turned off at the end of the note.
Trigger/Note track trigger
The same principle can be applied on the 'Blind Audience' trigger track, to trigger the 'Blind Audience' sequence in grandMA3.
Trigger on fade out
We want to fade out the 'Blinde Audience' sequence. In order to do that, we first apply some fade out time on the triggers.
Then, we create two OSC triggers, by clicking [Add trigger] and changing the Trigger type to OSC.
We pick the same OSC IP-Address and OSC-Port output and note, for both triggers. The first OSC trigger will be called 'On start' and the second OSC trigger will be called 'On fade-out'.
For the start trigger, we use the following OSC message:
/cmd,s, on sequence "$trackname"
For the trigger at fade out, we use the following OSC message to turn off the sequence with the fade time of the trigger:
/cmd,s, off sequence "$trackname" fade $fadeout"
Broken down, the information of the message is as follows:
- The address is /cmd
- There is one value, of type string, indicated by the s, and followed by its value on sequence "$trackname" fade $fadeout`. When the trigger is called, Myelin will replace the $trackname and $fadeout variables by their respective values.
The 'Blind Audience' sequence will now be triggered by playing back in Myelin Director. The sequence will start fading out 'On fade-out' for the fade-out time of the trigger.
Special triggers
Special triggers can be used to indirectly trigger other MIDI/OSC triggers in Myelin. A great usecase for this is camera switching, that will be demonstrated in the example below. We are using a video switcher that takes MIDI input, for putting in preview, cutting, and fading.
First, we put the lighting triggers and notes in our project in a Lighting group track, and create a Camera group track.
We create three camera note tracks.
We create the camera instructions, with the desired on-air times.
Note that moving or resizing content segments within a group snap to the start and end times of other content in the same group.
Now, we can start implementing the triggers. In a camera switching setup, with a preview and program bus, it makes sense to put the upcoming camera in preview as soon as we completed the cut or transition to the current on-air camera. So, for the camera notes we created, we would like the following pattern:
We start with CAM 1 in preview
- Cut to CAM 1, put CAM 2 in preview
- Cut to CAM 2, put CAM 3 in preview
- Fade to CAM 3, put CAM 2 in preview on fade completion
- Etc.
To achieve this, we have to use Special triggers. We add a Special trigger to every camera track, that triggers the 'Next track special' 'On fade-in complete'.
This causes the 'On special trigger'. triggers of the track with the next note's track to be triggered as soon as the fade-in of the current note is completed.
If the current note has no fade, the trigger will happen at the start.
Now we create track specific triggers to put the right camera in preview, triggered by the note in front of it. In our video switcher, CAM 1 is put in preview by a 'Note on' MIDI trigger for note 20. For the trigger moment, we choose 'On special trigger'. We repeat this process for all camera tracks, using their specific note number as configured in the video switcher. Now, when the fade-in, of a note has finished, the trigger to put the next camera in preview gets executed.
The only thing left to do, is configuring the the cutting and transitioning to put the preview camera in program. We configured this in our video switcher to be triggered, by a 'Control Change' on control 0. We use the 'During fade-in' trigger moment. This way, when there is a cut, the value 127 will be sent immediately, cutting to the camera. If there is a fade, the values sent will increase from 0 to 127 during the fade. This trigger is the same for all camera tracks.
We have now completely automated the video switching.
To help the camera operators make the intented shots, you can use the Myelin Client.























