If you need to play media on different computers at the same frame, you could synchronize them with a timecode.
Indeed, Millumin can handle two kinds of timecode :
- LTC : Linear Timecode is carried via an audio signal
- MTC : Midi Timecode 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.
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.
Important : please note that this feature is exclusive to Millumin V3.
1. 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.
2. Synchronize your timecode over 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.
Note : 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
3. Using your timecode in Millumin
Once your timecode is correctly adjusted, you can bind it to a timeline :
Or 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.
When your timecode is bound to a timeline for example, the time will be synchronized to the timecode. In the example below, Vezer's timeline is sending a MIDI timecode to Millumin's timeline. When jumping in Vezer's timeline, it will do the same in Millumin's one.
Please note that after a a jump in Vezer's timeline, it takes a few milliseconds for the 2 timelines to be resynchronized together.
4. Timecode 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.