The main feature of Video Slave 3 is its ability to playback movies in sync to external timecode sources. MIDI Timecode (MTC) is used for synchronized playback, MIDI Machine Control (MMC) is used for locating while not playing and scrubbing. As a timecode source, you can use any kind of device or software that can supply MTC or MMC. In this tutorial, we will assume you're using one of the standard Digital Audio Workstations that can supply both MTC and MMC.
Note: There's a persistent issue with Pro Tools loop playback and MTC. To enable synchronized playback also when looping, you will need to setup Video Slave as a HUI remote - either using the built-in virtual MIDI ports or by setting up additional network MIDI ports for HUI.
Video Slave overview
There are basically a few steps to the setup. To start, launch Video Slave and import a movie by either dragging it into the left part of the window or by using File -> Add Movie to Playlist. It should now look similar to the window below.
The main window consists of different sections. At the top, there's a control bar containing transport controls on the left side. Next to it, there are timecode info boxes showing the incoming timecode along with the timecode rate and the clip timecode in the middle. On the left side of the window's body, you see the playlist view. This currently only shows information about the one movie that we just imported (more information on the playlist can be found here). On the bottom of the window, you see the track view showing information about the currently loaded movie's video and audio tracks and the visual events. For more information on the main window, there's a separate article here.
When importing a movie into Video Slave, it extracts information about the movie's timecode and video frame rate, the movie's start and end timecode (if none is set within the movie, a default timecode is applied) but also about the video and audio tracks automatically. After importing the movie, you can start playback, step through the movie frame by frame, assign audio outputs, setup overlays etc. For synchronized playback though, a few settings are needed.
Video Slave - MIDI Timecode/MIDI Machine Control setup
Video Slave plays back movies in sync using MIDI Timecode (MTC) and additionally uses MIDI Machine Control (MMC) for scrubbing and locating while not playing. It doesn't matter for Video Slave if the MIDI information is coming from a separate machine or from the same machine. It also doesn't matter if the timecode comes from a physical MIDI interface or through the network using OS X's built-in network MIDI. You only need to tell Video Slave where the MIDI data is coming from.
To do so, open the preferences and select the "General" tab (if it isn't already shown).
If you want to use Video Slave on the same machine, we recommend using the virtual ports Video Slave creates automatically. Using them doesn't require any additional setup steps. If you're using a physical MIDI interface receiving MIDI information from another machine, you can also just select that here. If you want to use network MIDI, you need to create a MIDI port first before you can select it in the dropdown menus. There's an extra article for you discussing the few extra steps needed. It is of course ok to connect the same input to both the MTC and the MMC In.
DAW MIDI Timecode/MIDI Machine Control setup
What you need to do to prepare your DAW to actually send MIDI timecode and MIDI Machine Control depends on the DAW you're using. We prepared a separate article to give you more information about it.
Once your DAW is setup and the MIDI inputs within Video Slave are configured correctly, there's not much more you need to do to start synchronized playback. You should now see the incoming timecode and the timecode rate changing when you hit play or scrub within your DAW.
But, as you can see in our example, the clip timecode in the middle doesn't follow the incoming timecode yet. The main reason is because we didn't tell Video Slave to do so. Simply click on the leftmost button of the transport controls and Video Slave should now follow and playback in sync. If you also setup MMC, it should now also follow the locate commands while not playing.
If the incoming timecode shows and the lock is turned on (the button should be blinking) but Video Slave doesn't follow, there are a couple of things to look out for.
- Timecode rate mismatch
MIDI Timecode and MIDI Machine Control messages both don't only carry the actual timecode address but also the timecode frame rate. It is important that the incoming timecode frame rate matches the frame rate of the movie that should play in sync. To make sure, please check both the timecode frame rate of the movie in Video Slave and the timecode output setting in your DAW.
- Timecode range mismatch
When importing a movie into Video Slave, the application tries to read the movie's timecode track to determine its intended start and end timecode position. If it can't read a timecode track from the movie, it will apply the default start timecode which can be set from the preferences. It is often helpful to think of setting the start timecode of a movie in Video Slave as moving a clip on the timeline in your DAW session. Basically, it's exactly the same. In your DAW, you select the timecode being sent out at a defined bar position (if you're not using timecode rulers). It is then however important that you set your movie in Video Slave to the exact same timecode range. As an example: if your DAW sends timecode information starting at 01:00:00:00 and Video Slave's movie start timecode is set to 10:00:00:00, the movie will only play once your DAW reaches the 10:00:00:00 mark. There are two ways of handling this scenario. The first is to change the timecode range of your DAW or to set the timecode range of the movie within Video Slave. The latter can be done easily by clicking the "Edit TC" button as pictured above.