Timecodes
If you need to play media on different computers at the same frame, you could synchronize them with a timecode.
- Principle
- Getting your Timecode in Millumin
- Synchronize Different Machines
- Using your timecode in Millumin
- As Interaction
- NTC
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 or a timeline 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 :
NTC
In addition to LTC and MTC, Millumin supports an experimental timecode that can be transmitted via the network : NTC.
For the moment, only the application TimecodeClock can generate such a timecode, but as the code is open-source here, this is meant to be implemented anywhere.