Synchronizing Reaper Projects with AxeFX using midi: this is how

coldstar

Member
A bit of background:

I've been trying to find a way to use my LF controller to synchronize my AxeFX presets with whatever song is open in my DAW. So, for instance, if I step on the button that tells my AxeFX to load my Mysterious Ways patch, I also want my DAW to load my Mysterious Ways file. Seems like a pretty reasonable thing to want to do, especially live.

Incredibly, I could not find a DAW that would do this natively - that is, load a song file from a list when it receives a MIDI command. Ableton Live, which bills itself as "the live DAW" has no way load the next song in my set from a MIDI command, when I'm live. WTF.

[I was actually blown away to find numerous posts on numerous forums from well-heeled, professional musicians having to use ludicrous work-around solutions. The de-facto methods appear appear to be a) dump all your songs together sequentially in one file and use time markers to jump the transport bar back and forth, or b) dump all the songs in one file using different tracks for each instance of each instrument in each song, then use midi commands to turn groups of tracks off and on. Wow, that is cumbersome.]

This drove me back to Reaper, where I thought that with its zillion customization options and user-created features there might be a way to do it. And THERE IS.

To make this work, you neet the SWS Extensions. Download and install them: http://www.sws-extension.org/ We're going to use Resource Slots. But not so fast! By default, the "Load Project" action is only enabled for the first 4 slots, out of a possible 99 (to avoid cluttering up Reaper's action menu).

To enable the other slots, you have to edit the S&W.ini file. You can find it from inside Reaper using "Options -> Show Reaper Resource path in Explorer". Open the .ini file (with Reaper closed, otherwise it will come up blank) and look for the line "S&M_APPLY_PRJTEMPLATE=4". Change that "4" to "99", save and exit.

The next thing you want to do is name your project files so that you can automatically populate Reaper's resources slots, in case they are cleared for any reason. Put all of project files for all of the songs you might play live in a separate folder and rename them all so they have 2-digit prefixes - "01 - Mysterious Ways", 02 - That Other Song", etc.

Now go into Reaper and select Extensions -> Resources. Change the drop-down menu to "Projects". Right-click in the middle of the window and go Auto-fill -> Set Auto-fill Directory, and point it to the folder you made with all of your numbered live files in it. Now you can hit the auto-fill button in the top left of the window, and it should put each project file into a slot. (Up to 99 - if you have more than 99 songs that you want on tap for a show, I guess you need a second folder you can auto-fill from.) The numbers in the filenames ensure that the same project always lands in the same slot.

Now that you've got all your project files loaded into Resource Slots we'll configure Reaper to call them up using a unique midi command for each one. Go to Actions -> Show Action List. In the Filter box, type "open project" and you should see, part way down the list, the action for "Open Project, Slot 01. Select that action and then click "Add" in the shortcuts section in the bottom left.

Now you need to send Reaper the Midi command you want load the song in slot 01, and only that command. So if you've got any fancy-pants programming coming from your midi controller when it selects that song you'll need to clear it, or make a fresh preset that just sends one command. I wanted Reaper to march in lockstep with my AxeFX, so I used PC# 000 for slot 1, which causes Reaper to load the song in slot 01 from the same command that makes the AxeFX load preset 001. Reaper doesn't care which command you choose, so many different schemes are possible.

Now make a midi shortcut for slot 2, 3, 4 - as many songs as you've got.

Almost done, but one more step: if anything in the project file changes while you're performing (the tempo, for instance, if you tap it in) then Reaper will prompt you to save the file before loading the next one. Since we want it to load the next project without interruption, you need to go to Options -> Preferences. In the General settings at the very top of the list, you'll see a "Maximum undo memory use" setting. Change it to "0" and you will no longer get save prompts when you close a file. Note that this also disables Reaper's Undo function entirely, so you'll probably want to turn this back on if you're not playing live!

And there you have it - you can now load songs in Reaper in whatever order your set list specifies from your midi controller. Depending on the complexity of the project file and the speed of your computer, Reaper may lag behind if you're scrolling through songs quickly, so give a couple of seconds before you click over to the song you mean to land on. But it's workin' pretty good here!
 
It sounds like you already have a solution, but in case you didn't already try them, DAWs that are designed for this kind of use and might do what you're looking for include Mainstage, Cantabile, and Forte.
 
Hello,

I've set all my song with Reaper, and it act like a controler, Reaper change my different scene with CC, it works perfectly.
But I want to send a program change PC to the Axe at start of each song, but it doesn't work. Anybody has same issue, and how to resolve it?
 
I finally success, Some midi item doesn't work, I have to create them on other track and I don't know why.
 
  • Like
Reactions: HIO
Back
Top Bottom