Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 02-18-2012, 03:08 PM   #1
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default Remote MIDI controllers and parameter feedback (via OSC/Pd)

With the OSC support for remote controller surfaces included in recent pre-release builds, we can now also hook up remote controllers using MIDI bi-directionally, via OSC and a round of OSC to MIDI / MIDI to OSC conversion. Doing so is useful, since it enables parameter feedback, meaning that regardless of whether one changes a parameter value in REAPER or on the remote controller, the value gets updated in both places. For controllers like the Behringer BCR-2000, this also means that LEDs on the controller reflecting current values are correctly updated.

Attached is a proof-of-concept patch (inspired by a similar patch for Max by Spyrow, kudos!) using Pure data (extended) (free, click for download links).

This simple example links the first 8 parameters of the effect in the 1st slot of track 1 to a MIDI controller, using CC# 1 thru 8, all on MIDI channel 1. I used a Behringer BCR-2000, but any other MIDI controller should do just fine as well.

In REAPER, set up a control surface using OSC, with a config file containing the following line:
Code:
FX_PARAM_VALUE /track/@/fx/@/fxparam/@/value
Both send and receive should be enabled (enable both checkboxes), "Device IP" should be 127.0.0.1 or localhost (assuming we run Pure data on the same computer). The default port numbers (8000 and 9000) are usually just fine.



In Pure data, go to Preferences > MIDI settings to select the MIDI port that your controller connects to, both (!) for input and output.



Set up your MIDI controller so that it has faders or rotary controllers for MIDI CC 1 thru 8, all on MIDI channel 1 (or change the Pd patch accordingly, which should be easy enough to do).

In Pure data, load the patch "OSC-MIDI-conversion.pd" (attached), and click the most top-left button to connect the UDP port (you can verify it worked in Pure data's console window, which should say "udpsend: connecting to port 8000" assuming you are using port 8000).



In REAPER, insert an effect on effect slot 1 of track 1. Any plugin (effect/instrument; VST/AU/JS) should do. To identify which are the first 8 parameters, it can be handy to click the UI button (top right) to show the generic UI; so we can instantly see which 8 parameters come first.

Now test it: change the values of parameters 1 thru 8 in REAPER and on the MIDI controller, while Pure data can be used to verify connections and display current values.
Attached Images
File Type: jpg REAPERv4.16pre18_OSC_config-FX_param_val.jpg (64.0 KB, 10579 views)
File Type: jpg OSC-MIDI-conversion.jpg (67.9 KB, 10608 views)
File Type: png Pd-MIDI-preferences.png (19.7 KB, 9856 views)
Attached Files
File Type: zip OSC-MIDI-conversion.pd.zip (2.0 KB, 1619 views)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned 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 10:37 AM.


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