Old 10-25-2020, 05:16 PM   #1
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 1,646
Default Osc and Jsfx?

Does JSFX support sending and getting OSC-messages?
I haven't found anything yet but I could have looked into the wrong parts of it...
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1351 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-26-2020, 04:04 AM   #2
JLP
Human being with feelings
 
Join Date: Jul 2019
Posts: 27
Default

Don't have the answer, but I'm really interested in it!
JLP is offline   Reply With Quote
Old 10-26-2020, 04:17 AM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,818
Default

I'm rather sure that not out of the box.

JSFXes can't access the Reaper API (as same needs to be accessed in the realm of the main thread while JSFXes run in the realm of the track's thread), nor can they access the OS API (for similar reasons).

Possible ways could be:
- use gmem and a support Reascript. But using OSC via the Reaper API also is very limited.
- send / receiver Midi message out / from outside of Reaper and use OSCIIBot (e.g. via Loopmidi) (I in fact do use this in a bidirectional way to remote-control a rack mixer from a Control Surface attached to Reaper via Midi.)
- somebody creates a supporting Reaper extension. (Maybe looking at "CSI" might help.)
- a VST using the OS network API (in a second thread).

-Michael

Last edited by mschnell; 10-26-2020 at 01:59 PM.
mschnell is online now   Reply With Quote
Old 10-26-2020, 11:25 AM   #4
jrk
Human being with feelings
 
Join Date: Aug 2015
Posts: 1,013
Default

Out of interest, what's the target for your OSC? i.e. what are you aiming to send to?
__________________
it's meant to sound like that...
jrk is online now   Reply With Quote
Old 10-26-2020, 12:48 PM   #5
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 1,646
Default

If you mean me, I would like to attempt a Soundboard for podcasts. Our Ultraschall project has already one but lacks in many parts and the developer of it doesn't have enough time to keep it going.
This Soundboard is a vst with osc capability. So replacing it with a Jsfx should not get rid of the Osc-management as this is used by many users of it.

Using ReaScript and gmem isn't an option as this is too limited. For instance, I can send OSC-messages only to Reaper itself but not outside of it.
And listening to osc isn't possible at all.
And Jsfx unfortunately doesn't have extension support so adding it that way isn't that easy, if at all possible.

I would like to avoid hacky solutions that may be possible somehow as the more hacky it is, the more bug potential it has. Hence I hoped, Jsfx can listen to and send OSC.

I think I'll request that then.

Thanks for the answers
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1351 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-26-2020, 02:02 PM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,818
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Using ReaScript and gmem isn't an option as this is too limited. For instance, I can send OSC-messages only to Reaper itself but not outside of it.
You might be able to get rid of this limitation with a Python script that directly uses the OS networking API for OSC (via USP) by means of open source Python libraries.
-Michael
mschnell is online now   Reply With Quote
Old 10-26-2020, 02:52 PM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 1,646
Default

Yeah, but I couldn't send anything to the jsfx, as python has no gmem.
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1351 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-26-2020, 04:25 PM   #8
jrk
Human being with feelings
 
Join Date: Aug 2015
Posts: 1,013
Default

If you need to send arbitrary messages out of a jsfx, the obvious channel is midi sysex.
__________________
it's meant to sound like that...
jrk is online now   Reply With Quote
Old 10-26-2020, 04:33 PM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,818
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Yeah, but I couldn't send anything to the jsfx, as python has no gmem.
Really ?

Obviously EEL on Reascript does have gmem.
I don't do LUA, but i seem to remember having read that LUA does have gmem via the Reaper API.
As Python can make use of the Reaper API I concluded, that Python would be able to access gmem in the same way as LUA.

-Michael

Last edited by mschnell; 10-26-2020 at 11:44 PM.
mschnell is online now   Reply With Quote
Old 10-26-2020, 05:05 PM   #10
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 1,646
Default

Nope. It has been requested though. But I doubt it will ever be part of the python integration.

It would be possible somehow to add a 3rd party library to Lua, but this would mean the hacky solution that I would want to avoid.
I think it would be a real useful solution to have osc support in jsfx in the first place. Anything else is possible for a "my own hack" - coding style but not for technically inexperienced users, who are the target for this Soundboard.
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1351 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-26-2020, 05:12 PM   #11
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 1,646
Default

Quote:
Originally Posted by jrk View Post
If you need to send arbitrary messages out of a jsfx, the obvious channel is midi sysex.
But I need osc for those, who use the current version of the plugin. I can't tell them to forget about their Osc-integration and input devices and use some midi sysex stuff instead.

Well I could, but they would hate me for that. Rightfully so.
The whole idea is to replace the current thing with a new thing, that behaves like the old one for connected midi/osc-devices.
It must be easy for the technical inexperienced users of Ultraschall who are our target.
Osc is the most difficult most can still handle...
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1351 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-26-2020, 11:54 PM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,818
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
I think it would be a real useful solution to have osc support in jsfx
I doubt that that ever will happen, as this would need to introduce another OS thread in the JSFX environment to allow for OS API calls independent of the track's thread.

OTOH, JSFX already has GUI access, and same in fact uses the OS thread that could be usable for network operations.

Quote:
Originally Posted by Meo-Ada Mespotine View Post
I would like to attempt a Soundboard for podcasts. Our Ultraschall project has already one but lacks in many parts and the developer of it doesn't have enough time to keep it going.
This Soundboard is a vst with osc capability.
What exactly is a "Soundboard" ?

Did you create it ? Does it work ?

Of course in a VST you can do multithreading, and supposedly easily make use of the GUI thread and/or introduce yet another OS thread.
AFAIK, OSCIIBot is open source, and hence it should even be possible to do an "OSCIIBot" VST. Same easily could be communicate via Midi with JSFXes and speak OSC with the outside world.

-Michael
mschnell is online now   Reply With Quote
Old 10-27-2020, 02:39 AM   #13
jrk
Human being with feelings
 
Join Date: Aug 2015
Posts: 1,013
Default

I don't believe you can replace a vst which does OSC with a jsfx (alone) because there appears to be no way of doing OSC from a jsfx.

The only (non-hacky) channels out of a jsfx are audio & midi. The obvious way of sending arbitrary data out of a jsfx is sysex (that's what it's for, after all). It looks like it's possible to use OSCII-bot to send OSC in response to sysex.

Obviously, this kind of thing creates a dependency on some kind of midi loopback as well as OSCII-bot.

Given that you've already got a JUCE (?) vst that works pretty much, it looks to me like your best bet is to roll up your sleeves and work on it.
__________________
it's meant to sound like that...
jrk is online now   Reply With Quote
Old 10-27-2020, 04:34 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,818
Default

I would be very happy about an OSCIIBot VST. I would immediately replace my external Loopmidi/OSCIIBot setup with same.

I suppose there would be some more appreciating that guy.

Yep. OSCII Bot is open source -> https://github.com/justinfrankel/oscii-bot

-Michael
mschnell 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:12 PM.


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