Timecodes

If you need to play media on different computers at the same frame, you could synchronize them with a timecode.


Principle

Millumin can handle two kinds of timecode :

  • LTC, Linear Timecode that is carried via an audio signal
  • MTC, Midi Timecode that is carried via a MIDI signal

For info, you can generate a LTC audio-file on this website. Or you can use TimecodeClock, the application we created to generate timecodes, see this article : Free Applications

Note that some Macintosh does not have a audio input. But you can use an USB audio-card to get your audio signal in. Even cheap devices (less than US$20) will work perfectly for this purpose.

Getting your Timecode in Millumin

To do so, open the device-panel (CMD+K) and go to the timecode tab :


Then click on the + button and choose the kind of timecode you want to get in Millumin :

In the case of a LTC timecode, you need to select from which audio device you receive the timecode, and from which channel. Indeed, audio devices can have multiple channels : for example, if you device is stereo, it have two channels.

Important : on macOS Mojave (10.14) and higher, you need to authorize Millumin to capture audio. A popup will prompt you to do so, but if you miss-clicked, you need to re-authorize Millumin in macOS System Prefrences / Security & Privacy / Privacy / Microphone.

In the case of a MTC timecode, you need to select its MIDI source.

Synchronize Different Machines

Here is the different parameters you have to configure your timecode :

  • free wheel : set after how many seconds the media will stop, if he does not receive a timecode anymore.
     
  • delay : to adjust the delay between the timecode received on this machine and the other machines. This is the parameter that will allow you to synchronize accurately your different machines.
     
  • test card : to display a test card displaying the timecode, a blinking circle with a beep to help synchronize your machines.


To synchronize your timecode on your different computers, activate the test card on each one, then, adjust the delay until the circle/beep matches on each machine. For an easier setup, use one computer as a reference, then synchronize each computer regarding this one.

Also, you can take a picture of the different test card to measure the delay of each computer.
 Please note that the timecode is displayed as "hours : minutes : seconds : frames", but the delay is expressed in milliseconds.

So if your timecode is running at 24 fps, a frame is equal to : 1000/24 = 41,67 milliseconds.
 For 25 fps : 1000/25 = 40 milliseconds.
 For 30 fps : 1000/30 = 33,33 milliseconds.

Using your timecode in Millumin

Once your timecode is correctly adjusted, you can bind it to a timeline :

When your timecode is bound to a timeline for example, the time will be synchronized to the timecode. In the example below, Vezer timeline is sending a MIDI timecode to Millumin timeline. When jumping in Vezer timeline, it will do the same in Millumin one.

Please note that after a a jump in Vezer timeline, it takes a few milliseconds for the 2 timelines to be resynchronized together.


You can also bind it to a movie in the dashboard :

Of course, for each movie, you can adjust the start time property, so your movie does not start when the timecode starts, but later. For example, if your movie must begin at 1 hour, you can set the start time to 01:00:00:00.

As Interaction

You can also use a timecode to perform an action in Millumin (such as launching a column, controlling a property, ...).

Open the Interaction-panel (CMD+M) then click the + button to create one :