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.