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

Reply
 
Thread Tools
Old 02-14-2024, 04:57 AM   #1
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default ReaKS - Keyswitch Manager for Reaper

Introducing
ReaKS
Last Update: v1.2 - 24/05/2024
Quick Look >

Over the last weekend, while I was pondering about how a built-in Articulation Manager for Reaper should behave, I wanted to give a shot to some ideas if they are already possible with the current API. I wasn't aiming for a Reaticulate competitor of course, but a simpler tool with simpler setup.

So I come up with a simple script that works along the Reaper's Note Naming feature in the MIDI Editor, that simply adds/removes KeySwitch notes into the MIDI item.

So just run the script, load a note names file and you're ready to go!

___

Installation:
  1. Find it over the ReaPack.
  2. (Requires ReaImGui)

Usage:
  1. ReaKS Action will be added to MIDI Editor section of the Actions list. Just run that.
  2. Click an articulation to insert KeySwitch note. Selecting target notes before inserting also works.

Tutorials:
https://www.youtube.com/watch?v=lP9h...i94QhYVcnlkhVy

Find more note names at:
https://kabraxis.itch.io/reaks

Features:
  • Adding/removing KeySwitch notes into the MIDI editor over a UI
  • Tracking active KeySwitch under playhead
  • Visualise KeySwitches on Arrange View (over Text Events)
  • Focus and Alias CC event lanes


Tips:
  • Enable [Preferences > Peaks/Waveforms > Display MIDI: Text Events] to see Text events in the arrange window as well.

Last edited by Kabraxis; 06-03-2024 at 03:57 AM.
Kabraxis is offline   Reply With Quote
Old 02-15-2024, 08:11 PM   #2
Stevie326
Human being with feelings
 
Join Date: Aug 2020
Posts: 28
Default

Looks very usable!!
Stevie326 is offline   Reply With Quote
Old 02-16-2024, 02:10 AM   #3
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

I recognized that avoiding from calling it an 'Articulation Manager' wasn't helping people to understand what ReaKS does

Yes, it's an Articulation Manager that works over Note Names in MIDI Editor.

Here I've put up a short tutorial on it: https://youtu.be/V3QjgwpfcJQ

Cheers
Kabraxis is offline   Reply With Quote
Old 02-17-2024, 09:36 AM   #4
Nantho
Human being with feelings
 
Join Date: Mar 2013
Posts: 241
Default

This looks very interesting !

I'm on holidays right now, but I will try it as soon as I get back to work 😉
__________________
____
-------
PhilosoMix - Test et Tuto vidéo
Nantho is offline   Reply With Quote
Old 02-17-2024, 12:03 PM   #5
krahosk
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,636
Default

This is amazing. Can't wait to try it out.
krahosk is offline   Reply With Quote
Old 02-17-2024, 12:39 PM   #6
Alez156
Human being with feelings
 
Alez156's Avatar
 
Join Date: Jun 2015
Location: Venezuela
Posts: 484
Default

A simpler tool like this is exactly what I was looking for! 🙏

I'll be trying it out and let you know how it goes. But from what I could see in the video, it works peeerfectly. Thank you so much!
__________________
💙 I run Reapertips.com | 🦋 Reapertips Theme | ☕️ Buy me a coffee
🍎 Need some cool REAPER icons? Check out Essential Icons for REAPER
Alez156 is offline   Reply With Quote
Old 02-17-2024, 12:46 PM   #7
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Thanks! I'm looking forward to receiving all of your feedback.

I've been updating the note names archive: https://drive.google.com/drive/folde...Uz?usp=sharing

Meanwhile, Reaper Stash is the perfect place to share your maps AND you can use all the Key Maps shared there so far!

https://stash.reaper.fm/tag/Key-Maps

Cheers,

Last edited by Kabraxis; 02-17-2024 at 01:01 PM.
Kabraxis is offline   Reply With Quote
Old 02-17-2024, 01:56 PM   #8
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Thanks @Kabraxis....great helpful gem! I took a look at RKS Bank, would you happen to have NI Factory (orchestra bank only...) for Kontakt 5??
Thanks again.
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg

Last edited by Spookye; 02-17-2024 at 02:07 PM.
Spookye is online now   Reply With Quote
Old 02-18-2024, 03:08 AM   #9
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

@Sppokye, sadly I don't have them, but I created a short video tutorial on how to build your own maps easily!

https://youtu.be/FDRATuGArM0

Cheers,
Kabraxis is offline   Reply With Quote
Old 02-20-2024, 11:53 AM   #10
Alez156
Human being with feelings
 
Alez156's Avatar
 
Join Date: Jun 2015
Location: Venezuela
Posts: 484
Default

I was able to load my articulation maps so easily. This works perfectly and very intuitive to use. Love having it docked on the left side of the docked MIDI editor at the bottom.

Thank you so much again for this!

__________________
💙 I run Reapertips.com | 🦋 Reapertips Theme | ☕️ Buy me a coffee
🍎 Need some cool REAPER icons? Check out Essential Icons for REAPER
Alez156 is offline   Reply With Quote
Old 02-20-2024, 12:37 PM   #11
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Quote:
Originally Posted by Kabraxis View Post
@Sppokye, sadly I don't have them, but I created a short video tutorial on how to build your own maps easily!

https://youtu.be/FDRATuGArM0

Cheers,
Thanks @Kabraxis....beautiful tool!

__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 02-21-2024, 08:29 AM   #12
ImJim
Human being with feelings
 
Join Date: Dec 2023
Posts: 40
Default Docking ReaKS

Quote:
Originally Posted by Alez156 View Post
I was able to load my articulation maps so easily. This works perfectly and very intuitive to use. Love having it docked on the left side of the docked MIDI editor at the bottom.

Thank you so much again for this!

Hey Alejandro, I like how you placed ReaKS here, I'm trying to dock it to my already docked MIDI editor window like you, but mine is on the right side of the screen. I'm trying to have ReaKS docked on the far right like this:



Is this even possible?
ImJim is offline   Reply With Quote
Old 02-21-2024, 09:04 AM   #13
Alez156
Human being with feelings
 
Alez156's Avatar
 
Join Date: Jun 2015
Location: Venezuela
Posts: 484
Default

Hello!
If your MIDI editor is floating (not docked), it's not possible to dock things inside the MIDI editor.

The way I have it is that I have the MIDI editor docked at the bottom.
Then I dock ReaKS by clicking and dragging the little tab while holding ctrl (or cmd) to drop it in the corner like that.

__________________
💙 I run Reapertips.com | 🦋 Reapertips Theme | ☕️ Buy me a coffee
🍎 Need some cool REAPER icons? Check out Essential Icons for REAPER
Alez156 is offline   Reply With Quote
Old 02-21-2024, 10:43 AM   #14
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

TBF I find it easier to drag the windows to the bottom border. That way you can have multiple horizontal views.

Kabraxis is offline   Reply With Quote
Old 02-23-2024, 05:44 AM   #15
ImJim
Human being with feelings
 
Join Date: Dec 2023
Posts: 40
Default

Great! But yeah I guess what I'm trying to achieve won't work in my situation... I have the piano roll on the right side of my wide 21:9 screen, and it looks like I can't dock anything to the right of that window.
ImJim is offline   Reply With Quote
Old 02-23-2024, 05:51 AM   #16
ImJim
Human being with feelings
 
Join Date: Dec 2023
Posts: 40
Default

Quote:
Originally Posted by Alez156 View Post
Hello!
If your MIDI editor is floating (not docked), it's not possible to dock things inside the MIDI editor.

The way I have it is that I have the MIDI editor docked at the bottom.
Then I dock ReaKS by clicking and dragging the little tab while holding ctrl (or cmd) to drop it in the corner like that.

Thank you! My MIDI editor isn't floating, it's docked to the right side. Kinda gives me a split view of both the arrange and MIDI windows on my 21:9 monitor. But somehow I can't dock anthing to the right of that MIDI window, only under or above it. Can you maybe give it a try on your system? Either it's a bug, either the feature doesn't exist, in any case it's pretty frustrating. I use lots of CC lanes so I need vertical space for MIDI editing, I can't put the MIDI editor at the bottom like you.
ImJim is offline   Reply With Quote
Old 02-23-2024, 08:28 AM   #17
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,772
Default

this looks great and with it docked in the midi editor it look 'Stock'

Going to try this out later.

Congrats, very simple/elegant solution.


M
__________________
https://www.marcuscliffe.com/
norbury brook is online now   Reply With Quote
Old 02-23-2024, 02:33 PM   #18
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Thanks @Kabraxis...... extraordinary compact tool that can be integrated into ED-MIDI. Even creating the mappings is a snap of the fingers. Truly a beautiful jewel. Thanks thanks thanks
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 02-25-2024, 07:39 AM   #19
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Pushed a small update for saving settings between sessions and a button to help rename your CC lanes. A few more convenience updates to follow.
Kabraxis is offline   Reply With Quote
Old 03-01-2024, 08:18 AM   #20
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

v0.6 pushed to ReaPack repo, it should be live soon.

There's a facelift along minor fixes.

Also added a few new maps to my Google Drive archive:
https://drive.google.com/drive/folde...Uz?usp=sharing

Cheers,

Last edited by Kabraxis; 03-01-2024 at 08:28 AM.
Kabraxis is offline   Reply With Quote
Old 03-01-2024, 10:49 AM   #21
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

...Thanks Kabraxis.....really a great tool
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 03-01-2024, 11:41 AM   #22
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Glad you find it useful ^^

Please let me know if you have any suggestions!
Kabraxis is offline   Reply With Quote
Old 03-02-2024, 05:18 AM   #23
BogdanS
Human being with feelings
 
Join Date: Aug 2013
Location: Ukraine
Posts: 106
Default

after I clicked the triangle icon in the top left corner of the window in undocked mode, the script stopped running.
...ripts\ReaTeam Scripts\MIDI Editor\ugurcanorcun_ReaKS.lua:230: ImGui_PushStyleColor: expected a valid ImGui_Context*, got 00000000269B8A70

SizeOfColorStack >= g.ColorStack.Size && "PushStyleColor/PopStyleColor Mismatch!"

Last edited by BogdanS; 03-02-2024 at 06:07 AM.
BogdanS is offline   Reply With Quote
Old 03-02-2024, 06:52 AM   #24
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Fixed and pushed to ReaPack queue, thanks!

Besides, I've improved automove playhead behavior and moved separators to collapsing headers. Woo!
Kabraxis is offline   Reply With Quote
Old 03-04-2024, 12:14 AM   #25
fakemaxwell
Human being with feelings
 
Join Date: Feb 2019
Posts: 654
Default

Nice script! Any plans to expand on how "smart" it can be? For instance, the VSL Synchron libraries typically have very deep keyswitch maps. C1 controls articulation (long, short, legato, etc) and then C2 can control the type of shorts (spic, stac, detache) or the type of legato (normal, agile, slurred, portamento) and so on. It gets deeper for all the different sections of keymaps. Looking now, a single patch can use C1-G#1, C2-E2, F2-G#2, F7-G7, and A7-C7.

Right now the script displays everything at once. It's probably a limitation of Reaper keymaps, but if it could display only the type that corresponds to the current articulation, it would be very helpful.
fakemaxwell is offline   Reply With Quote
Old 03-04-2024, 05:23 AM   #26
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Thanks!

No, this script is and will be only limited to inserting/removing notes based on currently loaded Note Map keys (which is assigned to the Track unless you load another one).

That feature you're asking would be a great addition for an official Articulation Manager though!
Kabraxis is offline   Reply With Quote
Old 03-29-2024, 09:15 AM   #27
Bruceqld
Human being with feelings
 
Join Date: Nov 2021
Location: Queensland, Australia.
Posts: 562
Default

Great job Kabraxis! I have tried a multitude of these recently and yours is spot on. Straightforward, works from the note names I already have and doesn't change the keyswitch data type. Just what I needed
Bruceqld is offline   Reply With Quote
Old 04-06-2024, 10:08 AM   #28
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Added a mini tool to insert Midi Note Names from clipboard:



(Pending ReaPack merge)
Kabraxis is offline   Reply With Quote
Old 04-18-2024, 01:04 PM   #29
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Hi @Kabraxis....this is happening to me since this morning. No problem, I would like to understand if it's your change or it depends on me. Thank you 1000 Spookye
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 04-19-2024, 12:58 AM   #30
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Ahhlllrihgt. That's me
I've updated the script to use your own Reaper Theme's MIDI Editor window colors. I guessed it's a hit or miss since there are lots of themes with different color choices.

I'll fix it soon, until then you can either,
- Temporarily switch to another theme. Closing and reopening ReaKS will apply the new colors.
- Or Edit the script. There's an Enum section near the top that goes like
Code:
EnumThemeColors = { -- fetch colors from Reaper theme
    A = ThemeColorToImguiColor("midi_leftbg"), -- Background
    B = ThemeColorToImguiColor("midi_pkey2"), -- Default Interactive
    C = ThemeColorToImguiColor("midi_trackbg1"), -- Active
    D = ThemeColorToImguiColor("midi_trackbg2"), -- Hovered    
    E = ThemeColorToImguiColor("col_tcp_text"), -- HeaderText
    F = ThemeColorToImguiColor("midi_pkey1") -- Text
}
replace
F = ThemeColorToImguiColor("midi_pkey1")
with
F = 0xFFFFFFFF
for white or

F = 0x00000000
for black.

Sorry!

Last edited by Kabraxis; 04-19-2024 at 01:08 AM.
Kabraxis is offline   Reply With Quote
Old 04-19-2024, 09:02 AM   #31
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Quote:
Originally Posted by Kabraxis View Post
Ahhlllrihgt. That's me
I've updated the script to use your own Reaper Theme's MIDI Editor window colors. I guessed it's a hit or miss since there are lots of themes with different color choices.

I'll fix it soon, until then you can either,
- Temporarily switch to another theme. Closing and reopening ReaKS will apply the new colors.
- Or Edit the script. There's an Enum section near the top that goes like
Code:
EnumThemeColors = { -- fetch colors from Reaper theme
    A = ThemeColorToImguiColor("midi_leftbg"), -- Background
    B = ThemeColorToImguiColor("midi_pkey2"), -- Default Interactive
    C = ThemeColorToImguiColor("midi_trackbg1"), -- Active
    D = ThemeColorToImguiColor("midi_trackbg2"), -- Hovered    
    E = ThemeColorToImguiColor("col_tcp_text"), -- HeaderText
    F = ThemeColorToImguiColor("midi_pkey1") -- Text
}
replace
F = ThemeColorToImguiColor("midi_pkey1")
with
F = 0xFFFFFFFF
for white or

F = 0x00000000
for black.

Sorry!
...no problem, I'll wait for your adjustment. Thanks for the reply
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 04-22-2024, 09:01 AM   #32
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

ReaKS v1.0 is out!

What's updated since 0.7:
+ More streamlined workflow. No more tick boxes!
+ Injector tool for easy note-name mapping
+ ReaKS colors now match your theme
+ TUTORIALS!
# Settings are simplified and has tooltips
# LOTS of UX and performance improvements

There are a lot to come, so please send your suggestions!

I also moved Note Name maps to itch.io while updating the introduction text here.

If you like the tool, please consider donations there

Last edited by Kabraxis; 04-22-2024 at 09:14 AM.
Kabraxis is offline   Reply With Quote
Old 04-22-2024, 12:21 PM   #33
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Let's leave the sky to the sparrows. We...keep our feet on the ground.
Posts: 1,052
Default

Thanks @Kabraxis.... it's shining again!
Thank you so much
__________________
Cupboard Home Studio YT https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is online now   Reply With Quote
Old 04-24-2024, 05:59 AM   #34
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

Thanks Spookye!

v1.1 pushed to ReaPack
  • (Re)Added KS Note offset to help trigger Keyswitches just before the note.
  • Smashed many bugs related to Single-Line mode.
  • Introduced proper undo/redo
  • Removed unused config variables
Kabraxis is offline   Reply With Quote
Old 05-24-2024, 08:17 AM   #35
Kabraxis
Human being with feelings
 
Kabraxis's Avatar
 
Join Date: Feb 2015
Location: Turkey
Posts: 262
Default

v1.2 is out!

- Added Ctrl/Shift/Alt modifiers to KS buttons for Preview/Bypass Smart/Remove KS functions
- Added 'Help' section
Kabraxis is offline   Reply With Quote
Old 06-09-2024, 03:29 AM   #36
ZeRedbeard
Human being with feelings
 
Join Date: Mar 2020
Location: Bordeaux
Posts: 71
Default YES YES YES THANK YOU

AAAAh I've been looking for this kind of stuff for ages! What a clever way to set it up easily. Thank you!
ZeRedbeard is offline   Reply With Quote
Old 07-22-2024, 02:26 AM   #37
handfp
Human being with feelings
 
Join Date: Sep 2010
Location: Dublin, Ireland
Posts: 44
Default Love it

This is great! Many thanks!!
handfp is offline   Reply With Quote
Old 07-23-2024, 09:01 AM   #38
ceanganb
Human being with feelings
 
Join Date: May 2009
Location: Brazil
Posts: 350
Default

A great tool for Reaper Stubborn MIDIers
Thank to the intertwined work of devs and scripters, Reaper is getting such an accomplished MIDI tool.
Thanks a lot!
__________________
Ceanganb
ceanganb is offline   Reply With Quote
Old 12-20-2024, 03:58 PM   #39
JT-Axxe
Human being with feelings
 
Join Date: Jan 2013
Posts: 2
Default LUA error starting ReaKS

Hi,

Trying to install and run ReaKS (my first Rea Script) in Reaper.
Need to enter/manage key switches for NI Session Guitarist.

Getting the following error (Reaper 7.27) after updating the ReaimGUI to latest from Reapack:

ugurcanorcun_ReaKS.lua:71: attempt to call a nil value (field 'SNM_GetIntConfigVar')

Can you help to fix this?
JT-Axxe is offline   Reply With Quote
Old 12-21-2024, 05:57 PM   #40
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 5,582
Default

Quote:
Originally Posted by JT-Axxe View Post
ugurcanorcun_ReaKS.lua:71: attempt to call a nil value (field 'SNM_GetIntConfigVar')
This error means SWS is not installed.
cfillion is offline   Reply With Quote
Reply

Thread Tools

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 03:29 PM.


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