Knowledge Base

REAPER on the same computer via MMC & MTC

Introduction

The following explanation and screenshots are related to REAPER version 6.73, but the steps will be similar for other versions.

Video Sync features virtual MIDI ports, which mostly removes the need to create network MIDI sessions in Audio MIDI Setup in order to connect to a DAW on the same computer. When Video Sync is launched, it will create virtual MIDI ports named Video Sync MTC In, Video Sync MMC In & Video Sync Trigger In - which will automatically be pre-selected in Video Sync, & visible in your DAW.

MIDI I/O with virtual ports selected

For this reason, it is advised to always launch Video Sync before launching the DAW. Failure to do so, may cause some of these settings to be reset to default - such that they need to be re-configured in REAPER again.

Some DAWs like Cubase for example do not reconnect the virtual ports automatically if Video Sync is opened after the DAW. In cases where this happens often, it may be better to consider setting up ports via Audio MIDI Setup on the same computer.

Video Sync MTC / MMC Setup

First in Video Sync, go to the SYNC tab in Preferences & set the Sync Method field to MIDI.

Next, make sure that all the ports are set to their default values Video Sync MTC In (virtual) & Video Sync MMC In (virtual) as per the image below:

MTC/MMC In Settings

REAPER 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 Video Sync MTC In (virtual) entry in the MIDI outputs to make available list.

Locating Video Sync MTC In Settings

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.

Configure MIDI Output window

Click on the OK button to close the Configure MIDI Output window.

The Video Sync MTC In (virtual) 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.

Inserting SMPTE LTC/MTC Timecode Generator

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.

Media Item Properties: Timecode Generator window

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.

SMPTE Generator Properties window

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.

Mixer Route button

Select Video Sync MTC In (Virtual) from the topmost MIDI Hardware Output field.

Routing for track window

REAPER MMC (MIDI Machine Control) Setup

To enable MIDI Machine Control 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 Video Sync MMC In (virtual) entry in the MIDI outputs to make available list.

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.

Click on the OK button to close the Configure MIDI Output window.

Click on the Apply button then the OK button to close the REAPER Preferences window.

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.

Raw download button

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.

Adding MMC Locate plug-in

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.

MMC Locate settings

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).

Record Enabling the track

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

The incoming timecode and the timecode rate should now be seen incrementing in the SYNC tab of the Preferences window when hitting play or scrubbing within REAPER.

Video Sync’s SYNC Preference showing incoming timecode

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.

Video Sync sync online button

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:

Timeline timecode frame rate display