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

Reply
 
Thread Tools Display Modes
Old 11-16-2017, 08:23 AM   #1
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
Default Central Scripts aka OSCII-bot integration.

As lately the OSCII-bot just has been greatly enhanced (Thanks a lot, Justin !!!), this would greatly improve the flexibility how control data can be handled in Reaper. It would be extremely useful for attaching controller boards (via Midi or OSC) and to integrate e.g external Mixers, displays and other hardware or software (via Midi or OSC).

Reaper might allow for enabling "Central Scripts" that feature properties like:

- event servicing functions like with OSCII-bot such as @init, @timer, @midimsg, @oscmsg. Moreover an event servicing function (e.g. "@reaper") for a new Reaper engine created event that works similar as having reaper send OSC messages, but just triggers this @reaper event in Central Scrips to notify them of certain work to be done.

- allowing for sending and receiving OSC messages (from/to Reaper and from/to external devices) like OSCII-bot can do.

- allowing for sending and receiving Midi (from/to Reaper and from/to external devices) like OSCII-bot can do. For this, one or more Midi devices would be provided to allow Tracks to use them to receive and send Midi messages from/to a Central Script in the normal way. (For OSCII-bot to communicate with Reaper, currently, a Loop Midi device is necessary to be installed.)

- allowing for file read and write like OSCII-bot can do

- allowing for TCP/IP read and write like OSCII-bot can do

- providing a log window (printf() ) for debugging like OSCII-bot does

- providing a graphics (gfx) window like OSCII-Bot does

- provide access to the Reaper API functions like ReaScripts can use. By this, OSC communication between Reaper and the "internal OSCII-bot" would not be necessary, instead the "receiving" would be done in the @reaper event service function by using the reaper API.

- in a perfect world, to create a Central Script, an IDE similar to the JSFX IDE would be provided.

-Michael
mschnell is offline   Reply With Quote
Old 11-16-2017, 11:06 AM   #2
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
- provide access to the Reaper API functions like ReaScripts can use
I guess this is impossible (because of long reascript refresh time) and in this case request probably can be only represented as GetLastOSCMessage(port_number) so you can call this function periodically to check what message REAPER get last (like what we can see in log of OSC settings). I would also reauest same for MIDI incoming data.

Last edited by mpl; 11-16-2017 at 11:16 AM.
mpl is offline   Reply With Quote
Old 11-16-2017, 02:46 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
Default

Quote:
Originally Posted by mpl View Post
I guess this is impossible ...
You might be right if all API calls need to be taken into account.

My idea was to use API calls in a Central Script instead of receiving and sending OSC messages form/to Reaper. This would greatly reduce the complexity of such scripts.

Maybe trying to use the standard API is not a good idea, but some dedicated API for exactly that stuff that Reaper can send and receive via OCS piped through some kind of software FiFo would be needed to be invented for that purpose.

OTOH, using event handler fuctions such as "@oscmsg" and "@midimsg" (and @reaper) is a lot more effective than polling ("periodically check").

-Michael
mschnell 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 03:16 AM.


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