Skip to content

Triggers

Myelin Director can output two types of triggers:

It is also capable of triggering internal routings, with MIDI or OSC triggers as endpoints, using

Triggers can be configured on trigger tracks (every trigger clip executes the same triggers), note tracks (every note clip executes the same triggers), note clips (an individual note can have a specific trigger).

MIDI triggers

We can for example control the auto-tunes's key using MIDI. We create notes for every key we want to use.

We create a note track, and create note clips for the key changes.

We add a MIDI trigger and pick the a MIDI output and MIDI note that the auto-tune expects for the specific key.

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.

We can test the trigger by pressing the small "Play" icon in the trigger. If everything is setup correctly, the auto-tune should make the switch.

We can monitor the outgoing MIDI, by enabling the right sidebar, in OSC/MIDI log mode.

Playing back triggers the key changes, when the playhead passes a trigger. However, we probably also want to change to the correct key if we do not start playing back precisely at the start of the song. To do this, we enable Trigger tracking (menu bar -> Options -> Trigger tracking). Trigger tracking is enabled by default. We also choose Span for the track's Content duration mode, and enlager the last clip, to span until the end of the song.

Now, starting anywhere in the song, the right key's MIDI note is triggered.

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:

  • string
  • integer
  • float

Assume an Auto-Tune device can be controlled via OSC by sending a string containing the musical key to the /key address. The Auto-Tune expects the key to be formatted as strings such as "Am" or "Bmaj".

For demonstration purposes, we show OSC controlling a hypothetical Auto-Tune. In practice, OSC can be routed to MIDI (via Companion or other tools) to control pitch plugins or synthesizers.

We duplicate the track that was created in the MIDI section of this manual, and remove the MIDI triggers on the note clips.

By naming note clips using this same formatting, the \$notename variable can be used directly in the OSC message. This allows the musical key to be changed automatically as different notes are triggered.

In order to have OSC outputs available, they have to be created in the preferences of the application. Please check out the OSC docs page, to learn how to create OSC outputs.

We can monitor the outgoing OSC, by enabling the right sidebar, in OSC/MIDI log mode.

Special triggers

This example explains how to use special triggers to control a video switcher using MIDI. For controlling ATEM video switchers, please check out the Video Switcher track docs page. The principle of special triggers, as shown in this manual, is still relevant.

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 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

  1. Cut to CAM 1, put CAM 2 in preview
  2. Cut to CAM 2, put CAM 3 in preview
  3. Fade to CAM 3, put CAM 2 in preview on fade completion
  4. 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.