Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 03-18-2018, 09:51 AM   #1
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default Full reaper-kb.ini Doc: customize action/scripts/keyboardshortcut-bindings

NOTE: You can find my Reaper-Internals-docs under this link:
https://mespotin.uber.space/Ultrasch...mentation.html

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.

https://mespotin.uber.space/Ultrasch...#Reaper-kb.ini

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, including global shortcuts

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 Meo-Ada Mespotine; 03-06-2020 at 10:31 AM.
Meo-Ada 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: 9,875
Default

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

Thanks Hope it comes in handy for all of you, as it does for me
Meo-Ada 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,318
Default

Nice work!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
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: 302
Default

mespotine!Thank you!Very useful to understand more!
nappies is offline   Reply With Quote
Old 02-25-2019, 10:39 AM   #6
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
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
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada 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: 14,688
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

Last edited by mschnell; 05-12-2019 at 03:56 AM.
mschnell is offline   Reply With Quote
Old 04-29-2019, 06:57 AM   #8
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
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.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada 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: 14,688
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
mschnell is offline   Reply With Quote
Old 04-29-2019, 07:16 AM   #10
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
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.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 04-30-2019, 08:53 AM   #11
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
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.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada 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: 14,688
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
mschnell is offline   Reply With Quote
Old 05-15-2019, 09:50 AM   #13
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
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
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada 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: 14,688
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
mschnell is offline   Reply With Quote
Old 03-05-2020, 01:45 PM   #15
earhax
Human being with feelings
 
earhax's Avatar
 
Join Date: Nov 2015
Location: earth
Posts: 471
Default

YES! Finally, just what I've been looking for oh wait the file is no longer there.
earhax is offline   Reply With Quote
Old 03-05-2020, 04:21 PM   #16
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

https://mespotin.uber.space/Ultrasch...criptions.html > Reaper-kb.ini

btw. while I'm here @mespotine
Why doesn't right clicking links work as expected on your site or is it only me? :P
I often use rightclick link > open in new tab, but your site scrolls instead of showing that context menu for me.

screencapture:
https://i.imgur.com/ywM8JJ1.gif
nofish is offline   Reply With Quote
Old 03-06-2020, 10:28 AM   #17
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

FYI: The full Reaper-Internals docs can be found here

https://mespotin.uber.space/Ultrasch...mentation.html


@nofish
I have no idea. I suppose it has something to do with CSS, but I'm not really familiar webtechnology at all.
I will rework the docs anyway, so maybe I can fix that by just rewriting that stuff from scratch
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 03-06-2020, 11:16 AM   #18
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by mespotine View Post
@nofish
I have no idea. I suppose it has something to do with CSS, but I'm not really familiar webtechnology at all.
I will rework the docs anyway, so maybe I can fix that by just rewriting that stuff from scratch
Thanks, but you can disregard I think.
I checked again, works fine with Chrome and a clean FF install, so pretty sure it's one of my FF extensions that causes it.
nofish is offline   Reply With Quote
Old 03-06-2020, 02:30 PM   #19
earhax
Human being with feelings
 
earhax's Avatar
 
Join Date: Nov 2015
Location: earth
Posts: 471
Default

@nofish

Actually, the file I was looking for was the Reaper-KEY-Codes_final.ini linked here.

https://mespotin.uber.space/Ultrasch...criptions.html

The file is not longer there. I'm trying to find a list of all the key codes, including all modifier combinations.

The text of the section with the link.

- 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).
earhax is offline   Reply With Quote
Old 03-06-2020, 03:00 PM   #20
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

There are two KEY-codes files linked here (reaper-kb.ini - KEY-codes, reaper-kb.ini - factory default KEY-codes)

https://forum.cockos.com/showthread.php?t=207635

If that's not what you're looking for, mespotine should know.
nofish is offline   Reply With Quote
Old 03-06-2020, 03:26 PM   #21
earhax
Human being with feelings
 
earhax's Avatar
 
Join Date: Nov 2015
Location: earth
Posts: 471
Default

@nofish

Cool. I think the reaper-kb.ini - KEY-codes file has the data I'm looking for. Too big to view properly on my Pixel 2, though... keeps crashing Chrome. So I'll have to check it on my desktop to be sure. But from the looks of the first ≈200 lines, it seems like it. Thanks!
earhax is offline   Reply With Quote
Old 03-06-2020, 03:30 PM   #22
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

You're welcome.

direct download links, if that helps (rightclick, save as..):

https://github.com/Ultraschall/ultra...per-kb_ini.ini

https://github.com/Ultraschall/ultra...per-kb_ini.ini
nofish is offline   Reply With Quote
Old 03-07-2020, 02:01 PM   #23
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Important : the Keycodes are those for Windows. Mac encodes some stuff with other codes. Will look into it soon.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 03-07-2020, 09:08 PM   #24
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,719
Default

I want to thank you mespotine for all you have done and documented. Now I have access to all those preference check-boxes etc.

Truly a huge contribution!!

Thanks so much!

Cheers,

Andrew K
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 03-08-2020, 05:37 AM   #25
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

You're welcome
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   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:39 PM.


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