Sync Setup - REAPER on a separate computer
Introduction
The following explanation and screenshots are related to REAPER version 6.73, but the steps will be similar for other versions.
The easiest way to provide Video Sync with incoming MTC/MMC data from another computer, is to setup a network MIDI connection using Apple's built-in Audio MIDI Setup tool to transmit all the MIDI data between the two computers. It is usually not necessary to buy a separate MIDI interface and cables to connect the MTC sending and receiving computers, although a cabled MIDI connection can be used if preferable. Since MIDI was developed in the 80s, it has a really low data rate. Therefore it should not be a problem to use network MIDI in a Wi-Fi environment.
A cabled ethernet network connection is the preferred method for reliability.
The following instructions assume that you have two Apple Macs: one with Video Sync; the other with REAPER.
Although not listed as a separate DAW Sync Setup Option, this Network MIDI setup incidentally also works flawlessly with Video Sync on the same computer.
If the REAPER computer is a PC, rtpMIDI is a free PC equivalent to Apple's network MIDI implementation. Download & setup instructions can be found here: http://www.tobias-erichsen.de/software/rtpmidi.html
Our thanks to Tobias Erichsen for this invaluable tool.
{width=80%}
Configuring Audio MIDI Setup on the REAPER computer to send MTC & MMC over the Network
On the REAPER computer, go to Applications > Utilities & open Audio MIDI Setup. The MIDI Network Setup window should appear:
{width=80%}
If the window is not shown, select Window > Show MIDI Studio & then from the MIDI Studio menu that appears, select Open MIDI Network Setup.
In older versions of Audio MIDI Setup where this option is not present, it can accessed by double-clicking the Network device icon in the default MIDI Studio window.
{width=80%}
In the My Sessions field top left, create a new session by clicking +.
Click the checkbox to the left of the name to enable the session.
Rename it (computer 1 name) MTC/MMC Send (or something similar) - e.g. MacProHDX MTC/MMC Send This name will automatically be copied to the Local name field.
The Local name is the name that appears on this local computer.
Copy this name & paste it in the Bonjour name field.
The Bonjour name is the name that is displayed on the other computers in the network.
Although a session can be used in either input or output directions, to avoid confusion it is recommended to stick to one direction by noting this in the session name, e.g. Send or Out.
MTC & MMC do not require separate Network sessions made for each - they can share the same session.
Set the Port: field to 5004.
Select Anyone in the Who may connect to me dropbox on the bottom left.
{width=80%}
Configuration is complete for the REAPER computer. This should not need to be set up again in future.
Configuring Audio MIDI Setup on the Video Sync computer to receive Network MTC & MMC
On the Video Sync computer, close Video Sync & open Audio MIDI Setup. Open the MIDI Network Setup window as described above. The REAPER computer should be visible in the Directory field - showing (computer 1 name) MTC/MMC Send with a green active circle to the left.
{width=80%}
In the My Sessions field top left, create a new session by clicking +.
Click the checkbox to the left of the name to enable the session.
Rename it (computer 2 name) MTC/MMC Receive (or something very similar)- eg MacbookPro MTC/MMC Receive.
This name will automatically be copied to the Local name field.
Copy this name & paste it in the Bonjour name field.
Set the Port: field to 5006.
Select Anyone in the Who may connect to me: selection field on the bottom left.
{width=80%}
Connecting the Network MTC/MMC Sessions
Now that the two Sessions have been created, the next step is to connect them.
The steps until this point should not need to be done again in future. The following simple steps to connect only need to be done once every time the computers are restarted.
With the (computer 2 name) MTC/MMC Receive session selected in the My Sessions box, select (computer 1 name) MTC/MMC Send in the Directory field, and hit the Connect button.
(computer 1 name) MTC/MMC Send should now appear in the Participants: field on the right.
{width=80%}
Regardless of which computer is chosen to Connect, only one of the computers needs to connect to establish the connection.
On the REAPER computer, (computer 2 name) MTC/MMC Receive should now also be seen in the Participants: window.
{width=80%}
If the (computer 2 name) MTC/MMC Receive session does not show up in the Directory list, try re-launch Audio-MIDI-Setup.
Video Sync MTC / MMC Setup
Launch Video Sync.
If Video Sync was open already, use the "Rescan Available MIDI Ports" button in the SYNC preferences.
To show the MIDI I/O options in Video Sync, first navigate to the SYNC tab of the Preferences window.
Set the Sync Source field to Other.
Next, select Network (computer 2 name) MTC/MMC Receive in both the MTC In & MMC In fields, as per the image below:
{width=70%}
REAPER Network MTC (MIDI Timecode) Setup
To enable MIDI Timecode to be sent to Video Sync, open the REAPER Preferences window by clicking on the REAPER menu & selecting Preferences....
From the Audio sub-category list on the left, click on MIDI Devices.
Locate & double-click the Audio MIDI Setup Session (computer 1 name) MTC/MMC Send entry in the MIDI outputs to make available list.
{width=70%}
In the Configure MIDI Output window that appears, activate both Enable output to this device & Send clock to this device by clicking the tick boxes to the left of these options so that they turn blue.
{width=70%}
Click on the OK button to close the Configure MIDI Output window.
The Audio MIDI Setup Session (computer 1 name) MTC/MMC Send entry in the MIDI outputs to make available list should now be showing as Enabled+Clock in the Mode column.
Click on the Apply button then the OK button to close the REAPER Preferences window.
Create a new track by clicking in the dark grey area to the left under the last track in the Session.
If desired, rename the track something like MTC / MMC.
Rewind the Timeline to the start of the Project.
From the Insert menu, select SMPTE LTC/MTC Timecode Generator.
{width=70%}
Double-click the white region that appears on the track at that location to bring up the Media Item Properties: Timecode Generator window.
Enable the box called HMSF in the top left of the window.
In the Position field, confirm that this is set to the start of the Timeline in REAPER.
In the Length field, select a duration for the timecode that runs as long as required for your video.
{width=70%}
Click on the Properties button at the bottom of the window to show the SMPTE Generator Properties window.
Enable the Send MIDI (MTC) option.
Ensure that the Start Time field is set to the same value as the start of the REAPER Timeline.
{width=70%}
Click on the Apply button then the OK button to close the SMPTE Generator Properties window.
In the mixer at the bottom, click the Route button on the right of the corresponding fader with the track name chosen earlier to show the Routing for track (trackname) window.
{width=70%}
Select (computer 1 name) MTC/MMC Send from the topmost MIDI Hardware Output field.
{width=70%}
REAPER Network MMC (MIDI Machine Control) Setup
Currently, REAPER does not natively support MMC output. In order to overcome this limitation, download a copy of mrlimbic's free JS script plug-in: MMC Locate, by clicking this link - navigating to the Raw link to the top right of the page, holding down the Control button & selecting Download Linked File from the menu item.
{width=70%}
Please ensure that the plug-in is downloaded exactly as outlined above. Failure to do so may download it in the wrong format (.txt or .HTML), which will corrupt the plugin & cause the plugin or UI not to load inside of REAPER.
Locate the downloaded file, called MMC locate.jsfx.txt in your Downloads folder & move it into the following folder:
(macOS drive)/Users/(your user name)/Library/Application Support/REAPER/Effects/utility
In REAPER, on the MTC track created earlier, click on the FX button to the right of the Track Name.
In the Add FX To Track window that appears, click the arrow to the left of the All Plugins window, to show the contents of that folder. Click on the JS folder. Click on the FX Menu item & select Scan for new plugins. Back in the Add FX To Track window, type MMC into the Filter: field. This will show the plugin on the right hand side of the window. To add it the track, double-click it, or select it & click the Add button at the bottom of the window.
{width=70%}
In the Frame Rate field of the MMC Locate plugin window that appears, set the correct frame rate according to the Timeline frame rate in Video Sync.
Set the Mode field to MTC Fullframe.
{width=70%}
Close the plugin window using the top right red window button.
On the corresponding track, click on the circular record arm button to the left of the track name.
Directly underneath the record button, set the Record mode field to Record: disable (input monitoring only).
{width=70%}
Please note that one limitation of using this plugin, is that due to a JS API limitation, REAPER's Pause button is not recognised and hence the timecode counters will still increment as if still in playback. To overcome this, please consult the Cockos REAPER Forums and documentation to find out how to map the pause key to a custom action that seeks the Edit cursor, then stops.
Our thanks to mrlimbic for this invaluable tool.
Enabling Synchronised playback
When hitting play or scrubbing within REAPER, both the incoming timecode field should now be seen incrementing & the timecode rate displayed within the Incoming TC section to the left of the main timecode counter in Video Sync.
{width=70%}
If the Sync button to the left of the transport buttons isn't already blue, click on it to activate it to follow external sync.
{width=40%}
Video Sync MTC/MMC sync is now online & ready to go. Hit play in REAPER and Video Sync will play back in sync.
Dealing with MTC sync with high frame rate content
Video Sync allows for synchronised playback of clips running at up to 60 frames per second. Being a standard from the 80s, MIDI timecode (MTC) does not support frame rates higher than 30 frames per second. To be able to play timelines with these high frame rate clips in sync to MTC, Video Sync will try to match the incoming TC at half the frame rate. For example, if the timeline has a 50fps clip, Video Sync will play it in sync if a 25fps MTC source is supplied.
In the timeline list, the timeline frame rate is shown here:
{width=60%}