Old 02-23-2020, 12:38 AM   #1
Human being with feelings
Join Date: Mar 2017
Posts: 11
Default ReaScript programmer for hire?


I'm looking for a script to better use my mixer as a control surface for Reaper. I have an Allen & Heath QU-16 connected through reaper's Control Surface/OSC system using Mackie Control. It works fine, but I wish I was able to set what tracks were associated with which faders. Below is the outline for what I would love to be able to do.


- Hierarchy mode
--- When I select a top level track or folder, all top level tracks or folders are assigned to a midi input/output up to the channel limit. No child tracks/folders are assigned.
--- Repeat the above but for each subsequent hierarchy level. So if I select a subfolder or track inside a folder, all subfolders or tracks on the same level (but limited to within the parent folder) are assigned a midi input/output up to the channel limit. If any of these have child tracks or folders, those child tracks/folders are ignored.

- Folders/tracks Mode
--- If a folder is selected all folders are assigned, up to the channel limit starting with the first folder in the project (no tracks). Hierarchy is completely disregarded.
--- if a track is selected, all tracks are assigned, up to the channel limit starting with the first track in the project (no folders). Hierarchy is completely disregarded.
--- Only trigger the assignments if a track is selected but folders are what is currently assigned, and visa versa.

I'd then like the following actions to be set up such that I can assign a key bind to them, as well as a gui that has each of these options as a button:

- Mode Select
- Assign next 16 tracks in the current hierarchy, or not if only folders or only tracks mode is selected.
- Set currently selected track as channel 1 and then assign the following tracks in the same hierarchy sequentially (if tracks or folders mode is enabled then disregard hierarchy and use the same logic just with folders or tracks). Ideally this would be a toggle, so it either does this every time or never depending on if this option is toggled.
- Sticky a track to a specific channel (There is a way to choose the channel)
- Save the existing channel layout (save to a file)
- Load a saved channel layout
- freeze current layout (dont re-assign channels when a track/folder is selected)
- Un-freeze current layout

Other little specs:

- When assigning channels automatically by selecting a track or folder, skip stickied tracks
- Check project file name when loading a saved channel layout and provide a warning if the current project name does not match the project name in use when the layout was saved
- Generate a button on the GUI for each saved layout for the current project
- If a track/folder is selected and there are more tracks/folders than the max number of midi channels before it, set channel 1 to a track/folder above the selected track/folder that is a multiple of the available number of channels + 1.

Final Thoughts:

Ideally the script would detect the number of available channels on the control surface and not have 16 as the hard coded number of channels.

I'm not sure how much of what I just described is either in an existing script or can even be done with ReaScript. I know it has a lot of capabilities but I'm not sure just how much can be done as described.

Overall I think a script like this would be incredible for anyone who uses a control surface with reaper, however I'd be willing to funnel a couple hundred bucks to someone who has the skills to make a script or plugin that could do everything I described as I would love to make more use of my control surface in reaper.


Last edited by KroniK907; 02-23-2020 at 01:38 AM.
KroniK907 is offline   Reply With Quote
Old 02-23-2020, 10:16 AM   #2
Human being with feelings
nofish's Avatar
Join Date: Oct 2007
Location: home is where the heart is
Posts: 9,506

Welcome to Reaper forums.

Since this targets control surface usage imo it would be better suited for a control surface plugin (done in C/C++) than a script.

The most flexible control surface plugin is CSI afaik (though currently in alpha/beta stage), maybe ask in that thread if your desired features are/will be implemented.
nofish is offline   Reply With Quote

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 07:54 PM.

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