Skip to content

Configurable mapping of non-NKS FX parameters#65

Merged
jcsteh merged 20 commits intomasterfrom
map
Feb 11, 2026
Merged

Configurable mapping of non-NKS FX parameters#65
jcsteh merged 20 commits intomasterfrom
map

Conversation

@jcsteh
Copy link
Copy Markdown
Owner

@jcsteh jcsteh commented Feb 10, 2026

This enables you to specify how parameters are mapped to Kontrol knobs for specific plugins.
ReaKontrol will load these maps from reaKontrol/fxMaps/plugin name.rkfm inside the REAPER resource folder.
Slash, backslash and colon are removed from the file name.
For example, on Windows, this might be %appdata%\REAPER\reaKontrol\fxMaps\VST ReaComp (Cockos).rkfm.
The file format is as follows:

# This is a comment.
0 # Parameter 0 will be mapped to the first knob on the first page.
2 # Parameter 2 will be mapped to the second knob.
4 # Parameter 4 will be mapped to the third knob.
--- # Page break. The remaining knobs on this page will be unassigned.
reverb: # This is a section name for the following knobs.
6 # Parameter 6 will be mapped to the first knob on the second page.

ReaKontrol can help you create these maps.
First, select the FX you want to work with using your Kontrol keyboard.
Then, run the "ReaKontrol: Generate map file for selected FX" action and it will generate the appropriate map file with all the parameter numbers and their names as comments.

@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Build 82 failed!

@jcsteh
Copy link
Copy Markdown
Owner Author

jcsteh commented Feb 10, 2026

Now there is a ReaKontrol: Generate map file for selected FX action. You select the FX you want to work with using Kontrol, then run that action and it will generate the appropriate map file with all the parameter numbers and their names as comments.

@jcsteh jcsteh closed this Feb 10, 2026
@jcsteh jcsteh reopened this Feb 10, 2026
@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

@ScottChesworth
Copy link
Copy Markdown
Contributor

Everything implemented thus far is working well here on an M-32. This is killer! Got a couple of requests:

  1. When an effect gets selected on Kontrol that has a map, can that be reported? I'm imagining hearing something I can set on the topmost line of the rkfm file, EG "Pure Plate V4 map". As things stand I hear "VST3: UADx Pure Plate Reverb (Universal Audio (UADx))" and have no idea whether I'm using a map or not.
  2. Any chance of a symbol in the template we can use to override a parameter name? I know that's not possible with NKS params, wondering whether there's any more potential seeing as these are non-NKS. It would be useful for accessifying effects/instruments with bad param labelling.

Thanks heaps for working on this man. I'll start a repo for map files on The Hoard as soon as you say the format is set in stone.

@jcsteh
Copy link
Copy Markdown
Owner Author

jcsteh commented Feb 10, 2026

  1. When an effect gets selected on Kontrol that has a map, can that be reported?

What's the use case/benefit here? If it has a map, the parameters will be nice. If it doesn't, they might not be. Presumably a user knows what they installed. I'm mostly pushing back because I can't think of a good way to specify the map name without completely re-thinking the file format, but if it's really important, I'll find a way. Section names already took the colon. I guess I could use square brackets, but that doesn't seem clear. Just using the first line would require a map name for every map and I don't think we always want that.

@ScottChesworth
Copy link
Copy Markdown
Contributor

I don't think square brackets containing the name would be bad so long as it's documented.
Use cases are it'll be quicker to hear reports equivalent of OSARA's stripped FX names. Would also be useful for authoring/versioning. People are gonna go bonkers making maps for this man, I can already see it. Support-wise it would be helpful if we can have someone hit the button and hear that they're running "ReaEQ V12 bhy Scott" versus "ReaEQ some other version by some other person". And of course if we hear "VST ReaEQ (Cockos)" then we know they're automapped so we can assume that's not part of whatever problem we're chasing.
If customizing the name is too tedious, would appending a the word "map" be possible when a file name matches the selected effect? That would still address the last use case above.

@jcsteh
Copy link
Copy Markdown
Owner Author

jcsteh commented Feb 10, 2026

Maybe first line is okay. I dunno. Which do you think is more readable/intuitive?

Scott's deliberately annoying ReaComp map
essentials:
0 threshold thingy

Or:

[Scott's deliberately annoying ReaComp map]
essentials:
0 threshold thingy

Colon is probably just confusing in light of section names:

Scott's deliberately annoying ReaComp map: # Map name
essentials: # Section name
0 threshold thingy

@ScottChesworth
Copy link
Copy Markdown
Contributor

The brackets feel reaperish. Those are used for sections in reaper.ini and exstate so maybe it's more intuitive for those to be the pages?
Scott is the freakin' ReaLimit:
[Limiter Controls]
0 # A param
1 # And another
2 # Deliberately annoying seems fair...
--- # page break
[Sidechain Controls}

ReaLimit doesn't have one but you get the point.

…en. Change the way sections are specified to be more intuitive in combination with map names.
@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Build 86 failed!

@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Build 89 failed!

@github-actions
Copy link
Copy Markdown

Build 90 failed!

@github-actions
Copy link
Copy Markdown

@jcsteh jcsteh marked this pull request as ready for review February 11, 2026 11:48
@jcsteh jcsteh merged commit acd98be into master Feb 11, 2026
3 checks passed
@jcsteh jcsteh deleted the map branch February 11, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants