Reaper constantly impresses me with how flexible and customisable it is. A simple example is its support for Actions. Pretty much every command you can invoke in the GUI (and a bunch more that you can’t) are defined as Actions. One of the nice things you can do with Actions is easily map them to hardware buttons on a MIDI controller (and on your computer keyboard as well).
As an example, my Axiom 25 has hardware Transport Controls, like this:
To map these to the Reaper Transport Controls is pretty straight-forward:
First, make sure Reaper is set to receive Control messages from your MIDI Controller. Click on the Options | Preferences menu and scroll down until you find Audio | MIDI Devices in the tree on the left hand side. Double-click on your MDII Controller in the MIDI inputs section on the top of the right hand side and make sure the second checkbox, “Enabled input for control messages” is ticked.
Next, figure out what Actions you want to invoke from which buttons. One way to do this is to hover the mouse over the button in the Reaper GUI and the Hint window that pops up will show you the Shortcut identifier that is assigned to it. Note int he screenshot below I’m hovering over the Play button and you can see it is assigned to the MediaKbdPlay shortcut.
Bear in mind though that Reaper gives you more options than are currently assigned to GUI buttons. If you go to the Actions | Show Action List menu, you’ll get a list of all Actions Reaper knows about, and a convenient Search box in the upper left corner. In my case, because my hardware transport buttons don’t have a Pause button, I instead chose to map it to the Play/Pause Action, so it could do double duty. It’s definitely worth a scroll through this list, although I will warn you it is LONG.
Anyway, once you’ve found the Action you want to use, select it and then click on the Add button in the Shortcuts section in the bottom left corner.
This will bring up the screen below. Notice it says to “type key or move controller” in the Shortcut box?
What are you waiting for? Press the Play button on your Hardware controller and you should see the Shortcut text change to reflect the MIDI message that was received. In my case, it looks like this:
Click OK and you should see that added to the list of Shortcuts back on the Actions screen. Click Close and you’re done.
Now when you click your Play button, Reaper should start to Play. Click it again and it’ll Pause. Here are the Transport Controls on my MIDI Controller and the Shortcuts I’ve got them mapped to:
- Loop – Transport: Toggle Repeat
- Rewind – Markers: Go to Previous Marker/Project Start
- Fast Forward – Markers: Go to next marker/Project End
- Stop – Transport: Stop
- Play – Transport: Play/pause
- Transport: Record
I also have some switches on my floor controller mapped so I can start recording with my feet for guitar parts.
6 Comments
Add Yours →Assume that I have mapped the faders and knobs of my MIDI controller keyboard to correspond with Reaper’s faders, knobs and other DAW-level functionality. Is there a way to override those mappings when I am directly editing a VST instrument? For example, the same knob that when viewing the mixing screen in Reaper, controls the pan setting of Track 1, would be reassigned to control (for example) the volume of the piano that I have put on track 3 and *currently* am viewing the interface for on the screen. Is there a way to make the MIDI mapping dependent on the situation like this?
Hi, is there a way to map midi knobs to seek? (filtering through the actions list I don’t see a transport seek I can use)
Sorry, way-delayed response. You probably have a solution already, but in case Google lands anybody here with the same problem, there are a couple of actions which might be what you want (kinda depends what you mean by seek):
– Transport: Scrub/jog (MIDI CC relative/absolute only)
– Transport: Scrub/jog fine control (MIDI CC relative only)
Hope that helps
Thanks friend. You solved my serious problem. I needed to launch music from my PC during live sessions, using a drum trigger (Alesis SamplePad4). I didn’t really know which settting to use. Your post has solved my problem. thank you so much.
I also have an old Axiom 25 that I almost sold for almost nothing. I’m beginning to use Reaper and it’s been fantastic to find your tutorial. Thanks!
I realise this is a long time after the last post, but I have the same issue – controlling Reaper’s transport using an external keyboard, in my case an M-Audio Keystation49 mk3.
Frustratingly, I did have them (and the direction buttons) working at one point but now they are not, and I don’t know why. My point here is that when I get to the point of choosing a shortcut in the “Keyboard/MIDI/OSC input” window, the transport buttons don’t register. Other controls do, just the transport ones are dead. I’m guessing there is some other process via which they operate?