Old 03-18-2018, 09:51 AM   #1
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default Full reaper-kb.ini Doc: customize action/scripts/keyboardshortcut-bindings

I took the liberty to document the reaper-kb.ini-file with all it's rules, systems, shortcuts and everything you want to know of it.

http://mespotine.de/Ultraschall/reaper-kb.ini.html

With the docs, you can:
- write and customize your own actions and scripts,
- set your own action-command-ids and it's rules (no more cryptic _RS36475343458 anymore)
- you can set if a script shall be run as one instance, or multiple instances or if the termination-dialog shall appear
- you can set your own Keyboard-shortcuts
- you can find out, it a factory-default-shortcut is given or not
- you know the rules in how to set up/define your own MIDI-shortcuts
- you have full control of, in which section your action/script/shortcut appears

and in addition, I made two ini-files:
- one that includes all shortcuts(except the MIDI-ones, as they can be generated using the given rules in the docs)
- one that includes all factory-default-shortcuts and their associated command-ids


If you find errors(probably) and missing stuff, don't hesitate to throw it into this thread, so I can complete it.

The docs is as recent as of Reaper5.77 and should cover at least 98% of the reaper-kb.ini, with maybe only some edge-cases not documented(if you find some, drop me a note!)

Three weeks of documenting. I'm exhausted.... O_O

Last edited by mespotine; 03-18-2018 at 10:13 AM.
mespotine is offline   Reply With Quote
Old 03-18-2018, 12:43 PM   #2
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,710
Default

Nice reverse engineering and documentation work :P
X-Raym is offline   Reply With Quote
Old 03-18-2018, 12:47 PM   #3
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

Thanks Hope it comes in handy for all of you, as it does for me
mespotine is offline   Reply With Quote
Old 03-18-2018, 12:49 PM   #4
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,219
Default

Nice work!
__________________
Reaper x64, win 8.1
G-Sun.no - Music Blog - My music
G-Sun is offline   Reply With Quote
Old 02-24-2019, 05:16 AM   #5
nappies
Human being with feelings
 
nappies's Avatar
 
Join Date: Dec 2017
Posts: 95
Default

mespotine!Thank you!Very useful to understand more!
nappies is offline   Reply With Quote
Old 02-25-2019, 10:39 AM   #6
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

This document is outdated, but you can find a better one at my Reaper-Internals-thread, among tons of other docs about my findings in Reaper:

https://forum.cockos.com/showthread.php?t=207635
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 04-27-2019, 01:16 PM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,003
Default

Quote:
Originally Posted by mespotine View Post
I took the liberty to document the reaper-kb.ini-file with all it's rules, systems, shortcuts and everything you want to know of it.
http://mespotine.de/Ultraschall/reaper-kb.ini.html
In this thread -> https://forum.cockos.com/showthread.php?t=220225 we discussed that the "Learned" assignment of SWS LiveConfigs is stored in the reaper-kb.ini-file as a "KEY".

In the docs there seems to be nothing about "learn", though

Does reaper-kb.ini store all "Learn" results or is LiveConfigs a peculiar exception ?

-Michael
__________________
www.boa-sorte.de

Last edited by mschnell; 05-12-2019 at 03:56 AM.
mschnell is online now   Reply With Quote
Old 04-29-2019, 06:57 AM   #8
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

Good point, I'll look into that, as I'm working on functions anyway.

Keep in mind: OSC-keybindings aren't stored in the reaper-kb.ini, so I think they aren't stored in there for Learning as well.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 04-29-2019, 07:12 AM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,003
Default

What do you suggests ODC "Learns" are stored ?

It seems rather funny that the result of a "Learn" is stored in different files depending on what kind of event is detected. But maybe that is how it's done.
-Michael
__________________
www.boa-sorte.de
mschnell is online now   Reply With Quote
Old 04-29-2019, 07:16 AM   #10
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

Havent looked at it yet, but the "normal" shortcuts are stored in reaper-osc-actions.ini, so I think, Learn is also stored in there.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 04-30-2019, 08:53 AM   #11
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

Ok, I can confirm, that SWS-Learn is stored in
Osc/reaper-osc-actions.ini for osc and in reaper-kb.ini for all other shortcuts(Midi, Multitouch,normal keys)

Nothing special about it, only the ActionCommandIDs from SWS-liveconfigs are used(the ones you pointed out in the other thread),, the rest is like my docs described for KEY-entries.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 05-12-2019, 04:04 AM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,003
Default

Did you manage to decode how midi-triggered "learned" actions are encoded in reaper-kb.ini (and how they are encoded encoded in eaper-osc-actions.ini if they are triggered by OSC) ?

Additional background: it seems to be impossible to manually edit the "Learn" feature in Reaper at all, you need to re-learn an action if you want to assign it to some new Midi event (or do any new learn assignment). This is impossible in certain situations e.g. if you can't generate such an event while the Learn window is open (because you need the Reaper GUI to generate such an event) or if there is ongoing Midi traffic all the time and you can't just fire a single Midi (or OSC) event to do the "Learn" job.

Hence manually editing the file might be the only viable workaround.

-Michael
__________________
www.boa-sorte.de
mschnell is online now   Reply With Quote
Old 05-15-2019, 09:50 AM   #13
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,123
Default

Do you mean SWS-Learn? Yes, this is impossible, as you can only update the shortcuts in the kb.ini and restart Reaper, or do it in the actions-dialog.

If you mean parameter-learing(which is not SWS-Learn, afaik) in general, it is possible, as they are stored in the FXStateChunks of Items and Tracks.
I'm currently working on Lua-functions to deal with them for my Ultraschall-API.


Quote:
Did you manage to decode how midi-triggered "learned" actions are encoded in reaper-kb.ini (and how they are encoded encoded in eaper-osc-actions.ini if they are triggered by OSC) ?
Should be stored, like KEY-entries in the kb.ini. I managed to document most of the MIDI-stuff-entries, with the exception of MIDI-CC, as these are too many.
So just check the docs again, especially the KEY-entries and experiment with adjusting the kb.ini(keep a backup, of course).
You quickly get the idea, how they are encoded.
SWS Learn is just like any other Shortcut, with the exception, that the action-command-id is different(there are two of them, but I forgot, which they were).

For "regular"-parameter-learn/modulation-stuff(the one stored in StateChunks), refer this documentation: https://github.com/Ultraschall/ultra...mLearnDocs.txt
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 05-15-2019, 10:52 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,003
Default

Sorry if I am dense.

Do you suggest that the learned MIDI/OSC messages are stored in reaper-kb.ini only if they are associated with SWS ? I seem to remember that other (Parameter / Action) Learn processes provide the same menu to the user. Weird. And where are the learned messages for Parameter modulation and Reaper actions stored ?

-Michael
__________________
www.boa-sorte.de
mschnell is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:06 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.