Old 12-01-2018, 09:32 PM   #1
AviTudios
Human being with feelings
 
Join Date: Dec 2018
Posts: 1
Default Adding Complicated Controller Support

I just got Reaper over the long holiday, because I'm intrigued by the scripting/plugin possibilities and how they mean that I could make my controller work exactly like I want. But now that I'm looking into the possible ways to do what I want, I'm a bit confused and would like some guidance.

My setup has this hardware, which I'd like to get working very cohesively:
* AKAI APC40 mkii (MIDI in for DAW control, MIDI out for LED reflection)
* Roland JD-XA (MIDI in as a keyboard, MIDI out as an 8-channel sound module)
* AKAI Advance 61 (MIDI in as a keyboard)
* Roland V-Synth, Kurzweil PC3 LE6, Deepmind 6 (MIDI out as 1 or 16-channel sound modules)

Here's all the functionality I need:
* I need to capture MIDI CC and note-on across many channels, from multiple devices. I need to be able to keep track of from which device they came.
* I need to be able to redirect some of that MIDI to other external devices
* I need to be able to open FX windows so that I can have my knobs affect one effect at a time
* I need to be able to read the color of a channel and the number of FX on it, to reflect in the LEDs on the APC
* I need to read the channel levels/volumes/pans to send to LED representations
* I need to be able to scroll the Mixer and Timelines (both horizontally and vertically)
* I need to store global data so that I can keep track of state that I use in MIDI routing

I'm curious which is the best collection of tools to do this, between JSFX, LUA, and a plugin. JSFX gives me MIDI preprocessing and the ability to route to buses, but I'm not exactly sure where it would need to belong in my FX lineup. Would the preprocessing work even if I have a different FX focused?

LUA can then tweak sliders defined in that JSFX to send DAW data back into the effect (pans, FX count). I assume it can also read sliders so that I could affect the DAW from values output by the JDFX (to handle scrolling/opening FX chains and windows).

But given my uncertainty with where JSFX would live in my MIDI/FX lineup, I don't know whether or not this would actually work, or if I should instead pursue writing a plugin.

Can y'all give me some guidance here, and perhaps point me in the right direction of some places to look to get my feet under me with whichever method you recommend?

Thanks!
AviTudios is offline   Reply With Quote
Old 12-02-2018, 12:24 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Germany
Posts: 6,179
Default

Quote:
Originally Posted by AviTudios View Post
I need to capture MIDI CC and note-on across many channels, from multiple devices. I need to be able to keep track of from which device they came.
Reaper features the concept of "Midi Buses" which under the hood is an extension to the the Midi channel by another four bits (Bus 1..16). This might help to keep track of your Midi sources while routing Midi in Reaper.
Quote:
Originally Posted by AviTudios View Post
I need to be able to redirect some of that MIDI to other external devices
Reaper Midi routing can use Midi hardware devices at a target
Quote:
Originally Posted by AviTudios View Post
I need to be able to open FX windows so that I can have my knobs affect one effect at a time
I don't understand what you mean by this.
Quote:
Originally Posted by AviTudios View Post
I need to be able to read...
Stuff like this should be discussed in the "Control Surface" subforum here.
Quote:
Originally Posted by AviTudios View Post
I need to store global data so that I can keep track of state that I use in MIDI routing
I don't see what you mean (other than just storing the Reaper project, and using the undo log).
Quote:
Originally Posted by AviTudios View Post
JSFX gives me MIDI preprocessing and the ability to route to buses, but I'm not exactly sure where it would need to belong in my FX lineup. Would the preprocessing work even if I have a different FX focused?
In the "Live" subforum many aspects of using JSFX in an "embedded" way (independent from the Reaper GUI) are discussed.
In fact JSFX does not (directly) provide means to "route buses". But stuff like this is frequently done in "Live" setups, by means of the "LiveConfigs" tool, and by stuff like "Midi Fade X" that automates the audio gain before tracks are mixed. (You might want to read the introductory thread in the "Live" subforum for explanations.)
Quote:
Originally Posted by AviTudios View Post
LUA can then tweak sliders
Lua is just one language "Reascripts" can be done in. Others are EEL and Python. But JSFXes only can be done in EEL, hence if you want to do both, I recommend EEL, so that you don't need to bother with different languages.
Keep in mind that "Reasctipts" work globally (like somebody watching the Reaper GUI and performs actions in same), but they don't easily "see" Midi, while JSFXes work like VST plugins within a track on the Midi and Audio streams. Hence a completely different realm. "MidiToReaControlPath" and "Slider to Midi PS" are tools provided to create interconnections between theses realms.

-Michael
__________________
www.boa-sorte.de

Last edited by mschnell; 12-02-2018 at 03:45 PM.
mschnell is online now   Reply With Quote
Old 12-02-2018, 08:05 AM   #3
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Dunth, NC
Posts: 1,640
Default

i've been doing this with a Launchpad pro, Reaper, reascript, bidule, js and vst since 2013 - kind of a "roll your own Push" situation. it's awesome cuz you can essentially fulfill your own FR. on the other hand, it sucks because your are limited by your (read: my) own shitty programming skills unless you can get help.

you have a lot of requests here, some of which will take a great deal of work behind the scenes. some things can be surprisingly more difficult than you might originally think and you'll also run into mundane problems that device programmers at Ableton/akai/novation etc dealt with early for their cookie cutter users. you'll have to slog through those problems yourself. good luck and post very specific questions to the control surface subforum
__________________
check out MPL's amazing RS5K manager
FR: select midi recorded in most recent engagement of record/overdub.
mccrabney 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 04:00 PM.


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