Filetype Descriptions
Index
Introduction
MetadataCache
Reaper-dxplugins[64].ini - caches the DirectX-Plugin-information(Windows)
reaper-extstate.ini - stores external states from scripts and Reaper-plugins.
Reaper-fxfolders.ini - manages the "My Folders"-section for FX-selection dialogue
Reaper-kb.ini - stores custom ActionCommandIDs, Script/Action-Descriptions, Shortcuts(Key/Midi)
Reaper-menu.ini - stores menu and toolbar customization
Reaper-mouse.ini - stores Mouse modifier settings
Preset-Files - stores presets for Audio/Video-Plugins
Reaper-vstplugins[64].ini - caches the VST-Plugin-information
ReaperChanMap - exportfile, that stores channel aliases for hardware channels
ReaperConfigZip - configuration-export-files
ReaperFileList - The database-files for the Media-Explorer
ReaperIDETheme - stores the color-theme of the Reaper-ReaScriptIDE
ReaperKeyMap - export of selection of Reaper-kb.ini-entries
ReaperMenu exportfile of one toolbar or menu
ReaperMenuSet - export of reaper-menu.ini
ReaperMouseMap - export/import file for Mouse modifier
RfxChain - (export-)file that contains settings for a chain of FX
Reaper-convertfx.ini - the FXChain for the Batch Converter
reaper-defpresets.ini - stores the names of the default-preset each plugin shall use
Introduction
Reaper does manage and include a lot of human-readable files, that give you the chance to change Reaper even further. With many of them being changeable, you have more chances to customize(or even debug your configuration of) Reaper to your liking, beyond the menus and APIs that Reaper provides.
Most of them are stored as .ini-files, so they should be easily spotted. Others aren't as easily identified as customizeable and need more knowledge in how to dig into them.
They are covered in this section.
CAUTION!
Create a backup of a file, before you change it, as some changes in the files themselves can destroy the configuration of Reaper or your projects.
Be aware, that a lot of information is probably still missing in this documentation. Keep that in mind!
Reaper-kb.ini (as of Reaper 6.59)
Stored in Reaper-ressources-folder or in the Reaper-Application-Folder(in portable installations)
In the file Reaper-kb.ini, the custom shortcuts, scripts and acts, their descriptions, sections-association and Action-Command-IDs are defined.
The reaper-kb.ini does NOT store OSC-Keybindings or FX-shortcuts, they are stored in reaper-osc-actions.ini or reaper-fxoptions.ini respectively.
Entries in Reaper-kb.ini seem to overwrite entries, defined within Reaper.
Every entry must be written in it's own line. If you put two or more definitions in one line, even correctly after another, they will be ignored by Reaper.
Lines with nothing or some kind of text seem to be ignored by Reaper, as long as they don't follow the scheme at all. They will be deleted, when you associate a new shortcut within Reaper, leading to the file Reaper-kb.ini newly written.
Lines that are not correctly in their syntax, are normally ignored by Reaper. They can, however, lead to weirdly interpreted entries in the Action Command List. They might change, if you create a new shortcut within Reaper, leading to the file Reaper-kb.ini newly written. The "newly" changed entry is probably useless. So, if you're testing shortcuts you write into Reaper-kb.ini by hand, keep a "backup-copy" of it, or you might lose it in case of syntax errors.
The order, in which Reaper includes new entries seems not to follow a logical scheme. Especially KEY-entries seem to be included without any system at all(sometime at the beginning, sometimes at the end, sometimes inbetween). I think the order might reflect the history of when a certain shortcut was added by the developers into Reaper itself, but that needs more research.
The file is written with CR-LF at the end of each line. That is important, if you want to do file-comparing in diff-/versioning-tools as e.g. github.
When you change shortcuts within Reaper, and the Reaper-kb.ini is rewritten, the order of the entries will be changed by Reaper.
If you want to define actions/scripts/key to multiple sections, you need to put multiple identical entries of a action/script/key WITH the parameter for the section changed only. Sections define, whether a action/script/key appears in a specific section of the ActionListWindow as well as in the selection for the menu-editor. For instance, if there's no entry for an action with the section set to MIDI-Editor, then you can't add this action to MIDI toolbars or menus. Even writing them into reaper-menu.ini by hand will not work and lead Reaper to simply ignore it.
ACT - Action
SCR - Script
KEY - Key/Shortcut/MIDI-Note - Every single shortcut has it's own entry for a given Action Command ID
Actions(ACT):
The "Action Command ID" for a defined ACT must be unique(for each section), or Reaper uses only the first ACT using a given Action Command ID; this goes for ACTs with the same actions([ActionCommandID]) defined. If you have associated an "Action Command ID" to two different ACTS with different actions([ActionCommandID]) defined, both will be used, but only the first one keeps the given "Action Command ID", while the others will get new Action Command IDs associated by Reaper.
ACT a b "Action Command ID" "Description" ActionCommandID [ActionCommandID] [ActionCommandID] ...
a - various settings for new actions:
- &1 consolidate undo points
- &2 show in Actions-Menu
- &16 &32 - Show as active if all component actions are - checkbox
- 16 0 - unchecked
- 0 0 - Active
- 0 32 - Active or indeterminate
b - Section ID, in which this action can be used. Only the numbers below are allowed, any other number may lead to the entry be removed, if reaper-kb.ini is rewritten by Reaper.
0 - Main
1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Toolbar-buttons with this action associated appear but don't work.
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer
"Action Command ID" - your defined Action Command ID for this Action. Must be in quotes " ".
"Description" - a description for the Action. If multiple Actions have the same name, Reaper will show the second one as "Description(2)"
ActionCommandID...[ActionCommandID]... - one or more Actions/Scripts (write here their correspondent ActionCommandIDs or CommandID-numbers) you want to have executed, when this Action is triggered. Maximum length for the whole ACT-entry is 1023 characters. ActionCommandIDs or CommandID-numbers that exceed that length will be cut short(maybe even in the middle of an ActionCommandID-string), when reaper-kb.ini is rewritten. More actions can be included within Reaper temporarily, but they will not be saved, if the ACT + all the information including ActionCommandIDs, etc after it exceeds 1023 characters in total.
Scripts(SCR):
If you have given an ActionCommandID to more scripts(associated to only one section), the first script in the Reaper-kb.ini having the given ActionCommandID, will be used in Reaper.
If you need to have a single script twice in Reaper within the same section, give it individual ActionCommandIDs.
If you have given multiple scripts the same ActionCommandID, only the first gets the ActionCommandID, while the others will get a new one by Reaper!
SCR a b ActionCommandID "ScriptDescription*" Scriptname.lua|.py
a - leave it at 4 or one of the numbers below, as most other number makes this script unrunnable, though other settings seem to have an effect, though useless when the script doesn't run. 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu, 4 shows a "Instance already running"-dialog-window(standardsetting), 200 and above (mostly) makes the entry disappear in Reaper and within the Reaper-kb.ini, if the file is rewritten by Reaper.
4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running
260 - always Terminate All(!) Instances, if you try to run another instance of a script, that's already running. When no instance is running, it simply starts the script.
516 - always start a New Instance of the script, that's already running
b - Section ID, in which this script can be used. Only the numbers below are allowed, any other number may lead to the entry be removed, if reaper-kb.ini is rewritten by Reaper.
0 - Main
1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work.
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer
ActionCommandID - your defined ActionCommandID for this script
"ScriptDescription*" - must be in quotes " ". If a is set to 4 and you begin the description with "Custom: ", Reaper will show "Scripts: " in the description-fields of the "Show-Action-List"-dialogue. Reaper seems to like to end a description with a *, though it seems to work without it as well.
Scriptname.lua|.py|.eel - the filename of the script. Reaper doesn't check, whether the actual file exists!
Keys and Shortcuts(KEY):
Defined Keys and Shortcuts must be unique within their section, or the last association of a given shortcut in the Reaper-kb.ini overwrites all prior given associations.
KEY ModifierValue Key_Note_Value _ActionCommandID section
The system, with which Reaper stores it's shortcut-values is quite odd and doesn't seem to be a logical
system per sé. In fact, some of the rules (especially for odd and even modifier-values described below), may be wrong in edge-cases.
Check twice, before accepting these rules as given.
ModifierValue - 0-256, after that, it's repeating itself
Key_Note_Value - 0-255 or 0-65535(with MIDI XX YY YY), after that, it's repeating.
The following modifer-values exist:
Odd Modifier-Values 1-127 (1, 3, 5, ..., 123, 125, 127)
The Note/Key-Values go from 0-255 and include the Modifier, means:
0 65 is "nothing" "Shift+A"
After 255, the codes repeat themselves every 256 values, but this time pure ASCII without(!) the modifier.
There's an exception, though: the key-values 32801 to 32815 have additional keys like PgUp, PgDn, Ins, Del, Home, End, etc.
Only useful ASCII-codes can be associated, means, ASCII-codes that are represented as a key(but not necessarily on english-keyboards!). Those modifier-values, who include the modifier do not include them necessarily in a logical way, means: even if some act like Shift+A, some others may act as e.g. Ctrl+Shift+Alt+Keyvalue. Why that is, needs more research.
Even Modifier-Values 0-126 (0, 2, 4, 6, ..., 122, 124, 126)
The Note/Key-Values are pure ASCII and go from 0-255 and don't(!) include the Modifier, means:
5 65 is "Shift" "A"
After 255, the codes repeat themselves every 256 values
Only useful ASCII-codes can be associated, means, ASCII-codes that are represented as modifier+key. Such a combination must not be necessarily available on an english keyboard!
MIDI Chan X Note Y - 144 to 159
The Note-value Y is a value between 1 and 127. Higher values repeat themselves every 127 values,
that means, if you use Note 0 and 128, it will only use 128 as note 0, not 0 anymore. This is to
avoid using one note multiple times.
That means, 0 is note 0, 1 is note 1, ... , 128 is note 0, 129 is note 1, etc
The Modifier stands here for the channel-number, with 144 for channel 1 to 159 for channel 16
MIDI Chan X CC Y - 176 to 191
The Note-value Y is a value between 1 and 127. Higher values repeat themselves every 127 values,
that means, if you use Note 0 and 128, it will only use 128 as note 0, not 0 anymore. This is to
avoid using one note multiple times.
That means, 0 is note 0, 1 is note 1, ... , 128 is note 0, 129 is note 1, etc
The Modifier stands here for the channel-number, with 176 for channel 1 to 191 for channel 16
MIDI Chan X PC Y - 192 to 207
The Note-value Y is a value between 1 and 127. Higher values repeat themselves every 127 values,
that means, if you use Note 0 and 128, it will only use 128 as note 0, not 0 anymore. This is to
avoid using one note multiple times.
That means, 0 is note 0, 1 is note 1, ... , 128 is note 0, 129 is note 1, etc
The Modifier stands here for the channel-number, with 192 for channel 1 to 207 for channel 16
MIDI Chan 1 Pitch - 224 to 239
The Modifier stands here for the channel-number, with 224 for channel 1 to 239 for channel 16
Note-Values seem to have no effect here
MIDI XX YY YY - 128 to 143, 160 to 175, 208 to 223, 240 to 254
Notevalues(YY YY) go from 0 to 65535 written in hexadecimal, where the XX is a hexadecimal representation of the Modifier value.
They appear for the modifier-values 128-143, 160-175, 208-223, 240-254.
The hexadecimal representation of the YY YY-note-values is reversed, with the first Y for the lower bits, the second for the higher bits of the hexadecimal value.
Special Modifier 255
This modifier is the only one, that includes special modifiers, like MultiZoom, Mousewheel, Horizontal-Mousewheel, MediaKbd-keys
The following Key/Note-Values are special:
When MultiZoom is enabled in the Preferences->Keyboard/Multitouch-page:
72=MultiZoom
73=Ctrl+MultiZoom
74=Alt+MultiZoom
200=MultiZoom
201=Ctrl+MultiZoom
202=Alt+MultiZoom
203=Ctrl+Alt+MultiZoom
204=Shift+MultiZoom
205=Ctrl+Shift+MultiZoom
206=Alt+Shift+MultiZoom
207=Ctrl+Alt+Shift+MultiZoom
When MultiRotate is enabled in the Preferences->Keyboard/Multitouch-page:
24=MultiRotate
25=Ctrl+MultiRotate
152=MultiRotate
153=Ctrl+MultiRotate
154=Alt+MultiRotate
155=Ctrl+Alt+MultiRotate
156=Shift+MultiRotate
157=Ctrl+Shift+MultiRotate
158=Alt+Shift+MultiRotate
159=Ctrl+Alt+Shift+MultiRotate
When MultiSwipe is enabled in the Preferences->Keyboard/Multitouch-page
Multitouch-Swipe-Horizontal:
40=MultiHorz
168=MultiHorz
169=Ctrl+MultiHorz
170=Alt+MultiHorz
171=Ctrl+Alt+MultiHorz
172=Shift+MultiHorz
173=Ctrl+Shift+MultiHorz
174=Alt+Shift+MultiHorz
175=Ctrl+Alt+Shift+MultiHorz
Multitouch-Swipe-Vertical:
56=MultiVert
184=MultiVert
185=Ctrl+MultiVert
186=Alt+MultiVert
187=Ctrl+Alt+MultiVert
188=Shift+MultiVert
189=Ctrl+Shift+MultiVert
190=Alt+Shift+MultiVert
191=Ctrl+Alt+Shift+MultiVert
Horizontal Mousewheel:
88=HorizWheel
90=Alt+HorizWheel
216=HorizWheel
217=Ctrl+HorizWheel
218=Alt+HorizWheel
219=Ctrl+Alt+HorizWheel
220=Shift+HorizWheel
221=Ctrl+Shift+HorizWheel
222=Alt+Shift+HorizWheel
223=Ctrl+Alt+Shift+HorizWheel
"normal" Mousewheel:
120=Mousewheel
121=Ctrl+Mousewheel
122=Alt+Mousewheel
123=Ctrl+Alt+Mousewheel
125=Ctrl+Shift+Mousewheel
248=Mousewheel
249=Ctrl+Mousewheel
250=Alt+Mousewheel
251=Ctrl+Alt+Mousewheel
252=Shift+Mousewheel
253=Ctrl+Shift+Mousewheel
254=Alt+Shift+Mousewheel
255=Ctrl+Alt+Shift+Mousewheel
MediaKeyboard-Keys:
They are the only key-values in modifier-value 255, that continue above of 255, starting with
the key-value 232 every 256 values.
The key-value 232 as well as 13800 and above, aren't set, recognizable with ?? in the shortcut-description in the action-window.
For additional keyboard-modifiers, add the following values to the Modifier-Value:
+1=Ctrl+
+2=Alt+
+3=Ctrl+Alt+
+4=Shift+
+5=Ctrl+Shift+
+6=Alt+Shift+
+7=Ctrl+Alt+Shift+
example: 1002 is Alt+MediaKbdBrowseRefr, 1003 is Ctrl+Alt+MediaKbdBrowseRefr, etc.
The following key-values are valid.
232 MediaKbd??
488 MediaKbdBrowse-
744 MediaKbdBrowse+
1000 MediaKbdBrowseRefr
1256 MediaKbdBrowseStop
1512 MediaKbdBrowseSrch
1768 MediaKbdBrowseFav
2024 MediaKbdBrowseHome
2280 MediaKbdMute
2536 MediaKbdVol-
2792 MediaKbdVol+
3048 MediaKbdTrack+
3304 MediaKbdTrack-
3560 MediaKbdStop
3816 MediaKbdPlayPause
4072 MediaKbdMail
4328 MediaKbdMedia
4584 MediaKbdApp1
4840 MediaKbdApp2
5096 MediaKbdBass-
5352 MediaKbdBass++
5608 MediaKbdBass+
5864 MediaKbdTreble-
6120 MediaKbdTreble+
6376 MediaKbdMicMute
6632 MediaKbdMic-
6888 MediaKbdMic+
7144 MediaKbdHelp
7400 MediaKbdFind
7656 MediaKbdNew
7912 MediaKbdOpen
8168 MediaKbdClose
8424 MediaKbdSave
8680 MediaKbdPrint
8936 MediaKbdUndo
9192 MediaKbdRedo
9448 MediaKbdCopy
8704 MediaKbdCut
9960 MediaKbdPaste
10216 MediaKbdReply
10472 MediaKbdForward
10728 MediaKbdSend
10984 MediaKbdSpellChk
11240 MediaKbdCmdCtl
11496 MediaKbdMicOnOff
11752 MediaKbdCorrect
12008 MediaKbdPlay
12264 MediaKbdPause
12520 MediaKbdRecord
12776 MediaKbdFF
13032 MediaKbdRew
13288 MediaKbdChan+
13544 MediaKbdChan-
_ActionCommandID - the action-command-id you want to be associated with this shortcut. If it's not a command-id-number, then an _ must be added at the beginning of the Action-Command-ID.
section - Section ID, in which this Shortcut/MIDI-note can be used. Only the numbers below are allowed, any other number may lead to the entry be removed, if reaper-kb.ini is rewritten by Reaper.
0 - Main
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer
Behavior of "factory-default"-shortcuts
Reaper sets a lot of shortcuts to actions by default, e.g. "Transport: Play/stop" has set Space as a default-shortcut. These are not set in the reaper-kb.ini !
However, if you delete such a factory-default-shortcut, the shortcut will be added into reaper-kb.ini, but associated with the action 0, e.g. space will be set to "KEY 1 32 0 0"
That way, you can find out, whether specific factory-default-shortcuts are set or not at all: if they aren't set to another action and not set to action 0, then they are used by Reaper as factory-default-shortcut.
Global shortcuts
Global keybinding can be stored only in main and main-alt-sections.
Each global keybinding consists of two KEY-entries in the reaper-kb.ini-file, one for the keybinding to an Action Command ID, which is of the format:
KEY modifier keyvalue action_command_id section
which holds the keybinding itself(read chapter above for further information about them).
In addition to that, there's a second KEY-entry, following the first KEY-entry, which holds the global-shortcut-state.
This is of the following format:
KEY modifier keyvalue global_key_scope section
modifier and keyvalue are the same as the first KEY-entry, where global_key_scope and section differ.
global_key_scope:
1 - global
101 - global+textfields
section:
102 - main(global shortcuts)
103 - main-alt(global shortcuts)
Example:
a global keybinding of the key "Q", associated with the action:
1007 - Transport: Play
in section main is store in the reaper-kb.ini as
KEY 1 81 1007 0
KEY 1 81 1 102
where the first entry holds the keybinding of the q-key to the play-action and the second sets the keybinding to global without(!) textfields.
Additional Downloads
- All KEY-codes and their meaning, as an .ini-file, use
Reaper-KEY-Codes_final.ini that includes all keycodes with the accompanyming shortcut-name(like TAB or Backspace, etc) associated, except MIDI-shortcuts(they can be generated systematically using the rules above).
The file is structured:
[sectionname]
modifiervalue_KeyNoteValue=shortcut-description
- Factory-Default-Keycodes with the command-id associated with it can be found in Reaper-factory-default-KEY-Codes-final.ini
The file is structured:
[sectionname]
modifiervalue_KeyNoteValue=command_id
Reaper-presets.ini
They are stored in the Reaper-Ressources-Folder/presets or in Reaper-Application-Folder/presets(the latter in portable installations).
Preset-Files are to store the individual settings of presets. It will only contain your own settings you've stored, not "factory-presets". Every plugin has one preset file, each file is named
"VST/JS/AU/Pluginname.ini".
Values or data you include, must be written after the = i.e. NbPresets=3. Empty lines are allowed and ignored by Reaper as well as lines containing anything, as long as they don't match the preset/general entry-scheme. Should be kept by Reaper, when new presets are added from within Reaper.
The order of the presets can be unordered, means, Preset 9 can be appear before Preset 1 in the preset file. Reaper orders for it's preset-selection-list internally, according to the ascending ID-numbering. [General] can also be anywhere in the file, as long as it's not within a preset-entry, means: it must be either at the beginning of the file, the end of the file, or it must happen after the name= entry and before the next [PresetID]. New presets stored from within Reaper, will be added at the end of the file.
Presets with a higher number than NbPresets-1 will be ignored by Reaper.
If you have "missing presets", i.e. only Preset1 and Preset10 defined and not 2-9, then Reaper will show 8 empty presets between Preset1 and Preset10 in the preset-selection-list.
If you have more presets sharing the same ID, only the first one with the given ID will appear.
[General] - must be written in brackets [ ]
LastDefImpTime - is the last time the preset-file got changed. Entry not always present.
NbPresets - Number of Presets, beginning with 1
[PresetID] - must be written in brackets [ ]. ID is a number, beginning with 0. The first preset has as ID 0, the last one NbPresets-1! No letters allowed, or the preset appears invisible.
Data - the preset-data itself. Must be written in ONE line! It contains 0-9, A-F.
Len - Length of Data. Seems to be calculated like this (LengthOfData*2)-2. Don't change, as it renders this preset either not do anything(Len smaller than original value) or do strange things(Len bigger than original value).
Name - the name of the preset, which will be shown in the selection within Reaper. NO Unicode supported, or else the preset is not doing anything. Long names(10MB+) are working, but slow down Reaper heavily. Empty names are NOT allowed or it renders the preset invisible; a single space does not work! Name= is allowed in the name.
Reaper-vstplugins[64].ini
Stored in Reaper-ressources-folder or in the Reaper-application-folder(in portable installations).
Caches the information about VST-Plugins. Will be newly written, if you click the "Clear Cache/Rescan"-Button in the "Options->Preferences->VST" - Dialogue.
Every plugin must be unique. If a given
plugin-filename appears more than once, the first one will be used only.
[vstcache] - begins the file. Without it at the beginning, Reaper rescans the plugins and appends them again at the end of the file. If you have any plugins before it, they'll be ignored and rescanned.
plugin-filename=a,b,Name[!!!vsti]
plugin-filename - filename of the plugin(plugin.dll|.vst.dynlib)
a - encoded timestamp, seems to be a hexstring. Don't change, or the plugin will disappear!
b - VST-Plugin-ID, seems to be an identificationnumber for a given VST-plugin. Don't change, or the plugin will disappear!
Name - the name that will be displayed for the plugin within Reaper
!!!vsti - tells Reaper, if it's an instrument(FX-folder VSTi). Without that, Reaper will show it as an effect in the plugin-selection-window(FX-folder VST), with it, the VST-Plugin will show as an instrument.
Reaper-dxplugins[64].ini(Windows)
Stored in the Reaper-ressources-folder or in the Reaper-application-folder(in portable installations).
Caches the DirectX-Plugin information.
Additional lines are allowed, as long as they don't follow the entry-scheme. They will be deleted, when you rescan your DX-Plugins, though.
The order of Name and Load is irrelevant, as long as they are kept under the right [{RegisteredName}].
Name and Load must be followed by = and then by the value.
[{RegisteredName}] - must be in brackets [{ }]. Registered Name of the DX-Plugin, as they appear in the windows registry.
Name - Name of the plugin, as it will be displayed within Reaper. No empty names are allowed; a simple space is also not sufficient. Unicode doesn't work well; avoid it.
Load - 0 - ignored by Reaper, any other number - it shows up in the FX-Plugin selection folder DX/DXi. When scanning plugins, Reaper seems to determine automatically, if a given DX-Plugin is useable within Reaper. You should trust Reaper about this, as some DX-Plugins may render Reaper busy to unresponsiveness.
reaper-convertfx.ini
The reaper-convertfx.ini can be found in the resource-folder of Reaper or in the Reaper-Application-Folder(with portable installations).
This is basically an FXChain. It stores the FX used in the FXChain of the Batch-Converter.
The format is like a regular FXChain, except, that it's not enclosed into
<FXCHAIN
>
tags, but rather the content of an FXChain only.
So if you want to read this FXChain and add it in a MediaTrack or MediaItem_Take-statechunk, you need to put the
<FXCHAIN-tags surrounding it, or it will not be accepted.
Reaper-fxfolders.ini
Reaper-fxfolder.ini can be found in the Ressources-Folder of Reaper or in the Reaper-Application-Folder(with portable installations).
This file manages the "My Folders" section of the FX-selection-dialogue in Reaper.
The [Folders] and [FoldersID] entries can be swapped around, as long as all the entries for a given [Folders] or [FoldersID] are written below their accompanying [Folders] [FoldersID].
If a NameID=Name has no accompanying IdID=Number, it will not show up in the FX-selection-dialogue. The same goes with the pair of [FolderID]-entries TypeID and ItemID: if a TypeID has no accompanying ItemID, it will not show up.
You can write additional lines with anything in it, as long as they do not follow the entry-schemes. Will be deleted, if you change folders and plugin-associations from within Reaper, though.
[Folders] - Folders entries
NbFolders - number of folders (beginning with 1).
NameID - Name of the folder as displayed within Reaper. Empty names are not allowed or that folder will be ignored. A single Space is not sufficient. Unicode works sometimes, can produce a ? instead of the Unicode-character. ID=number beginning with 0. If ID is given twice, only the first one will be used.
IdID - The ID of the [FolderID] this NameID should be associated with. ID=number beginning with 0. Must be the same number as the ID of NameID. If ID is given twice, only the first one will be used by Reaper.
Example:
Name0=Favorites - Name of folder 1 is Favorites
ID0=0 - Use the
[Folder0] entries for Favorites
Name1=Trulalu - Name of Folder 2
Id1=0 - Folder "Trulalu" will use the same
[Folder0] entries as Favorites does. The only difference is, it will show up as a 2nd folder named "Trulalu"
Name2=HitchhikersPlugsToTheGalaxy - Name of Folder 3
ID2=1 - Folder "HitchhikersPlugsToTheGalaxy" will use
[Folder1](!) entries
For normal folders
[FolderID] -
ID = number of the folder. This
ID is referenced by
IdID in the
[Folders] section. Beginning with 0 up to
NbFolders-1. If
ID is given twice, only the first one will be used.
Nb - Number of plugins for this
[FolderID]. IDs of
ItemIDs and
TypeID that are bigger than
Nb-1 are ignored by Reaper.
Nb can be bigger that the actual number of plugins associated to this
[FolderID].
TypeID - Type of the plugin,
ID=Number of the Plugin within this folder(beginning with 0 up to
Nb-1). If
ID is given twice, only the first one will be used.
0 - DirectX-Plugin
2 - JS-Plugin
3 - VST-Plugins (instruments, effects, midi)
5 - ? Apple AU-Plugins/"Plugin"-plugins ?
ItemID - registered name or filename+path of the plugin. Only absolute paths are allowed! If you type in a pluginname that doesn't exist(isn't scanned yet?), it will be ignored by Reaper and retained in the reaper-fxfolders.ini, when the file is rewritten by Reaper. The ID is the number of the plugin within this folder(beginning with 0 up to Nb-1).
For smart folders
[FolderID] -
ID = number of the folder. This
ID is referenced by
IdID in the
[Folders] section. Beginning with 0 up to
NbFolders-1. If
ID is given twice, only the first one will be used.
Type0=1048576 - signals, this folder is a smart folder
Item0=a [b|OR|NOT c|OR|NOT...]
a,b,c - Filterkeywords for filtering the plugins for this smart-folder
OR - If you want to use more keywords, you need to separate them with an OR. Must be uppercase(OR) or Reaper uses it as filter or. It's not XOR!
NOT - If you want to exclude a keyword. Must be uppercase(NOT) or Reaper uses it as filter not. No exclusive-NOT, means, following ORs will not act as NOT but rather as additional keywords to find plugins, not exclude them!
ReaperConfigZip - configuration-export-files
Can be located anywhere. Standard-save folder is Configurations in the ressources-folder or the application-folder(the latter in portable installations).
ReaperConfigZip-files are to store an exported state of Reaper with all it's configurations, files and needed stuff.
A filename.ReaperConfigZip is a simple ZIP-file, created by the export-function in the Preferences->General-menu.
Export mostly copies the files and folders (with some limitations described later below) and creates an additional file within the ReaperConfigZip-file: reaper-configzip-info
A ReaperConfigZip-file MUST contain a valid reaper-configzip-info file, or Reaper doesn't accept it for import!
Only the standard-reaper-folders from the ressources-folder are supported. Additional folders i.e. "TestFoo123/" and it's files will NOT be imported, even if they exist in the ReaperConfigZip-file.
Some folders and files from the ressources-folder will not be exported: Configurations/, MIDINotenames/, OSC/, PreviousConfigFiles/, UserPlugins/, as well as non ini files from the root-folder(Reaper only looks at filenames, not into the file itself, so a flac renamed as .ini works). It also seems to exclude files, that are from a standard-Reaper-configuration. If you want to have a standard-Reaper-config, empty the ressources-folder and start Reaper. They will be automatically created.
There is only a limited number of fileformats allowed in the root-folder. That goes for import as well as export of the ressources-folder and ReaperConfigZip-file itself. There are only files allowed like .ini, sometimes .txt. Other fileformats will not be imported, no matter if they are described in the reaper-configzip-info-file or not. This limitation does not necessarily go with the subfolders though, i.e. while root does not allow png or flac, the Scripts-folder does allow AND export/import them!
There seems to be a limitation in regards of exported JS-FX-plugin files from the Effects-folder, with not all JS-FX being exported. This could be because of the unexported JS-FX being standard-configuration-files created by Reaper. Needs more research!
Files can be described in the reaper-configzip-info, but will be imported/exported anyway, as long as they follow the file-type-restrictions of the Effects and the root-folders.
reaper-configzip-info
Begins with FLAGS. The FLAGS show, which category shall be exported/imported to(all folders from the ressources-folder of Reaper).
It must contain the FLAGS of the categories, you want to import. All files from categories not included after FLAG will cause Reaper to ignore these other files in the ReaperConfigZip-file. Means, if you don't FLAG reascripts, the Scripts will NOT be imported, even if they exist in the ReaperConfigZip-file. A simple FLAGS in the file is not sufficient! In case of doubt, include all FLAGS.
The following FLAGS are supported. They represent the individual categories in the Export/Import dialogue:
configex - Configuration(.ini) files from the root-folder of ressources-folder
ctheme - Colorthemes - from the ColorThemes-folder
preset - Plug-in presets - Presets from the presets-folder
fxchain - FX chains - FXChains from the folder FXChains
jseffect - JS-effect-plugins in Effects-folder
templatemisc - Project and track templates/Misc data - Templates and miscellaneous data from the TrackTemplates-folder and Data-folder
cursorkeymap - Cursor and key maps - Keymaps from the folder Keymaps
menus - Menu and toolbars - Menu-settings from /Reaper-menu.ini
actions - Menu sets-Actions - MenuSets-folder
actionsreal - Actions and key bindings - reaper-kb.ini
menusets - Menu sets - files from the MenuSets-folder
chanmaps - Channel mappings - Channel-Mappings from ChanMaps
reascript - Reascripts - Reascripts(Python,Eel,Lua,png) from Scripts-Folder
langpacks - Language Packs - Languagepacks from LangPack-Folder
mediadb - Media Explorer Databases - Media Explorer Database from MediaDB-folder
wwwroot - Web Interface Pages - Web Interface-pages from reaper_www_root (not the one from Applicationfolder/Plugins/reaper_www_root !)
autoitems - Automation Items stored in folder AutomationItems
midinotenames - MIDINoteNames-aliases stored in folder MIDINoteNames
FLAGS must be written directly after FLAG with a space between them, i.e.:
FLAGS configex ctheme wwwroot
After the FLAGS- individual entries for each file in the ReaperConfigZip follow, with a SHA-1 hash.
Every file entry starts with SHA (SHA-1-HashValueofFile) "[Directory\]Filename.extension".
The hashvalue MUST be a valid SHA-1-Hashvalue of the file within ReaperConfigZip, or else, it will be ignored by Reaper-Import. The hash seems to be to help Reaper finding out, if a file that exists, has changed(replace) or not(No change).
Every entry as well as the end of the FLAGS-entries(after wwwroot), ends with the Hex-value 00. Seems to work with a simple SPACE as well, though.
The reaper-configzip-info file seems to work with only the FLAG - section. But prefer to include the SHA (SHA-1-HashValueofFile) "[Directory\]Filename.extension", as this is standard behavior of Reaper.
Important: If you want to create a ReaperConfigZip-file, accepted by Reaper, you must zip using the option "do not add directory entries" or Reaper will show error-messages during import. This is because the importer can create files+their paths but not an empty directory.
ReaperKeyMap
You can have this file anywhere. Standard-folder for export/import is KeyMaps in Ressources-folder of Reaper or in the application-folder of Reaper(the latter in portable installations).
This file is basically an exported selection of entries of the
Reaper-kb.ini, chosen for export in the Actions->Show Actions List-dialogue.
In fact, the reaper-kb.ini works the same way as ReaperKeyMaps, ReaperKeyMaps just have .ReaperKeyMaps as a file extension. So you could take a reaper-kb.ini, rename it to reaper-kb.ReaperKeyMap and import it.
Please refer the description for Reaper-kb.ini for more details. The rules set for Reaper-kb.ini also apply to ReaperKeyMaps.
RfxChain
You can place it anywhere. Standard folder is FXChains/ in the Reaper-ressources-folder or in the Reaper-application-folder(the latter in portable installations).
This documentation is missing information, especially about MIDI and OSC linkings and LEARN! It's also missing information about DirectX as well as Apple-AU-plugins!
Default_Track_Chain.RfxChain in the FXChains-folder is default FXChains for all new tracks you create in your project. Only the Master-Track doesn't include them!
Filestructure
Some sections begin with < and end with > while others are written in one line.
First entries
REQUIRED_CHANNELS val
val- number of required channels for all(?) plugins in this FXChain
Every individual plugin-entry begins with BYPASS and ends with WAK.
BYPASS a b - decides if this plugin is set to bypass/offline or not
a - FX Bypass, 0-no bypass, 1-bypass
b - FX Offline 0-FX online 1-offline
Next there are the entry-sections for the effect themselves. Only one of them (either one of VST, JS, DX or AU)comes after the
BYPASS-entry and before the
WAK entry.
The second plugin will come after the next
BYPASS, the third plugin after the third
BYPASS, etc, etc.
If it's a VST-plugin:
<VST "Name" VST-Plugin-filename a "name2" Plugin-Identification-number
"Name" - Name can be freely chosen, Reaper starts VST: for VstFX, VSTi: for instruments, VST3: for vst3-effects; VST3i: for vst3-instruments
reacomp.dll VST-Plugin-filename
0 - unknown
"name2" overwrites the "Name" entry within Reaper. purpose unknown
Plugin-identification-number - the number that helps Reaper to identify the plugin
VST-settings - Long string of letters,numbers and signs that contains the settings of the plugin. Dont' change!
>
If it's a Video-processor-effect:
<VIDEO_EFFECT "Video processor" "Name"
"Name" - Name can be freely chosen and will be displayed in the FX-chain, instead of Video processor.
<CODE
|Tudelu;
>
The code of the video-processor-plugin, written between
<CODE and the closing tag >. Every line must begin with a |
CODEPARM 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
The settings for each of the possible 16 knobs within this video-effect.
>
If it's a JS-plugin:
<JS [path/]Pluginfilename "name"
[path/]Pluginfilename - Pluginfile from within ressources-folder/Effects/. WindowsUsers: the path is written with / not with \ !!
"name" - a name, that will be shown instead of the standard JS-Pluginname. Leave empty, if you want to use the standard name.
val1 val2 val3 ... val64 [presetname]
val - The settings for the JS-Plugin-faders. Valueranges depend on the valueranges, given to the faders by the programmers of the given plugin. Settings for non existing faders are given with a - . It must have 64 entries, though it seems to work without the - given for nonexisting faders at the end of the preset. Non existing faders (-) can also occur between values!
[presetname] name of the preset you want to use. If there's no such preset, Reaper will use "no preset" instead.
>
<JS_SER
additional JS settings some JS-Plugins need - long string of letters, numbers and signs. Don't change!
>
If it's a DirectX-plugin:
<DX "DX: DirectX-Pluginname" "b"
"DX: DirectX-Pluginname" - the name of the DirectX Plugin
"b" - unknown. Leave it as ""
Pluginsettings - long string, containing letters and numbers. Don't change!
>
If it's an AppleAU-plugin:
<AU "AUType: Pluginname" "Pluginname" "AliasName" d e g
"AUType: name of the au-plugin" - the name of the AU-Plugin; AUType is either AU:(fx) or AUi:(instruments)
"Pluginname" - a second name of the plugin-name; unknown what it's purpose
"AliasName" - An alternative name, which you can set for the plugin; default is ""
d - d
e - e
f - f
After the VST/JS/DX/AU-section
After the VST/JS/DX/AU-section, there are some additional entries that may occur, giving control to envelopes, MIDI/OSC-bindings, and others. Most of them are controllable through the FX-dialogue-window, mostly by clicking on the
+ or the
param button.
The following entries seem to work only for VST and JS plugins, not DX(AU?)Plugins!
WET value
value - the wet value. Range 0-1. a wet-value of 0.31 is 31% wet.
MIDIPRESET ID
ID - the Channel number for the button +->"Link to Midi program Change"
PRESETNAME "name"
name is the name of the preset. Has no effect, whatsoever, as the selected preset seems to be taken from the VST-Settings-string. So an empty name is also valid.
PARMALIAS a newname - give a parameter a new name, shown within Reaper. Button param->FX parameter list->Alias parameter
a - ID of parameter, value-range 0-, 0-top entry in the alias-parameter-menu, x-bottom entry in the alias-parameter-menu
newname - the new name that will be shown instead of the normal parametername.
Parameter modulation/MIDI-Link
The following entries are for the Param->FX Parameter list->"Parameter modulation/MIDI-link"-settings
<
PROGRAMENV a[:name] b
a - Parameter-entry in the "Parameter modulation"-menu-list (0 to max)
[:name] - name of the parameter;
b - "Enable parameter modulation, baseline value" 1=Off, 0=On
PARAMBASE val
val - "Enable parameter modulation, baseline value" value range 0-2, 1=middle
LFO val
val - 0 for LFO off, 1 for LFO on
LFOWT a b
a - Strength(LFO) value range 0(0%) to 1(100%)
b - "Direction"(LFO) -1(Negative) 0(Centered) 1(Positive)
AUDIOCTL val
val - "Audio Control Signal (sidechain)", 0=Off, 1=On
AUDIOCTLWT a b
a - unknown,
b - "Direction"(AudioControlSignal) -1(Negative) 0(Centered) 1(Positive)
PLINK a b c d
a - Scale(Link from Midi or FX parameter) valuerange -1(-100%) 1(100%), 0=default
b - unknown
c - unknown but has an effect
d - Offset(Link from Midi or FX parameter) valuerange -1(-100%) 1(100%), 0=default
MIDIPLINK a b c d
a - unknown
b - unknown
c - unknown Link-Button(Link from Midi or FX parameter)
d - unknown Link-Button(Link from Midi or FX parameter)
LFOSHAPE val
val - Shape(LFO) 0=sine, 1=square, 2=saw L, 3=saw R, 4=triangle, 5=random
LFOSYNC a b c
a - Tempo sync(LFO) 0=Off, 1=On
b - unknown,
c - Phase reset 0=On sync/loop, 1=free running
LFOSPEED a b
a - Speed(LFO) value range 0.124573(0.0039Hz) to 1(8Hz) 0.124573(1Hz, default)
b - Phase(LFO) valuerange 0(0.00) to 1(1.00), 0.5(default)
CHAN val
val - Track-Channel(AudioControlSignal) -1=Channel 1, 1=Channel 2, 0=Channel 1 and 2
STEREO val
RMS a b
a - Attack(AudioControlSignal) valuerange 0 1000
b - release(AudioControlSignal) valuerange 0 1000
DBLO a
a - Min volume(AudioControlSignal) valuerange -60(-60db) +11.9(+11.9db) BUT it must always be smaller than Max volume! They depend on each other!
DBHI b
b - Max volume(AudioControlSignal) valuerange -59.9(-59.9db) +12(+12db) BUT it must always be bigger than Min volume! They depend on each other!
X2 val - "Audio control signal shaping"(AudiocontrolSignal)
val - x-position, valuerange 0(left) to 1(right); 0.5(center) is default
Y2 val - "Audio control signal shaping"(AudiocontrolSignal)
val - y position, valuerange 0(bottom) to 1(top); 0.5(center) is default
>
Show parameters in track control
The following entry manages the Show in track controls-settings
PARM_TCP ID1 [ID2] [ID3] [IDX] - Param->FX Parameter list->Show in track controls->entries
[IDx] - ID is the number of the entry in "Show in trackcontrols"-menu(0-maxID). Write the IDs you want to have one after the other.
Other entries
The following entry might follow now. It might happen for every kind of plugin, VST,JS,DX,AU.
<COMMENT - entry for Comment
Commentdata - a comment, but encoded. You can write the VST-comment only from within Reaper!
>
The following entry ends the entries for this plugin. After it, the next block of entries can begin(with another BYPASS-entry)
WAK val1 val2 - additional settings.
val - Send all keyboard-input to plug-in; 0, don't send; 1, send
val2 - unknown, 0 or 1 seem to be valid values, higher values will be changed to 1 whenever the RfxChain-file will be rewritten by Reaper.
Reaper-menu.ini
This file is located in the root of the Reaper-ressources-folder or the Reaper-application-folder(the latter in portable installations).
Reaper-menu.ini files are to store the customization of menus, context-menus as well as toolbars and floating toolbars. You can customize the toolbars and menus for the MIDI-Editor as well in here.
Note: Keep it as ANSI-encoded file, as UNICODE might cause toolbars, mostly the first described in reaper-menu.ini, to disappear(mostly Floating toolbar 1, as some characters are added right before [Floating). Unicode without BOM seems to work, though.
Menu/Toolbar-header
Every Menu/Toolbar-header begins with a
[Title]. The order of the headers seems to be irrelevant, as long as they are at the beginning of each menu-entries-list. Reaper prefers alphabetically ordering, though.
Every header must be unique, or it leads to all kind of strange behavior within the menus(menu-entries from the second header A, while the title is used from the first header A, etc).
You can't customize the help-menu.
The following
[Title]-headers are allowed. Anything else will lead to weird menu/toolbar behavior in Reaper:
Note: the information in () like (&File), isn't part of the Menu/Toolbar-header, but rather it's standard-title(refer to title entries later in this Reaper-menu.ini-doc for more details). That means, the Menu/Toolbar-entry for Main file (&File) is
[Main file] NOT [Main file (&File)]!
Menu:
Main file (&File)
Main edit (&Edit)
Main view (&View)
Main insert (&Insert)
Main item (Ite&m)
Main track (&Track)
Main options (&Options)
Main actions (&Actions)
Main extensions (E&xtensions)
Context menus:
Ruler/arrange context
Track control panel context
Empty TCP context
Media item context
Envelope context
Envelope point context
Mixer context
FX extended mixer context
Sends extended mixer context
Transport context
Automation item context
Toolbars(with icons):
Main toolbar
Floating toolbar 1 (Toolbar 1)
Floating toolbar 2 (Toolbar 2)
Floating toolbar 3 (Toolbar 3)
Floating toolbar 4 (Toolbar 4)
Floating toolbar 5 (Toolbar 5)
Floating toolbar 6 (Toolbar 6)
Floating toolbar 7 (Toolbar 7)
Floating toolbar 8 (Toolbar 8)
Floating toolbar 9 (Toolbar 9)
Floating toolbar 10 (Toolbar 10)
Floating toolbar 11 (Toolbar 11)
Floating toolbar 12 (Toolbar 12)
Floating toolbar 13 (Toolbar 13)
Floating toolbar 14 (Toolbar 14)
Floating toolbar 15 (Toolbar 15)
Floating toolbar 16 (Toolbar 16)
MIDI-Editor floating toolbars(with icons):
Floating MIDI toolbar 1 (MIDI 1)
Floating MIDI toolbar 2 (MIDI 2)
Floating MIDI toolbar 3 (MIDI 3)
Floating MIDI toolbar 4 (MIDI 4)
Floating MIDI toolbar 5 (MIDI 5)
Floating MIDI toolbar 6 (MIDI 6)
Floating MIDI toolbar 7 (MIDI 7)
Floating MIDI toolbar 8 (MIDI 8)
MIDI-Editor toolbars (with icons):
MIDI piano roll toolbar
MIDI event list toolbar
MIDI-Editor-menus:
MIDI main file (&File)
MIDI main edit (&Edit)
MIDI main navigate (&Navigate)
MIDI main options (&Options)
MIDI main view (&View)
MIDI main contents (&Contents)
MIDI main actions (&Actions)
Midi Editor-context menu:
MIDI piano roll context
MIDI CC lane context
MIDI event list context
MIDI inline editor context
MIDI main menu context
Media Explorer-Toolbar:
Media Explorer toolbar
Media Explorer-menu:
Media Explorer main
Media Explorer show
Media Explorer options
Media Explorer-context menu:
Media Explorer main context
The Menu/Toolbar-entries themselves
The entries below a header can be either item_ID, title or icon_ID(icons in toolbars only!).
Entries for menus and context-menus
item_ID=a b
ID - entrynumber in this menu. Don't skip IDs, as that may lead to weird behavior in menus(default-menu entries showing up, some of the entries ignored, some entries shown). Use IDs only once, as otherwise, Reaper uses only the first item with that given ID.
a - type/action of menu. The following are allowed, but only one for a given menu-entry:
ActionCommandID-number
ActionCommandID-string. Must begin with _ or the menu-entry disappears within Reaper
-1 - Separator. MINUS 1, not 1!
-2 - start new submenu within current (sub)menu. Only in menus, not in toolbars!. Submenus in submenus are allowed, but must be ended with -3.
-3 - end of the submenu within current (sub)menu. Only in menus, not in toolbars! Submenus in submenus are allowed, but must begin with -2.
-4 [Text] - Label with no action but
[Text] in it. Good for structuring the menu for the user. Will be "greyed out" in Reaper.
b - Description of the entry, as it will be shown in the menu. Some Reaper-builtin-descriptions have an & in their name, while others don't. Why that is needs more research...
title=a
a - Title for this menu, as it will be shown in Reaper. Context-menus will not show the title with the exception of the menu-editor.
Entries for toolbars
icon_ID=a
ID - must be corresponding to the ID of the item_ID, that shall use this icon!
a - is either:
-
icon-filename as stored in ressources-folder/Data/toolbar_icons or application-folder/Data/toolbar_icons/
-
text - shows text of the title of this item-entry (refer the
b from
item_ID below)
-
text_wide - like text but double-width of the button for longer texts
-
text_tt - use as tooltip
item_ID a b
ID - entrynumber in this menu. Important for corresponding icons in toolbars! Don't skip IDs, as all following items will be ignored by Reaper. Use IDs only once, as otherwise, Reaper uses only the first item with that given ID.
a - type/action of menu. The following are allowed, but only one for a given menu-entry:
ActionCommandID-number
ActionCommandID-string - must begin with _
-1 to -infinity [Text] - acts as a separator between icons, if no [Text] is given. If [Text] is given, you'll have a non-clickable-button with the [Text] in it. You can associate an nonclickable icon to separators, which will render [Text] as not to be shown.
b - Title of this item-entry.
title=a
a - Title for this Toolbar, as it will be shown in Reaper, usually in the menu-editor.
Menu only actions
There are some actions in Reaper, that can only be accessed from the menus(not toolbars and not from the actionlist-dialog!)
In the [Brackets] you can see, where they are available in the menu by default, though some of them may be useable in other menus as well, probably depending on the action-context accepted in a specific menu.
Section -> ID -> Action [The menu this action is placed into by default]
Main -> 42219 -> Automation items [Automation item context]
Main -> 42094 -> <automation items on disk> [Automation item context]
Main -> 46001 -> (track template list) [Empty TCP context]
Main -> 40854 -> Select envelope (env name) [Envelope context]
Main -> 41933 -> Volume envelope: amplitude scaling [Envelope context]
Main -> 41934 -> Volume envelope: fader scaling [Envelope context]
Main -> 40700 -> Pitch envelope: range/snap... [Envelope context]
Main -> 40055 -> Create new point [Envelope context]
Main -> 42094 -> <automation items on disk> [Envelope context]
Main -> 40854 -> Select envelope (env name) [Envelope point context]
Main -> 41933 -> Volume envelope: amplitude scaling [Envelope point context]
Main -> 41934 -> Volume envelope: fader scaling [Envelope point context]
Main -> 40700 -> Pitch envelope: range/snap... [Envelope point context]
Main -> 40154 -> Set point value... [Envelope point context]
Main -> 40191 -> Linear [Envelope point context]
Main -> 40192 -> Square [Envelope point context]
Main -> 40423 -> Slow start/end [Envelope point context]
Main -> 40426 -> Fast start [Envelope point context]
Main -> 40427 -> Fast end [Envelope point context]
Main -> 40682 -> Bezier [Envelope point context]
Main -> 40054 -> Delete point [Envelope point context]
Main -> 42094 -> <automation items on disk> [Envelope point context]
Main -> 40556 -> Add FX... [FX extended mixer context]
Main -> 41068 -> Quick add FX [FX extended mixer context]
Main -> 41073 -> Add FX chain [FX extended mixer context]
Main -> 41915 -> Replace FX... [FX extended mixer context]
Main -> 41917 -> Quick replace FX [FX extended mixer context]
Main -> 40554 -> Float FX configuration [FX extended mixer context]
Main -> 40553 -> Show FX chain [FX extended mixer context]
Main -> 40555 -> Bypass chain [FX extended mixer context]
Main -> 40550 -> Bypass FX [FX extended mixer context]
Main -> 40551 -> Offline FX [FX extended mixer context]
Main -> 40552 -> Delete FX [FX extended mixer context]
Main -> 40562 -> Rename FX instance [FX extended mixer context]
Main -> 2998 -> Show recent actions [Main actions]
Main -> 48000 -> (project template list) [Main file]
Main -> 44000 -> (recent project list) [Main file]
Main -> 46001 -> (track template list) [Main insert]
Main -> 45100 -> (comp list) [Main item]
Main -> 45500 -> (theme list) [Main options]
Main -> 46001 -> (track template list) [Main track]
Main -> 48400 -> Default [Main track]
Main -> 45000 -> (take list) [Media item context]
Main -> 45100 -> (comp list) [Media item context]
Main -> 40079 -> Close [Mixer context]
Main -> 40561 -> Show send parameters [Sends extended mixer context]
Main -> 40559 -> Mute send [Sends extended mixer context]
Main -> 40560 -> Remove send [Sends extended mixer context]
Main -> 40558 -> Show track routing window [Sends extended mixer context]
Main -> 40564 -> Go to send destination track [Sends extended mixer context]
Main -> 46001 -> (track template list) [Track control panel context]
Main -> 48400 -> Default [Track control panel context]
Main -> 40264 -> markerlist [Transport context]
Main -> 40673 -> Playrate fader range: 0.25-4.0 (default) [Transport context]
Main -> 40674 -> Playrate fader range: 0.5-2.0 [Transport context]
Main -> 40675 -> Playrate fader range: 0.75-1.5 [Transport context]
Main -> 40676 -> Playrate fader range: 0.9-1.1 [Transport context]
Main -> 2 -> Hide Transport [Transport context]
Main -> 44500 -> list of documentation-links and PDF in resource-folder/Docs
Main -> 40902 -> (undo list) Note: works only in submenus, otherwise it will not be updated and stay blank
Main -> 48400 -> Theme Layout-selection - Note: first entry is checkbox for global layouts, which can be individually named
MIDI Editor -> 2998 -> Show recent actions [MIDI main actions]
MIDI Editor -> 40894 -> Media item [MIDI main contents]
MIDI Editor -> 40895 -> Track [MIDI main contents]
MIDI Editor -> 40896 -> Project [MIDI main contents]
MIDI Editor -> 40897 -> Open the clicked MIDI item only [MIDI main contents]
MIDI Editor -> 40898 -> Open all selected MIDI items [MIDI main contents]
MIDI Editor -> 40899 -> Open all MIDI items on the same track as the clicked item [MIDI main contents]
MIDI Editor -> 40900 -> Open all MIDI in the project [MIDI main contents]
MIDI Editor -> 40916 -> <recent note name files> [MIDI main file]
MIDI Editor -> 40408 -> Automatically save modified file on close [MIDI main file]
MIDI Editor -> 40916 -> <recent note name files> [MIDI main menu context]
MIDI Editor -> 40749 -> MIDI editor mouse modifiers... [MIDI main menu context]
MIDI Editor -> 40894 -> Media item [MIDI main menu context]
MIDI Editor -> 40895 -> Track [MIDI main menu context]
MIDI Editor -> 40896 -> Project [MIDI main menu context]
MIDI Editor -> 40897 -> Open the clicked MIDI item only [MIDI main menu context]
MIDI Editor -> 40898 -> Open all selected MIDI items [MIDI main menu context]
MIDI Editor -> 40899 -> Open all MIDI items on the same track as the clicked item [MIDI main menu context]
MIDI Editor -> 40900 -> Open all MIDI in the project [MIDI main menu context]
MIDI Editor -> 2998 -> Show recent actions [MIDI main menu context]
MIDI Editor -> 40408 -> Automatically save modified file on close [MIDI main menu context]
MIDI Editor -> 40749 -> MIDI editor mouse modifiers... [MIDI main options]
MIDI Editor -> 40638 -> [velocity list] [MIDI piano roll context]
MIDI Editor -> 41989 -> (note notation menu) [MIDI piano roll context]
MIDI Editor -> 1215 -> CC selection follows note selection [MIDI piano roll toolbar]
MIDI Inline Editor -> 40457 -> Humanize notes... [MIDI inline editor context]
MIDI Inline Editor -> 40434 -> Select all notes with same pitch [MIDI inline editor context]
MIDI Event List Editor -> 1000 -> Add [MIDI event list toolbar]
MIDI Event List Editor -> 1002 -> Delete[MIDI event list toolbar]
reaper-extstate.ini
Stored in the Ressources-folder or the Reaper-application-folder(in portable installations).
The
Reaper-extstate.ini is to store persistent external states, that have been set by scripts, plugins, etc.
You can't change persistent external states in the reaper-extstate.ini (i.e. using a texteditor) while Reaper is running, as Reaper will ignore these changes. While Reaper is running, you need to set external states using the api-function SetExtState or Reaper will not update the state, leading GetExtState showing the older state instead! Though, Reaper will change the file, when using SetExtState() even while Reaper is running.
The structure of the file is like many of the other ini-files of Reaper. It contains sections (written in [] ). The next line is the key, set to a value.
[section1]
section1key1=value1-1
[section2]
section2key1=value2-1
section2key2=value2-2
section2key3=value2-3
[section3]
section3key1=value3-1
section3key2=value3-2
Whitespaces are allowed in [sections], keys and values.
A given name for [sections] can be in the file multiple times, but this can confuse Reaper, so avoid that.
Names of Keys can be multiple time within a [section], but this can confuse Reaper, so avoid that.
The
value can be either a number, a string or true or false. Spaces are allowed within these
values. Reaper will treat a
value as a string.
There are no default sections, key or values in the
reaper-extstate.ini, so these are freely chooseable. You can write them by hand into this file, but you should prefer using the API-Functions
SetExtState,
GetExtState,
HasExtState and
DeleteExtState instead.
Keep in mind: Only persistent External States are stored into this file and non-persistent-ones are forgotten by Reaper after exit!
Once an external state has been made persistent, it will stay in the reaper-extstate.ini, even if you set it's persistancy to false. But if you set persistance of such an external state to false, Reaper will use the non-persistent(false) one instead, until you close Reaper.
The Reaper-extstate.ini isn't case-sensitive, so you can write entries in cAmElCaSe, lowercase or UPPERCASE.
Reaper-mouse.ini
You can find the Reaper-mouse.ini in the ressources-folder or the Reaper-Application-folder(in portable installations).
The Reaper-mouse.ini is to store the settings for the Mouse-modifier-settings.
Usually, you can change them within Reaper from the Options->Preferences->Mouse modifiers-dialogue, with the exception of the checkboxes below the "Modifier & Beavior"-section, that are stored into the Reaper.ini
The Reaper-mouse.ini begins with a [hasimported]-section, before the individual [sections] with their own keys=values.
The purpose of the [hasimported]-section is unknown. Standard values for the keys is 1, though -1 seems to be accepted. What it does is unknown and needs more research.
[hasimported]
MM_CTX_ITEM=1
MM_CTX_ITEMEDGE=1
MM_CTX_ENVPT=1
MM_CTX_ENVSEG=1
MM_CTX_TRACK=1
MM_CTX_RULER=1
MM_CTX_ARRANGE_RMOUSE=1
MM_CTX_ITEM_DBLCLK=1
MM_CTX_ENVSEG_DBLCLK=1
MM_CTX_MIDI_NOTE=1
MM_CTX_MIDI_CCLANE=1
MM_CTX_MIDI_RULER=1
MM_CTX_MIDI_RMOUSE=1
MM_CTX_MIDI_PIANOROLL_DBLCLK=1
MM_CTX_MIDI_NOTE_DBLCLK=1
MM_CTX_ITEM_CLK=1
MM_CTX_MIDI_NOTE_CLK=1
MM_CTX_MIDI_PIANOROLL_CLK=1
MM_CTX_ARRANGE_MMOUSE=1
MM_CTX_CURSORHANDLE=1
MM_CTX_ARRANGE_MMOUSE_CLK=1
MM_CTX_AREASEL_CLK=1
MM_CTX_AREASEL=1
The individual [sections] with the behavior-settings work after the following principle:
[sectionname]
Key_ID=Value [m|c]
name=The text of the tooltip for a toolbar button.
The small m after the number of Key_ID means, it's a mouse modifier, a small c means, it's a command-id. _ActionCommandIDs do not have a "m" or "c" after them.
Keys used in every [section]
There are standard keys for every [section] in the
reaper-mouse.ini. Each key is for a special key-combination within the context of the mouse-behavior.
After the = you put the value for the behavior you want to have associated with that mouseclick-keymodifier-combination(refer to "Values for Mouse-Behavior Modifiers" for all values for every [section]).
The following keys are valid. Additional Values are possible but will be ignored by Reaper(and sometimes deleted, when the reaper-mouse.ini is rewritten).
mm_0= - Default Action
mm_1= - Shift
mm_2= - Ctrl
mm_3= - Shift+Ctrl
mm_4= - Alt
mm_5= - Shift+Alt
mm_6= - Ctrl+Alt
mm_7= - Shift+Ctrl+Alt
Note: There is no mm_8= or it is for the Apple-key! Needs more research.
mm_9= - Shift+Win / Shift+Apple(?)
mm_10= - Ctrl+Win / Ctrl+Apple(?)
mm_11= - Shift+Ctrl+Win
mm_12= - Alt+Win
mm_13= - Shift+Alt+Win
mm_14= - Ctrl+Alt+Win
mm_15= - Shift+Ctrl+Alt+Win
Values for Mouse-Behavior Modifiers
You can choose between a lot of different behaviors for the mouse, a complete list follows below.
For clickable mouse-behavior-[sections]: Unused values are filled with Reaper-CommandIDs and can be used as such (1007 triggers the play-button).
Some of the CommandIDs of Reaper share the same numbers with the mouse-modifier-behavior-values. In that case, Reaper prefers the mouse-modifier-behavior-value over existing CommandIDs.
You can circumvent this problem by creating a new action that uses the CommandID you want to use. After that, you can use the _ActionCommandID of the new action instead of the CommandID. In general it is preferrable to use an Action over the direct CommandID, as, in the future, the Reaper-developers may use other values for mouse-modifier-behavior instead of the CommandID, leading to wrong mouse-behavior. Though, high values(above 100) shouldn't be a problem, but you never know.
Every [section] has it's own set of values you can set to each key. If you want to give simple left click on items the behavior "Select Item", the entry would look like:
[MM_CTX_ITEM_CLK]
mm_0=3 m
name=The text of the tooltip for a toolbar button.
Note: within the description you will find something like "Main-section" or "MIDI-Editor"; that is NOT a [section] but refers to the sections you have in the Actions->Show Actions List-dialoque within Reaper. The Reaper-mouse.ini-[sections] are always written as [sectionname].
Also note: Double Click and Left Click also allows _ActionCommandIDs and CommandIDs, with the exception of the section [MM_CTX_MIDI_CCEVT]. All others don't support CommandIDs and _ActionCommandIDs.
Especially note: when a default-action is selected, Reaper seems to remove the entry from the reaper-mouse.ini
[MM_CTX_ITEM_CLK] - Media Item - left click
_ActionCommandID - from an action from the Main-section
-1 - for default-reaper-built-in-behaviour
0 - No action
1 - Select item and move edit cursor
2 - Select item and move edit cursor ignoring snap
3 - Select item
4 - Toggle item selection
5 - Add a range of items to selection
6 - Add a range of items to selection, if already selected extend time selection
7 - Add a range of items to selection, if already selected extend time selection ignoring snap
8 - Extend time selection
9 - Extend time selection ignoring snap
10 - Add a range of items to selection and extend time selection
11 - Add a range of items to selection and extend time selection ignoring snap
12 - Select item ignoring grouping
13 - Restore previous zoom/scroll
14 - Restore previous zoom level
15 - Add stretch marker
20 - Extend razor edit area
[MM_CTX_ARRANGE_A] and [MM_CTX_ARRANGE_B] and [MM_CTX_ARRANGE_C] and [MM_CTX_ARRANGE_D] - Arrange view override - left drag
-1 - default behavior
0 - no action
1 - Marquee select items
2 - Marquee select items and time
3 - Marquee select items and time ignoring snap
4 - Select time
5 - Select time ignoring snap
6 - Marquee toggle item selection
7 - Marquee add to item selection
8 - Hand scroll
9 - Scroll browser-style
10 - Scrub audio
11 - Jog audio
12 - Scrub audio (looped-segment mode)
13 - Jog audio (looped-segment mode)
14 - Marquee zoom
16 - Hand scroll and horizontal zoom
17 - Horizontal zoom
18 - Horizontal zoom
19 - Set edit cursor and horizontal zoom
20 - Set edit cursor and horizontal zoom
21 - Set edit cursor and hand scroll
22 - Set edit cursor, hand scroll and horizontal zoom
23 - Set edit cursor, hand scroll and horizontal zoom
24 - Select razor edit area
25 - Select razor edit area ignoring snap
26 - Add to razor edit area
27 - Add to razor edit area ignoring snap
28 - Select razor edit area from cursor
29 - Select razor edit area from cursor ignoring snap
30 - Remove from razor edit area
31 - Remove from razor edit area ignoring snap
32 - Select razor edit area and time
33 - Select razor edit area and time ignoring snap
34 - Create fixed lane comp area
35 - Create fixed lane comp area ignoring snap
[MM_CTX_ITEM] - Media Item - left drag
-1 - default behavior
0 - No action
1 - Move item
2 - Copy item(?)
3 - Move item contents
4 - Move item ignoring snap
5 - Copy item ignoring snap
6 - Move item edges but not content
7 - Render item to new file
8 - Open source file in editor or external application
9 - Move item ignoring selection/groupin
10 - Move item ignoring snap and selection/grouping
11 - Adjust take pitch (semitones)
12 - Adjust take pitch (fine)
13 - Move item ignoring time selection
14 - Move item ignoring snap and time selection
15 - Move item ignoring time selection and selection/grouping
16 - Move item ignoring snap, time selection, and selection/grouping
17 - Copy item ignoring time selection
18 - Copy item ignoring snap and time selection
19 - Select time
20 - Adjust item volume
21 - Adjust item volume (fine)
22 - Move item and time selection
23 - Move item and time selection ignoring snap
24 - Copy item and move time selectino
25 - Copy item and move time selectio ignoring snap
26 - Select time ignoring snap
27 - Marquee select items
28 - Marquee select items and time
29 - Marquee select items and ignoring snap
30 - Marquee toggle item selection
31 - Marquee add to item selection
32 - Move item vertically
33 - Move item vertically ignoring selection/grouping
34 - Move item vertically ignoring time selection
35 - Move item vertically ignoring time selection and selection/grouping
36 - Copy item vertically
37 - Copy item vertically ignoring time selection
38 - Move item contents ignoring selection/grouping
39 - Copy item, pooling MIDI source data
40 - Copy item ignoring snap, pooling MIDI source data
41 - Copy item ignoring time selection pooling MIDI source data
42 - Copy item ignoring snap and time selection, pooling MIDI source data
43 - Copy item vertically, pooling MIDI source data
44 - Copy item vertically ignoring time selection, pooling MIDI source data
45 - Copy item and move time selection, pooling MIDI source data
46 - Copy item and move time selection ignoring snap, pooling MIDI source data
47 - Adjust take pan
48 - Marquee zoom
49 - Move item ignoring time selection, disabling ripple edit
50 - Move item ignoring time selection, enabling ripple edit for this track
51 - Move item ignoring time selection, enabling ripple edit for all tracks
52 - Move item ignoring snap and time selection, disabling ripple edit
53 - Move item ignoring snap and time selection, enabling ripple edit for this track
54 - Move item ignoring snap and time selection, enabling ripple edit for all tracks
55 - Move item contents, ripple all adjacent items
56 - Move item contents, ripple earlier adjacent items
57 - Move item contents and right edge, ripple later adjacent items
62 - Select razor edit area
63 - Select razor edit area ignoring snap
64 - Add to razor edit area
65 - Add to razor edit area ignoring snap
66 - Select razor edit area and time
67 - Select razor edit area and time ignoring snap
[MM_CTX_ITEM_DBLCLK] - Media Item - double click
_ActionCommandID - for Actions from the Main section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Open media item in external editor
2 - Set time selection to item
3 - Set loop points to item
4 - Show media item properties
5 - Show media item source properties
6 - MIDI: open in editor, Subprojects: open projec, Audio: show media item properties
7 - Show take list
8 - Show take props list
[MM_CTX_ITEMLOWER_CLK] - Media Item Bottom Half - left click
_ActionCommandID - for Actions from the Main section
-1 - default Reaper-builtin-behavior
0 - Pass through to item click context
1 - Select item and move edit cursor
2 - Select item and move edit cursor ignoring snap
3 - Select item
4 - Toggle item selection
5 - Add a range of items to selection
6 - Add a range of items to selection, if already selected extend time selection
7 - Add a range of items to selection, if already selected extend time selection ignoring snap
8 - Extend time selection
9 - Extend time selection ignoring snap
10 - Add a range of items to selection and extend time selection
11 - Add a range of items to selection and extend time selection ignoring snap
12 - Select item ignoring grouping
13 - Restore previous zoom/scroll
14 - Restore previous zoom level
15 - Add stretch marker
19 - Select razor edit area
20 - Extend razor edit area
[MM_CTX_ITEMLOWER] - Media Item Bottom Half - left drag
-1 - default Reaper-builtin-behavior
0 - Pass through to item drag context
1 - Move item
2 - Copy item
3 - Move item contents
4 - Move item ignoring snap
5 - Copy item ignoring snap
6 - Move item edges but not content
7 - Render item to new file
8 - Open source file in editor or external application
9 - Move item ignoring selection/grouping
10 - Move item ignoring snap and selection/grouping
11 - Adjust take pitch (semitones)
12 - Adjust take pitch (fine)
13 - Move item ignoring time selection
14 - Move item ignoring snap and time selection
15 - Move item ignoring time selection and selection/grouping
16 - Move item ignoring snap, time selection, and selection/grouping
17 - Copy item ignoring time selection
18 - Copy item ignoring snap and time selection
19 - Select time
20 - Adjust item volume
21 - Adjust item volume (fine)
22 - Move item and time selection
23 - Move item and time selection ignoring snap
24 - Copy item and move time selection
25 - Copy item and move time selection ignoring snap
26 - Select time ignoring snap
27 - Marquee select items
28 - Marquee select items and time
29 - Marquee select items and time ignoring snap
30 - Marquee toggle item selection
31 - Marquee add to item selection
32 - Move item vertically
33 - Move item vertically ignoring selection/grouping
34 - Move item vertically ignoring time selection
35 - Move item vertically ignoring time selection and selection/grouping
36 - Copy item vertically
37 - Copy item vertically ignoring time selection
38 - Move item contents ignoring selectino/grouping
39 - Copy item, pooling MIDI source data
40 - Copy item ignoring snap, pooling MIDI source data
41 - Copy item ignoring time selection, pooling MIDI source data
42 - Copy item ignoring snap and time selection, pooling MIDI source data
43 - Copy item vertically, pooling MIDI source data
44 - Copy item vertically ignoring time selection, pooling MIDI source data
45 - Copy item and move time selection, pooling MIDI source data
46 - Copy item and move time selection ignoring snap, pooling MIDI source data
47 - Adjust take pan
48 - Marquee zoom
49 - Move item ignoring time selection, disabling ripple edit
50 - Move item ignoring time selection, enabling ripple edit for this track
51 - Move item ignoring time selection, enabling ripple edit for all tracks
52 - Move item ignoring snap and time selection, disabling ripple edit
53 - Move item ignoring snap and time selection, enabling ripple edit for this track
54 - Move item ignoring snap and time selection, enabling ripple edit for all tracks
55 - Move item contents, ripple all adjacent items
56 - Move item contents, ripple earlier adjacent items
57 - Move item contents and right edge, ripple later adjacent items
62 - Select razor edit area
63 - Select razor edit area ignoring snap
64 - Add to razor edit area
65 - Add to razor edit area ignoring snap
66 - Select razor edit area and time
67 - Select razor edit area and time ignoring snap
[MM_CTX_ITEMLOWER_DBLCLK] - Media Item Bottom Half - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - Pass through to item double-click context
1 - Open media item in external editor
2 - Set time selection to item
3 - Set loop points to item
4 - show media item properties
5 - Show media item source properties
6 - MIDI: open in editor, Subprojects: open project, Audio: show media item properties
7 - Show take list
8 - Show take props list
[MM_CTX_ITEMEDGE] - Media Item Edge - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move edge
2 - Stretch item
3 - Move edge ignoring snap
4 - Stretch item ignoring snap
5 - Move edge ignoring selection/grouping
6 - Stretch item ignoring selection/grouping
7 - Move edge ignoring snap and selection/grouping
8 - Stretch item ignoring snap and selection/grouping
9 - Move edge (relative edge edit)
10 - Stretch item (relative edge edit)
11 - Move edge ignoring snap (relative edge edit)
12 - Stretch item ignoring snap (relative edge edit)
13 - Move edge without changing fade time
14 - Move edge ignoring snap without changing fade time
15 - Move edge ignoring selection/grouping without changing fade time
16 - Move edge ignoring snap and selection/grouping without changing fade time
17 - Move edge without changing fade time (relative edge edit)
18 - Move edge ignoring snap without changing fade time (relative edge edit)
21 - Select razor edit area
22 - Select razor edit area ignoring snap
23 - Add to razor edit area
24 - Add to razor edit area ignoring snap
25 - Select razor edit area and time
26 - Select razor edit area and time ignoring snap
[MM_CTX_ITEMEDGE_DBLCLK] - Media Item Edge - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - - no action
1 - - no action
[MM_CTX_ITEMFADE_CLK] - Media Item Fade/autocrossfade - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Delete fade/crossfade
2 - Delete fade/crossfade ignoring selection
3 - Set fade/crossfade to next shape
4 - Set fade/crossfade to previous shape
5 - Set fade/crossfade to previous shape ignoring selection
6 - Set fade/crossfade to next shape ignoring selection
7 - Open crossfade editor
[MM_CTX_ITEMFADE] - Media Item Fade/autocrossfade - left drag
-1 - default Reaper-builtin-behavior
0 - Move fade ignoring snap
1 - Move fade ignoring snap
2 - Move crossfade ignoring snap
3 - Move fade and stretch crossfaded items ignoring snap
4 - Move crossfade and stretch crossfaded items ignoring snap
5 - Move fade ignoring snap and selection/grouping
6 - Move crossfade ignoring snap and selection/grouping
7 - Move fade and stretch crossfaded items ignoring snap and selection/grouping
8 - Move crossfade and stretch items ignoring snap and selection/grouping
9 - Move fade ignoring snap (relative edge edit)
10 - Move crossfade ignoring snap (relative edge edit)
11 - Move fade and stretch crossfaded items ignoring snap (relative edge edit)
12 - Move crossfade and stretch items ignoring snap (relative edge edit)
13 - Adjust fade curve
14 - Adjust fade curve ignoring seleciont/grouping
15 - Adjust fade curve ignoring crossfaded items
16 - Adjust fade curce ignoring crossfaded items and selection/grouping
17 - Move fade ignoring snap and crossfaded item
18 - Move fade ignoring snap, selection/grouping, and crossfaded items
19 - Move fade ignoring snap and crossfaded items (relative edge edit)
20 - Move fade
21 - Move crossfade
22 - Move fade and stretch crossfaded items
23 - Move crossfade and stretch items
24 - Move fade ignoring selection/grouping
25 - Move crossfade ignoring selection/grouping
26 - Move fade and stretch crossfaded items ignoring selection/grouping
27 - Move crossfade and stretch items ignoring selection/grouping
28 - Move fade (relative edge edit)
29 - Move crossfade (relative edge edit)
30 - Move fade ans stretch crossfaded items (relative edge edit)
31 - Move crossfade and stretch items (relative edge edit)
32 - Move fade ignoring crossfaded items
33 - Move fade ignoring crossfaded items and selection/grouping
34 - Move fade ignoring crossfaded items (relative edge edit)
[MM_CTX_ITEMFADE_DBLCLK] - Media Item Fade/autocrossfade - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Delete item fade/crossfde
2 - Open crossfade editor
[MM_CTX_CROSSFADE_CLK] - Media item fade intersection - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Set both fades to next shape
2 - Set both fades to previous shape
3 - Set both fades to next shape ignoring selection
4 - Set both fades ti previous shape ignoring selection
5 - Open crossfade editor
[MM_CTX_CROSSFADE] - Media item fade intersection - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move both fades ignoring snap
2 - Move both fades ignoring snap and selection/grouping
3 - Move both fades ignoring snap (relative edge edit)
4 - Move both fades and stretch items ignoring snap
5 - Move both fades and stretch items ignoring snap and selection/grouping
6 - Move both fades and stretch items ignoring snap (relative edge edit)
7 - Adjust both fade curves horizontally
8 - Adjust both fade curves horizontally ignoring selection/grouping
9 - Adjust length of both fades preserving intersection ignoring snap
10 - Adjust length of both fades preserving intersection ignoring snap and selection/grouping
11 - Adjust length of both fades preserving intersection ignoring snap (relative edge edit)
12 - Adjust both fade curves horizontally and vertically
13 - Adjust both fade curves horizontally and vertically ignoring selection/grouping
14 - Move both fades
15 - Move both fades ignoring selection/grouping
16 - Move both fades (relative edge edit)
17 - Move both fades ans stretch items
18 - Move both fades and stretch items ignoring selection/grouping
19 - Move both fades and stretch items (relative edge edit)
20 - Adjust length of both fades preserving intersection
21 - Adjust length of both fades preserving intersection ignoring selection/grouping
22 - Adjust length of both fades preserving intersection (relative edge edit)
[MM_CTX_CROSSFADE_DBLCLK] - Media item fade intersection - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Open crossfade editor
2 - Reset to default crossfade
[MM_CTX_ITEMSTRETCHMARKER] - Media item stretch marker - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move stretch marker
2 - Move stretch marker ignoring snap
3 - Move stretch marker ignoring selection/grouping
4 - Move stretch marker ignoring snap and selection/grouping
5 - Move contents under stretch marker
6 - Move contents under stretch marker ignoring selection/grouping
7 - Move stretch marker pair
8 - Move stretch marker pair ignoring snap
9 - Move stretch marker pair ignoring selection/grouping
10 - Move stretch marker pair ignoring snap and selection/grouping
11 - Move contents under stretch marker pair
12 - Move contents under stretch marker pair ignoring selection/grouping
13 - Ripple move stretch markers
14 - Ripple move stretch markers ignoring snap
15 - Ripple move stretch markers ignoring selection/grouping
16 - Ripple move stretch markers ignoring snap and selection/grouping
17 - Ripple contents under stretch markers
18 - Ripple contents under stretch markers ignoring selection/grouping
19 - Move stretch marker preserving left-hand rate
20 - Move stretch marker preserving left-hand rate ignoring snap
21 - Move stretch marker preserving left-hand rate ignoring selection/grouping
22 - Move stretch marker preserving left-hand rate ignoring snap and selection/grouping
23 - Move stretch marker preserving all rates (rate envelope mode)
24 - Move stretch marker perserving all rates (rate envelope mode) ignoring snap
25 - Move stretch marker preserving all rates (rate envelope mode) ignoring selection/grouping
26 - Move stretch marker preserving all rates (rate envelope mode) ignoring snap and selection/grouping
[MM_CTX_ITEMSTRETCHMARKER_DBLCLK] - Media item stretch marker - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Reset stretch marker rate to 1.0
2 - Edit stretch marker rate
[MM_CTX_ITEMSTRETCHMARKERRATE] - Media item stretch marker rate - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Edit stretch marker rate
2 - Edit stretch marker rates on both sides
3 - Edit stretch marker rate preserving marker positions (rate envelope mode)
4 - Edit stretch marker rates on both sides preserving marker positions (rate envelope mode)
5 - Edit stretch marker rate, move contents under marker, ripple markers
6 - Edit stretch marker rates on both sides, move contents under marker, ripple markers
7 - Edit stretch marker rate, ripple markers
8 - Edit stretch marker rates on both sides, ripple markers
9 - Edit stretch marker rate ignoring selection/grouping
10 - Edit stretch marker rates on both sides ignoring selection/grouping
11 - Edit stretch marker rate preserving marker positions (rate envelope mode), ignoring selection/grouping
12 - Edit stretch marker rates on both sides preserving marker positions(rate envelope mode), ignoring selection/grouping
13 - Edit stretch marker rate, move contents under marker, ignoring selection/grouping
14 - Edit stretch marker rates on both sides, move contents under marker, ignoring selection/grouping, ripple markers
15 - Edit stretch marker rate, ripple markers, ignoring selection/grouping
16 - Edit stretch marker rates on both sides, ripple markers, ignoring selection/grouping
[MM_CTX_ENVLANE] - Envelope Lane - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Deselect all envelope points
2 - Deselect all envelope points and move edit cursor
[MM_CTX_POOLEDENV] - Automation Items - left drag
-1 - default behavior
0 - No action
1 - Move automation item - just snap
2 - Move automation item - ignoring snap
3 - Copy automation item and pool it
4 - Copy automation item and pool it, ignoring snap
5 - Copy automation item - just copy
6 - Copy automation item - ignoring snap
7 - Copy automation item and pool it, ignoring time selection
8 - Copy automation item and pool it, ignoring snap and time selection
9 - Copy automation item - ignoring time-selection
[MM_CTX_POOLEDENV_DBLCLICK] - Automation Items - double click
-1 - default behavior
0 - No action
1 - Show automation item properties
2 - Set time selection to item
3 - Set loop-points to item
4 - Load automation item
[MM_CTX_POOLEDENVEDGE] - Automation Items Edge- left drag
-1 - default behavior
0 - No action
1 - Move automation item edge - just move
2 - Move automation item edge - ignoring snap
3 - Stretch automation item edge
4 - Stretch automation item edge - ignoring snap
5 - Collect points into automation item
6 - Collect points into automation item - ignoring snap
7 - Stretch automation item edge - relative to other selected items
8 - Stretch automation item edge - relative to other selected items ignoring snap
9 - Move automation item edge - relative to other selected items
10 - Move automation item edge - relative to other selected items ignoring snap
[MM_CTX_ENVPT] - Envelope Point - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move envelope point
2 - Move envelope point ignoring snap
3 - Freehand draw envelope
4 - Delete envelope point
5 - Move envelope point vertically (fine)
6 - Move envelope point on one axis only
7 - Move envelope poiint on one axis only ignoring snap
8 - Copy envelope point
9 - Copy envelope point ignoring snap
10 - Move envelope point horizontally
11 - Move envelope point horizontally ignoring snap
12 - Move envelope point vertically
[MM_CTX_ENVPT_DBLCLK] - Envelope Point - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Reset point to default value
2 - Open envelope point editor
[MM_CTX_ENVSEG] - Envelope Segment - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move envelope segment ignoring time selection
2 - Insert envelope point, drag to move
3 - Freehand draw envelope
4 - Move envelope segment(fine)
5 - Edit envelope segment curvature
6 - Move envelope segment
7 - Move envelope segment preserving edge points
8 - Edit envelope segment curvature (gang selected points)
[MM_CTX_ENVSEG_DBLCLK] - Envelope Segment - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Reset envelope segment curvature
2 - Add envelope point
[MM_CTX_TRACK_CLK] - Track - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Deselect all items and move edit cursor
2 - Deselect all items and move edit cursor ignoring snap
3 - Deselect all items
4 - Clear time selection
5 - Extend time selection
6 - Extend time selectino ignoring snap
7 - Restore previous zoom/scroll
8 - restore previous zoom level
25 - Select razor edit area
26 - Select razor edit area ignoring snap
27 - Add to razor edit area
28 - Add to razor edit area ignoring snap
29 - Select razor edit area and time
30 - Select razor edit area and time ignoring snap
[MM_CTX_TRACK] - Track - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Draw a copy of the selected media item
2 - Draw a copy of the selected media item ignoring snap
3 - Draw a copy of the selected media item on the same track
4 - Draw a copy of the selected media item on the same track ignoring snap
5 - Draw an empty MIDI item
6 - Draw an empty MIDI item ignoring snap
7 - Select time
8 - Select time ignoring snap
9 - Marquee select items
10 - Marquee select items and time
11 - Marquee select items and time ignoring snap
12 - Marquee toggle item selection
13 - Marquee add to item selection
14 - Move time selection
15 - Move time selection ignoring snap
16 - Draw a copy of the selected media item, pooling MIDI source data
17 - Draw a copy of the selected media item ignoring snap, pooling MIDI source data
18 - Draw a copy of the selected media item on the same track, pooling MIDI source data
19 - Draw a copy of the selected media item on the same track ignoring snap, pooling MIDI source data
20 - Edit loop points
21 - Edit loop points ignoring snap
22 - Marquee zoom
[MM_CTX_TRACK_DBLCLK] - Track - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
[MM_CTX_TCP_DBLCLK] - Track Control Panel - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select all media items on track
2 - Zoom view to track
3 - Toggle selection for all media items on track
4 - Add all media items on track to selection
5 - restore previous zoom/scroll
6 - Restore previous zoom level
[MM_CTX_MCP_DBLCLK] - Mixer Control Panel - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select all media items on track
2 - Zoom view to track
3 - Toggle selection for all media items on track
4 - Add all media items on track to selection
[MM_CTX_ENVCP_DBLCLK] - Envelope Control Panel - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select/unselect all envelope points
[MM_CTX_RULER_CLK] - Ruler - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move edit cursor
2 - Move edit cursor ignoring snap
3 - Clear loop points
4 - Extend loop points
5 - Extend loop points ignoring snap
6 - Seek playback without moving edit cursor
7 - restore previous zoom/scroll
8 - Restore previous zoom level
[MM_CTX_RULER] - Ruler - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Edit loop point
3 - Move loop points
4 - Move loop points ignoring snap
5 - Edit loop point and time selection together
7 - Move loop points and time selection together
8 - Move loop points and time selection together ignoring snap
9 - Hand scroll
10 - Hand scroll and horizontal zoom
12 - Horizontal zoom
14 - Set edit cursor and horizontal zoom
[MM_CTX_RULER_DBLCLK] - Ruler - double click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Set loop points to region
2 - Set time selection to region
3 - Set loop points and time selection to region
4 - Restore previous zoom/scroll
5 - Restore previous zoom level
[MM_CTX_MARKERLANES] - Ruler marker/region lanes - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Hand scroll
2 - Hand scroll and horizontal zoom
4 - Horizontal zoom
6 - Set edit cursor and horizontal zoom
8 - Set edit cursor and hand scroll
9 - Set edit cursor, hand scroll and horizontal zoom
[MM_CTX_REGION] - Project region - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move contents of project region
2 - Move contents of project region ignoring snap
3 - Copy contents of project regions
4 - Copy contents of project regions ignoring snap
5 - Move project regions but not contents
6 - Move project regions but not contents ignoring snap
7 - Copy project regions but not contents
8 - Copy project regions but not contents ignoring snap
[MM_CTX_MARKER_REGIONEDGE] - Project marker/region edge - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move project marker/region edge
2 - Move project marker/region edge ignoring snap
[MM_CTX_TEMPOMARKER] - Project tempo/time signature marker - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move project tempo/time signature marker
2 - Move project tempo/time signature marker ignoring snap
3 - Move project tempo/time signature marker, adjusting previous tempo
4 - Move project tempo/time signature marker, adjusting previous and current tempo
[MM_CTX_AREASEL_CLK] - Razor edit area - left click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Remove one area
2 - Delete areas contents
3 - Remove areas
4 - Split media items at area edges
5 - Move areas backwards
6 - Move areas forwards
7 - Move areas up without contents
8 - Move areas down without contents
[MM_CTX_AREASEL] - Razor edit area - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move areas
2 - Move areas ignoring snap
3 - Copy areas
4 - Copy areas ignoring snap
5 - Move areas without contents
6 - Move areas without contents ignoring snap
7 - Move areas vertically
8 - Move areas on one axis only
9 - Copy areas vertically
10 - Move areas horizontally
11 - Move areas on one axis only ignoring snap
12 - Copy areas horizontally
13 - Move areas horizontally ignoring snap
14 - Copy areas horizontally ignoring snap
15 - Copy areas on one axis only
16 - Copy areas on one axis only ignoring snap
[MM_CTX_AREASEL_EDGE] - Razor edit edge - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move edges
2 - Move edges ignoring snap
3 - Stretch areas
4 - Stretch areas ignoring snap
[MM_CTX_AREASEL_ENV] - Razor edit envelope area - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move or tilt envelope vertically
2 - Expand or compress envelope range
3 - Expand or compress envelope range toward top/bottom
4 - Move or tilt envelope vertically (fine)
[MM_CTX_ARRANGE_RMOUSE] - Arrange view - right drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Marquee select items
2 - Marquee select items and time
3 - Marquee select items and time ignoring snap
4 - Select time
5 - Select time ignoring snap
6 - Marquee toggle item selection
7 - Marquee add to item selection
8 - Hand scroll
9 - Scroll browser-style
10 - Scrub audio
11 - Jog audio
12 - Scrub audio (looped-segmant mode)
13 - Jog audio (looped-segment mode)
14 - Marquee zoom
15 - Hand scroll and horizontal zoom
17 - Horizontal zoom
19 - Set edit cursor and horizontal zoom
21 - Set edit cursor and hand scroll
22 - Set edit cursor, hand scroll and horizontal zoom
23 -
24 - Select razor edit area
25 - Select razor edit area ignoring snap
26 - Add to razor edit area
27 - Add to razor edit area ignoring snap
28 - Select razor edit area from cursor
29 - Select razor edit area from cursor ignoring snap
30 - Remove from razor edit area
31 - Remove from razor edit area ignoring snap
32 - Select razor edit area and time
33 - Select razor edit area and time ignoring snap
34 - Create fixed lane comp area
35 - Create fixed lane comp area ignoring snap
[MM_CTX_ARRANGE_MMOUSE_CLK] - Arrange view - middle click
_ActionCommandID - for Actions from the section Main
-1 - default Reaper-builtin-behavior
0 - No action
1 - Restore previous zoom/scroll
2 - Restore previous zoom level
3 - Move edit cursor ignoring snap
[MM_CTX_ARRANGE_MMOUSE] - Arrange view - middle drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Scrub audio
2 - Hand scroll
3 - Scroll browser-style
4 - Jog audio
5 - Scrub audio (lopped-segment mode)
6 - Jog audio (looped-segment mode)
7 - Marquee zoom
8 - Move edit cursor without scrub/jog
9 - Hand scroll and horizontal zoom
11 - Horizontal zoom
13 - Set edit cursor and orizontal(sic!) zoom
15 - Set edit cursor and hand scroll
16 - Set edit cursor, hand scroll and horizontal zoom
[MM_CTX_CURSORHANDLE] - Edit Cursor Handle - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Scrub audio
2 - Jog audio
3 - Scrub audio (looped-segment mode)
4 - Jog audio (looped-segment mode)
[MM_CTX_LINKEDLANE] - Fixed lane comp area - left drag
-1 - default Reaper-builtin-behavior
0 - no action
1 - Move comp area vertically
2 - Move comp area ignoring snap
3 - Move comp area horizontally
4 - Move comp area horizontally ignoring snap
5 - Move comp area vertically
6 - Move comp area on one axis only
7 - Move comp area and media items
8 - Move comp area and media items ignoring snap
9 - Move comp area and media items horizontally
10 - Move comp area and media items horizontally ignoring snap
11 - Move comp area and media items vertically
12 - Move comp area and media items on one axis only
13 - Add comp area
14 - Add comp area ignoring snap
15 - Copy comp area and media items together
16 - Copy comp area and media items together ignoring snap
17 - Move comp area and media items on all lanes
18 - Move comp area and media items on all lanes ignoring snap
19 - Copy comp area and media items on all lanes together
20 - Copy comp area and media items on all lanes together ignoring snap
21 - Move comp area and adjacent comp area edges
22 - Move comp area and adjacent comp area edges ignoring snap
23 - Move comp area and adjacent comp area edges and media items
24 - Move comp area and adjacent comp area edges and media items ignoring snap
25 - Move comp area and adjacent comp area edges horizontally
26 - Move comp area and adjacent comp area edges horizontally ignoring snap
27 - Move comp area and adjacent comp area edges on one axis only
[MM_CTX_LINKEDLANE_CLK] -Fixed lane comp area - left click
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move comp area up
2 - Move comp down
3 - Delete comp area but not media items
4 - Set loop points to comp area
5 - Move comp area to lane under mouse
6 - Heal comp area with adjacent comp areas on the same lane
7 - Split media items at comp area edges
8 - Extend comp area to next comp area or end of media
9 - Delete comp area
10 - Split comp area
11 - Split comp area ignoring snap
12 - Set loop points to comp area (half second preroll/postroll)
13 - Set loop points to comp area (one second preroll/postroll)
14 - Copy edited media items to new lane and re-comp
[MM_CTX_LINKEDLANE_DBLCLK] -Fixed lane comp area - double click
-1 - default Reaper-builtin-behavior
0 - No action
1 - Set loop points to comp area
2 - Extend comp area to next comp area or end of media
3 - Split media items at comp area edges
4 - Copy edited media items to new lane and re-comp
5 - Set loop points to comp area (half second preroll/postroll)
6 - Set loop points to comp area (one second preroll/postroll)
[MM_CTX_FIXEDLANETAB_CLK] -Fixed lane header button - left click
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select items in lane
2 - Toggle selection of items in lane
3 - Play only this lane
4 - Play no lanes
5 - Toggle playing this lane
6 - Play only this lane while mouse button is pressed
7 - Record into this lane
8 - Play all lanes
9 - Comp into lane
10 - Comp into a new copy of lane
11 - Comp into a new empty lane
12 - Insert lane
13 - Delete lane (including media items)
14 - Comp into a new empty lane, automatically creating comp areas
15 - Copy edited media items to new lane and re-comp
[MM_CTX_FIXEDLANETAB_DBLCLK] -Fixed lane header button - double click
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select items in lane
2 - Toggle selection of items in lane
3 - Play only this lane
4 - Play no lanes
5 - Toggle playing this lane
6 - Record into this lane
7 - Play all lanes
8 - Comp into lane
9 - Comp into a new copy of lane
10 - Comp into a new empty lane
11 - Insert lane
12 - Delete lane (including media items)
13 - Comp into a new empty lane, automatically creating comp areas
14 - Copy edited media items with no matching source lane to new lane and re-comp
[MM_CTX_MIDI_NOTE_CLK] - MIDI note - left click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Select note
2 - Select note and move edit cursor
3 - Select note and move edit cursor ignoring snap
4 - Toggle note selection
5 - Add note to selection
6 - Erase note
7 - Toggle note mute
8 - Set note channel higher
9 - Set note channel lower
10 - Double note length
11 - Halve note length
12 - Select note and all later notes
13 - Add note and all later notes to selection
14 - Select note and all later notes of same pitch
15 - Add note and all later notes of same pitch to selection
16 - Select all notes in measure
17 - Add all notes in measure to selection
[MM_CTX_MIDI_NOTE] - MIDI note - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move note
2 - Move note ignoring snap
3 - Erase notes
4 - Select time
5 - Move note on one axis only
6 - Move note on one axis only ignoring snap
7 - Copy note
8 - Copy note ignoring snap
9 - Edit note velocity
10 - Edit note velocity (fine)
11 - Move note horizontally
12 - Move note horizontally ignoring snap
13 - Move note vertically
14 - Select time ignoring snap
15 - Marquee select notes
16 - Marquee toggle note selection
17 - Marquee add to note selection
18 - Marquee select notes and time
19 - Marquee select notes and time ignoring snap
20 - Stretch note positions ignoring snap (arpeggiate)
21 - Stretch note selection vertically (arpeggiate)
22 - Stretch note selection vertically (arpeggiate)
23 - Stretch note lengths ignoring snap (arpeggiator legato)
24 - Stretch note lengths (arpeggiate legato)
25 - Copy note horizontally
26 - Copy note horizontally ignoring snap
27 - Copy note vertically
28 - Select notes touched whule dragging
29 - Toggle selection for notes touched while dragging
30 - Move note ignoring selection
31 - Move note ignoring snap and selection
32 - Move note vertically ignoring scale/key
33 - Move note vertically ignoring scale/key (doubled from 32?)
[MM_CTX_MIDI_NOTE_DBLCLK] - MIDI note - double click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Erase note
2 - Activate MIDI item (when clicking a note that is noch in the active item)
[MM_CTX_MIDI_NOTEEDGE] - MIDI note edge - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move note edge
2 - Move note edge ignoring snap
3 - Stretch notes
4 - Stretch notes ignoring snap
5 - Move note edge ignoring selection
6 - Move note edge ignoring snap and selection
[MM_CTX_MIDI_CCEVT] - MIDI CC event - left click/drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move CC event
2 - Move CC event ignoring snap
3 - Erase CC event
4 - Move CC event on one axis only
5 - Move CC event on one axis only ignoring snap
6 - Copy CC event
7 - Copy CC event ignoring snap
8 - Move CC horizontally
9 - Move CC horizontally ignoring snap
10 - Move CC vertically
11 - Marquee select CC
12 - Marquee toggle CC selection
13 - Marquee add to CC selection
14 - Marquee select CC and time
15 - Marquee select CC and time ignoring snap
16 - Select time
17 - Select time ignoring snap
18 - Draw/edit CC events ignoring selection
19 - Linear ramp CC events ignoring selection
20 - Draw/edit CC events ignoring snap and selection
21 - Edit selected CC events if any, otherwise draw/edit ignoring snap
22 - Edit CC events ignoring selection
23 - Edit CC events
24 - Linear ramp CC events
[MM_CTX_MIDI_CCEVT_DBLCLK] - MIDI CC event - double click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Insert CC event
2 - Insert CC event ignoring snap
[MM_CTX_MIDI_CCLANE] - MIDI CC lane - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Draw/edit CC events ignoring selection
2 - Edit selected CC events if any, otherwise draw/edit
3 - Erase CC events
4 - Linear ramp CC events ignoring selection
5 - Linear ramp CC events
6 - Draw/edit CC events ignoring snap and selection
7 - Edit CC events ignoring selection
8 - Edit selected CC events if any, otherweise draw/edit ignoring snap
9 - Marquee select CC
10 - Marquee toggle CC selection
11 - Marquee add to CC selection
12 - Marquee select CC and time
13 - Marquee select CC and time ignoring snap
14 - Select time
15 - Select time ignoring snap
16 - Edit CC events
[MM_CTX_MIDI_CCLANE_DBLCLK] - MIDI CC lane - double click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Insert CC event
2 - Insert CC event ignoring snap
[MM_CTX_MIDI_CCSEG] - MIDI CC segment - left click/drag
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move CC segment ignoring time selection
2 - Insert CC event
3 - Insert CC event ignoring snap
4 - Draw/edit CC events ignoring selection
5 - Draw/edit CC events ignoring snap and selection
7 - Edit CC segment curvature
[MM_CTX_MIDI_CCSEG_DBLCLK] - MIDI CC segment - double click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Reset CC segment curvature
2 - Add CC event
3 - Add CC event ignoring snap
[MM_CTX_MIDI_ENDPTR] - MIDI source loop end marker - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Edit MIDI source loop length
2 - Edit MIDI source loop length ignoring snap
3 - Stretch MIDI source loop length
4 - Stretch MIDI source loop length ignoring snap
[MM_CTX_MIDI_RULER_CLK] - MIDI ruler - left click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Move edit cursor
2 - Move edit cursor ignoring snap
3 - Select notes or CC in time selection
4 - Clear loop or time selection
[MM_CTX_MIDI_RULER] - MIDI ruler - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Edit loop point (ruler) or time selection (piano roll)
2 - Edit loop point (ruler) or time selection (piano roll) ignoring snap
3 - Move loop points (ruler) or time selection (piano roll)
4 - Move loop points (ruler) or time selection together
5 - Edit loop point and time selection together
6 - Edit loop point and time selection together ignoring snap
7 - Move loop points and time selection together
8 - Move loop points and time selection together ignoring snap
[MM_CTX_MIDI_RULER_DBLCLK] - MIDI ruler - double click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Zoom to selected notes/CC
2 - File: Close window
[MM_CTX_MIDI_MARKERLANES] - MIDI marker/region lanes - left drag
-1 - default Reaper-builtin-behavior
0 - No action
1 - Hand scroll
2 - Hand scroll and horizontal zoom
4 - Horizontal zoom
6 - Set edit cursor and horizontal zoom
8 - Set edit cursor, hand scroll and horiztonal zoom
[MM_CTX_MIDI_PIANOROLL_CLK] - MIDI piano roll - left click
_ActionCommandID - from MIDI-editor section
-1 - default Reaper-builtin-behavior
0 - No action
1 - Deselect all notes and mode edit cursor
2 - Deselect all notes and move edit cursor ignoring snap
3 - Deselect all notes
4 - Insert note
5 - Insert note ignoring snap
6 - Set draw channel higher
7 - Set draw channel lower
8 - Insert note, leaving other notes selected
9 - Insert note ignoring snap, leaving other notes selected
[MM_CTX_MIDI_PIANOROLL] - MIDI piano roll - left drag
-1 - default Reaper-builtin-behavior
0 - no action
1 - Insert note, drag to extend or change pitch
2 - Insert note ignoring snap, drag to extend or change pitch
3 - Erase notes
4 - Select time
5 - Paint notes and chords
6 - select time ignoring snap
7 - Marquee select notes
8 - Marquee toggle note selection
9 - Marquee add to note selection
10 - Marquee select notes and time
11 - Marquee select notes and time ignoring snap
12 - Insert note, drag to move
13 - Paint a row of note of the same pitch
14 - Insert note, drag to extend
15 - Insert note ignoring snap, drag to extend
16 - Scrub preview MIDI
17 - Insert note ignoring snap, drag to move
18 - Insert note ignoring snap, drag to edit velocity
19 - Insert note, drag to edit velocity
20 - Paint a stack of note of the same time position
21 - Paint notes ignoring snap
22 - Paint notes
23 - Paint a straight line of notes
24 - Paint a straight line of notes ignoring snap
25 - Select notes touched while dragging
26 - Toggle selection for notes touched while dragging
27 - Copy selected notes
28 - Copy selected notes ignoring snap
29 - Move selected notes
30 - Move selected notes ignoring snap
31 - Insert note
32 - Insert note ignoring snap
33 - Insert note ignoring scale/key, drag to move
34 - Insert note ignoring snap and scale/key, drag to move
35 - Insert note ignoring scale/key, drag to extend or change pitch
36 - Insert note ignoring snap and scale/key, drag to extend or change pitch
[MM_CTX_MIDI_PIANOROLL_DBLCLK] - MIDI piano roll - double click
_ActionCommand - default Reaper-builtin-behavior
-1 - No action
0 - Insert note
1 - Insert note ignoring snap
[MM_CTX_MIDI_RMOUSE] - MIDI Editor - right click
-1 - default Reaper-builtin-behavior
0 - No action
1 - Marquee select notes/CC
2 - Marquee select notes/CC and time
3 - Marquee select notes/CC and time ignoring snap
4 - Select time
5 - Select time ignoring snap
6 - Erase notes/CC
7 - Marquee toggle note/CC selection
8 - Marquee add to notes/CC selection
9 - Hand scroll
10 - Erase notes/CC immediately (supresses right-click context menu)
11 - Select notes touched while dragging
12 - Toggle selection for notes touched while dragging