The SWS / S&M extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc.
It is a collaborative and open source project.

SWS/S&M Extension


ReaConsole is a keyboard command interface for some common track tasks in REAPER.  You can also check out the "official" Reaper forum thread.

Making your own actions out of ReaConsole commands
Known Issues/Limitations


(*) You can swap both shortcuts vian an option of the context menu.


v   Volume trim - parameter in db of change
V   Set volume - parameter in db
p   Pan trim - parameter in % of change
P   Set Pan - parameter in %, negative pans left
o   Solo
m   Mute
a   Arm
h   Phase
f   FX enable
x   Add FX - parameter is FX name, see details here
s   Select tracks
n   Set track name - parameter is track name
b   Prefix the track name - parameter is the prefix
z   Suffix the track name - parameter is track name
i   Set record input - parameter is # for rec input.  's' suffix sets stereo input.  'm' suffix sets MIDI input (all HW).  '-' suffix sets input to mono tracks and auto increments.
l   Set number of track channels - parameter is number of channels: 2-64, must be even.
c   Set track color - parameter is a # of a custom color (1-16) or a common color name (red, blue, etc)

Non-track related commands:
/   Send local OSC messages (as if it was sent by a device on the network, see details here)
!   Add an action marker at the edit cursor with the supplied command #/string

Many commands (o, m ,a, h, s, f) can be prefixed with '-' or '+' to force disabling/enabling the desired setting.  Also, using the command in uppercase will use "exclusive" mode where the setting will be enabled on the desired tracks and disabled on all other.

There are a couple modifiers you can place after the command ID: A slash '/' will cause actions to take place on the children (of folders) of the desired tracks.  An exclamation point '!' will invert the track selection.

A full command string consists of the command character itself (or +/- prefix and then the one character command), followed immediately by the track "ID" that you would like to affect.  If a parameter is necessary, follow the track id string with a space and then enter the parameter.  If no tracks are specified, the currently selected tracks are affected.   You can force ReaConsole to separate the track name from the parameter with a semicolon ';'.   See examples for details.

Tracks that are affected can be specified by:

  1. Their number (the order in the TCP, or label in the MCP)
  2. Their name
  3. The beginning of the unique track name
  4. A range of numbers (e.g. 1-3)
  5. Using the wildcard character '*' (*word for matching end of name, word* for beginning, *word* for anywhere)
  6. A comma separated list of any of the above
  7. Using the keyword 'all' or a singular '*' for all tracks

If multiple tracks have the same name, they will all be affected.

For the commands that require a parameter, such as the volume/pan/name/input commands, follow the track(s) parameter with a value for the command.  The value must have a space or semicolon before it, or if you've omitted the track id field you can enter the parameter right after the command.  The semicolon ';' can be used to explicity mark the end of the track identifiers and start of the parameter.   This is useful if you want to select a track that has a space in the name.


mbass          Toggles mute on the track(s) labeled exactly "bass"
-mjazz bass    Turns off mute of the track(s) labeled exactly "jazz bass"
O1,3-5         Sets solo (in-place) on for tracks 1, 3, 4, 5; all other tracks unsoloed.
obass*         Toggles solo for all tracks starting with the text "bass".
+a*vocals      Arm recording on all tracks ending with the text "vocals".
-a*            Turn off recording arm on all tracks.
v*gtr* -1      Turn down the volume by 1 db on all tracks with "gtr" in the name.
V0             Sets the volume for selected track(s) to 0.0db.
i2             Set rec input to #2 on selected track(s).
i1s            Set rec input to stereo 1-2 on selected track(s).
i1m            Set rec input to MIDI channel 1, all available devices, on selected track(s).
i1-10 1-       Set rec input on tracks 1 through 10 to hardware inputs 1 through 10.
n;Gtr Lead     Name selected track(s) "Gtr Lead".
nGtr Gtr2      Rename all tracks labeled "Gtr" to "Gtr2".

Making your own actions out of ReaConsole commands

The Cycle Action editor features an instruction "CONSOLE" to run ReaConsole commands, see details here.

Known issues/limitations

  1. Solo-in-place is always assumed, even if you have it turned off in REAPER preferences.
  2. Track names are always matched case-insensitive.
  3. Command shortcuts above aren't configurable.
  4. Track names with strictly numerical names or containing '*', '-', ',', '/', or ';' can't be selected reliably by name.