Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 08-30-2018, 06:50 AM   #1
lahayim
Human being with feelings
 
Join Date: Aug 2018
Posts: 7
Default Expanding OSC communication features for broader use

Dear Reaper devs,

First off, thank you for developing this wonderful piece of software.
I'm a music researcher / live electronics performer. I work heavily with various controllers, and control software sending data to one another.

* Request

There are some additional features to Reaper's standard OSC control surface actions that I would like to suggest which would greatly expand the flexibility of the program to be controlled externally.

1. I would like to request that there be an OSC message sent by Reaper to the control surface whenever a track is deleted or created. This message should, ideally, include the new track/deleted track's number.

2. When track numbers change (for example, because a track was deleted or added before another track), reaper should send a unique message for track number change.

3. An OSC command by which a new effect can be created, by effect name (string), on the selected track.

4. An OSC command by which the control surface can ping Reaper for a dump of all its tracks and effects (similar to the dump that is received when the control surface is selected in the preferences pane).


* Benefits

Features 1, 2 & 3 are intended to make it possible for control surfaces to freely add and remove tracks and effects, and to allow control surfaces to be notified when tracks are removed in Reaper. This would give control surfaces significantly tighter integration with the overall Reaper workflow and allow other programs to synchronize and control Reaper - for example, when building audio-visual performance setups or art installations.

Feature 4 would allow control surfaces to sync their control setup with Reaper at an arbitrary time. This can be useful if, for example, the control surface is reset, reconfigured, or simply wants to check its synchronicity with Reaper. Also very useful in the above examples when building complex interactive systems where multiple pieces of software need to communicate with one another.



* Reason
I am unable to have the level of interoperability that I would like between the different pieces of software that I use and Reaper. In particular for making live audio-visual performances, art installations, live coding, electronic music. It would be especially useful to be able to programmatically create entire setups (of tracks & effects) in Reaper through OSC, and to control these setups remotely. Right now Reaper's support for OSC is very much focused on simple control surfaces. And while this support is laudably strong, with some small additions the OSC-compatability of Reaper could be vastly improved.
lahayim is offline   Reply With Quote
Old 08-30-2018, 10:05 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,664
Default

In fact "BeyondReaper" allows to remote-control Reaper via OSC.

I suppose that in the same way (e.g. using Python scripting in Reaper) any extension to Reaper's OSC communication can be done.

-Michael
mschnell is offline   Reply With Quote
Old 09-02-2018, 01:21 PM   #3
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 2,062
Default

If that would be too difficult to implement, I would suggest more OSC-sending and receiving functions for use in ReaScripts.
So something like that would be scriptable/codeable by us, even if I would need to implement a constantly-OSC-listening-defer-script.

This would open up a lot for us...
mespotine is offline   Reply With Quote
Old 09-02-2018, 01:34 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,664
Default

"Beyond" is a ReaScript (ReaScripts can be done in EEL, LUA or Python).

AFAIK, all these languages can access the same set of API functions.

-Michael.
mschnell is offline   Reply With Quote
Old 09-02-2018, 02:06 PM   #5
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 2,062
Default

Sure, but beyond.Reaper needs Python to be installed, no support for EEL or Lua(as far as I understood). Unfortunately, otherwise it would be fantastic...

For those interested: thread about beyond.Reaper
https://forum.cockos.com/showthread.php?t=129696
mespotine is offline   Reply With Quote
Old 09-02-2018, 09:51 PM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,664
Default

I only brought up Beyond here to show that a ReaScript (in fact independent of the language it is written in) can use the Reaper API to do the "extension of the OSC features" requested by the OP, and that no enhancement of the internal main Reaper functionality - and hence calling for the "Reaper devs" - is necessary.

The dedicated paradigm with "Beyond" is that it exports (streams) Python objects via OSC and hence makes it easy to use external Python programs to access the internal API of Reaper. If other (non-Python) software is to be used outside of Reaper you would do a different access component as a Reaper script and might be inclined to do that using a different language.

-Michael

Last edited by mschnell; 09-02-2018 at 09:58 PM.
mschnell is offline   Reply With Quote
Old 09-03-2018, 01:17 AM   #7
Gerrit
Human being with feelings
 
Join Date: Aug 2018
Location: Maastricht
Posts: 88
Default

Quote:
Originally Posted by lahayim View Post
Dear Reaper devs,

First off, thank you for developing this wonderful piece of software.
I'm a music researcher / live electronics performer. I work heavily with various controllers, and control software sending data to one another.

* Request

There are some additional features to Reaper's standard OSC control surface actions that I would like to suggest which would greatly expand the flexibility of the program to be controlled externally.

1. I would like to request that there be an OSC message sent by Reaper to the control surface whenever a track is deleted or created. This message should, ideally, include the new track/deleted track's number.

2. When track numbers change (for example, because a track was deleted or added before another track), reaper should send a unique message for track number change.

3. An OSC command by which a new effect can be created, by effect name (string), on the selected track.

4. An OSC command by which the control surface can ping Reaper for a dump of all its tracks and effects (similar to the dump that is received when the control surface is selected in the preferences pane).
The plugin ID should be available through OSC so the ID can be used for selection of effects. The name should not be used for identification as it can change.

As for point 4, there's an action (Control surface: Refresh all surfaces) that will refresh all surfaces but a message for a specific controller would be nice. 'm working on a Teensy based OSC controller, the Teensy will send this command on startup to retrieve the track states.

OSC support in Reaper is already quite extensive compared to what other DAWs offer but some refinement and extension could make Reaper OSC support light years ahead of the competition.
Gerrit is offline   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 09:51 PM.


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