~~HEADLINE NUMBERING FIRST LEVEL = 3~~ ====== Controlling Reaper from Titan on the same PC ====== (inspired by Oliver Waits, December 2019) The idea is to control Reaper (see [[external:software_list|]]) in a similar way like [[external:winamp|]], i.e. start, stop, pause etc. ===== Prerequisites ===== - Titan PC-Suite, from v13 on (AvoKey required) - loopMIDI (see [[external:software_list|]], to route the MIDI signal from one program to another - Reaper (see [[external:software_list|]]) - macros to send MMC commands, see [[macros:example:midimachinecontrol|]] - at least one music track to play with ;-) ===== Make it run ===== ==== - loopMIDI ==== This needs to be started (usually: automatically when Windows starts). By default it provides a virtual MIDI port named ''loopMIDI Port'': {{:external:examples:loopmidi.png|}} ==== - Titan PC Suite ==== Launch Titan PC Suite, load the [[macros:example:midimachinecontrol|MMC macros]] and copy the macros you plan to use on buttons as you like: {{:external:examples:mmc_macros.png|}} ==== - Reaper ==== Launch Reaper and load a track. In the Options menu select Preferences - this opens the preferences window. Find ''MIDI devices'' in the Audio section. This should list ''loopMIDI Port'' as MIDI input: {{:external:examples:options_hardware.png|}} Right-click on ''loopMIDI Port'' input and either enable input for control messages from the menu... {{:external:examples:options_hardware_menu.png|}} ... or select ''Configure input...'' and make the settings there: {{:external:examples:options_hardware_window.png|}} Confirm the settings with ''OK'' to close the preferences window. ==== - Try it out ==== Essentially this should work straight away: in Titan, fire the macro ''MMC Play'' and Reaper should immediately start playing - but see below. This also works together with Reaper sending Timecode back into Titan, like described in [[external:examples:reaper timecode on same pc|]] Some caveats I found: * it looks like Reaper wants to be started internally at first before listening to MMC. Thus, you at first need to hit Play in Reaper and stop this with MMC - after this you can play/pause/stop from MMC as you like * reaper seems to be ignorant to device IDs: when changing the macros to a designated device ID (by defaukt it sends to ''7F'' which is All Devices) Reaper still listens and reacts, even with another ID selected in Reaper ==== - How to debug ==== If things do not work as expected then there are some tools which help finding the fault: === - loopMIDI === loopMIDI shows the number of transmitted data. This number increases with every command. If this number does not increase then Titan doesn't send data. {{:external:examples:debug_loopmidi.png|}} === - USB Expert Console === Open the USB Expert Console. This must show loopMIDI Port 1 as connected panel (top-left). Select the ''MIDI'' tab top-right, click ''Watch MIDI'', in the MIDI watcher window select MIDI Input an Raw MIDI. Now, as you send a command, it is shown in the MIDI watcher: {{:external:examples:debug_usbexpert.png?450|}} === - MIDI-OX === Install and launch MIDI-OX (see [[external:software_list|]]. From the Options menu select ''MIDI Devices''. Make sure loopMIDI Port is listed as MIDI Input but isn't mapped to any output (yes, you can create a feedback loop, and yes, you do not want to do this...) {{:external:examples:debug_midiox_1.png|}} From the View menu select ''Input Monitor...''. In this window, all incoming MIDI data are shown. You will see anything when you fire a command in Titan: {{:external:examples:debug_midiox_2.png|}}