Old 02-06-2020, 08:48 AM   #1
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default OSC support in Reaper - a bit neglected?

Now - first of all - I'm a really happy Reaper user, and appreciate all the hard work many people put into this software - Thank you!

One of the main reasons for me to use Reaper is the OSC support. It let me build hardware controllers for many needs - maybe because I'm a middle aged man, but knobs and buttons works better in a studio situations in time critical situations.

But I can't help being a little disappointed about the "support" for OSC... Every update of Reaper I rush to read the changelog - to see if there's any signs of software developers listening to the many requests for improvements in the OSC corner. But... not much... There's been 1 bugfix since April last year... "divide by zero bug" which I haven't discovered or heard about.

Sorry to sound grumpy, but why are all wishes and requests neglected? Is OSC dead in Reaper? Or is it just that OSC have it's flaws, and our requests are not possible to deliver because Reaper doesn't write OSC?
netphreak is offline   Reply With Quote
Old 02-06-2020, 09:15 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

AFAIK, CSI already supports OSC, but you supposedly needs to create configuration files matching your controller and your intended workflow.
-Michael
mschnell is offline   Reply With Quote
Old 02-06-2020, 11:31 AM   #3
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by mschnell View Post
AFAIK, CSI already supports OSC, but you supposedly needs to create configuration files matching your controller and your intended workflow.
-Michael
I didn't get this one at all mschnell... Perhaps irony, a joke on my behalf, reply to the wrong thread - I'll go with a good joke I didn't understand (reaper, dead, whatnot).
netphreak is offline   Reply With Quote
Old 02-06-2020, 11:53 AM   #4
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,592
Default

Quote:
Originally Posted by netphreak View Post

Sorry to sound grumpy, but why are all wishes and requests neglected? Is OSC dead in Reaper? Or is it just that OSC have it's flaws, and our requests are not possible to deliver because Reaper doesn't write OSC?
perhaps a list of feature requests is required? I don't think the devs are frequent OSC users so anything you may need to remind them of what is broken or not implemented and why it is important.
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 02-06-2020, 12:21 PM   #5
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by EpicSounds View Post
perhaps a list of feature requests is required? I don't think the devs are frequent OSC users so anything you may need to remind them of what is broken or not implemented and why it is important.
Yeah, software developers are often focused on what they do best - write code

Maybe you're right that the almost 800 post long thread stapled to the top of this forum does nothing good at all - as it is now, it's a huge mix of feature requests and, well... lot's of things.

How to organize this, making it more attractive for the dev's to read it, and hopefully find it worthy of an effort to look into a few of them?
netphreak is offline   Reply With Quote
Old 02-06-2020, 12:48 PM   #6
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,243
Default

Quote:
Originally Posted by netphreak View Post
Yeah, software developers are often focused on what they do best - write code

Maybe you're right that the almost 800 post long thread stapled to the top of this forum does nothing good at all - as it is now, it's a huge mix of feature requests and, well... lot's of things.

How to organize this, making it more attractive for the dev's to read it, and hopefully find it worthy of an effort to look into a few of them?
CSI supports OSC, here's a demo using TouchOSC, it's shown on iPad/iPhone but is also running successfully on Android.

https://www.youtube.com/watch?v=byqW...ature=youtu.be
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old 02-06-2020, 01:11 PM   #7
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by Geoff Waddington View Post
CSI supports OSC, here's a demo using TouchOSC, it's shown on iPad/iPhone but is also running successfully on Android.

https://www.youtube.com/watch?v=byqW...ature=youtu.be
Now, there's CIA again, when does FBI enter the scene?

I'm sure "The control surface integration project" is a brilliant effort, and of good use to many. But that project is also limited by poor implementation of OSC in Reaper. Sure, there's always possible to do workarounds to achieve the goal, but... Why not try to fix the problem instead? If your boat takes in water, you could buy a pump, right - boat's not sinking, goal achieved. But wouldn't it be wiser to plug the hole?

Let's say I want a simple stomp box, with the the sole purpose of disable a FX on a track (i.e #28), and enable another FX on the same track. No problem with OSC. Now, in this case the problem everyone will face will be: There's no other ID to use other than the track number! What happens when a track is inserted before my track? My tracknumber becomes #29, and my stomp box controls the wrong track.

I have MANY more examples of simple controller tasks generating complex workarounds... Sometimes the boat sinks because of the weight of pump #12...

And then the frustration grows, thinking of how little code needed in Reaper (now, that's a guess from me as a "no Reaper dev") to fix this.

Again, I could fixate my eyes on the CSI "framework", but for my simple stomp box it seems overkill...
netphreak is offline   Reply With Quote
Old 02-06-2020, 01:33 PM   #8
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
Default

Quote:
Originally Posted by netphreak View Post
Let's say I want a simple stomp box, with the the sole purpose of disable a FX on a track (i.e #28), and enable another FX on the same track. No problem with OSC. Now, in this case the problem everyone will face will be: There's no other ID to use other than the track number! What happens when a track is inserted before my track? My tracknumber becomes #29, and my stomp box controls the wrong track.
Why do you need OSC for this? You can simply put ReaLearn somewhere in your project with the tracks you want to control and track ID becomes irrelevant. E.g. I have a controller dedicated to my VCA master tracks, so ReaLearn is on a hidden track in my default project, allowing my faders to always control specific tracks, no matter their name or number.

I use OSC for touch control from my phone/tablet but it's not a popular feature. I think it's too technical and poorly documented for most. I could never get a lick of help when I had problems, though I eventually solved them on my own.
__________________
foxyyymusic
foxAsteria is offline   Reply With Quote
Old 02-06-2020, 03:43 PM   #9
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,243
Default

Quote:
Originally Posted by netphreak View Post
Now, there's CIA again, when does FBI enter the scene?. But that project is also limited by poor implementation of OSC in Reaper.
Incorrect, CSI OSC implementation is completely independent of Reaper OSC -- CSI handles all the network traffic/packets/ etc., internally, nothing to do with Reaper OSC.

Therefore CSI is not limited by Reaper OSC implementation, CSI is limited by CSI OSC implementation
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old 02-08-2020, 07:15 PM   #10
rncwalker
Human being with feelings
 
rncwalker's Avatar
 
Join Date: Apr 2016
Location: South Fl.
Posts: 799
Default

Quote:
Originally Posted by netphreak View Post

But I can't help being a little disappointed about the "support" for OSC... Every update of Reaper I rush to read the changelog - to see if there's any signs of software developers listening to the many requests for improvements in the OSC corner. But... not much... There's been 1 bugfix since April last year... "divide by zero bug" which I haven't discovered or heard about.

Sorry to sound grumpy, but why are all wishes and requests neglected? Is OSC dead in Reaper? Or is it just that OSC have it's flaws, and our requests are not possible to deliver because Reaper doesn't write OSC?
If you check other Software Companies, you would most likely find that they also do not support OSC completely yet.
Even a lot of hardware manufactures do not fully support it yet.

Did you ever think, that maybe your hardware does not fully support OSC yet?


Robert
rncwalker is offline   Reply With Quote
Old 02-09-2020, 01:24 AM   #11
jrp
Human being with feelings
 
Join Date: Nov 2014
Posts: 194
Default

to me it seemed great that we have osc at all...
But if "OSC-support" means "full controll of Reaper", like with custom actions, scripting and c++ plugins, then yes: thatīs missing.

One big problem defnitly is that it is very hard to see all the options out there.
These are advanced techniques and there are no out of the box solutions with full documentation.

And even if there is documentation, when you are just starting out even the description in the default.ReaperOSC can easily be above your head.

I had to look at what others have done and go with tiny steps...

Beyond Python - i never got this going. Is it even still a recomended option?
jrp is offline   Reply With Quote
Old 02-09-2020, 01:31 AM   #12
jrp
Human being with feelings
 
Join Date: Nov 2014
Posts: 194
Default

question 1: Can a C++ extention be made to speak OSC?
question 2: Could it then "grab" info from reaper, for example track color or number of tracks in mixer (just sticking to my usecase), put it in a defined format and send it out to an OSC port?
question 3: could it then (in theory) expose parts of the api to osc messages to make it fit for more users?

Like OSC from device: /ReaperAPI/getSelectedTrack/
C++Plugin answers /ReaperAPI/SelectedTrack 24
jrp is offline   Reply With Quote
Old 02-09-2020, 02:37 AM   #13
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by jrp View Post
question 1: Can a C++ extention be made to speak OSC?
question 2: Could it then "grab" info from reaper, for example track color or number of tracks in mixer (just sticking to my usecase), put it in a defined format and send it out to an OSC port?
question 3: could it then (in theory) expose parts of the api to osc messages to make it fit for more users?

Like OSC from device: /ReaperAPI/getSelectedTrack/
C++Plugin answers /ReaperAPI/SelectedTrack 24
As for question 1: yes, no problem. Question 2: since it seems possible via scripts, I can't see why not. 3: sure.

The problem is - how effective will this be? What's the CPU/memory cost. How fast will it be? Could it crash Reaper in unfortunate situations?
netphreak is offline   Reply With Quote
Old 02-09-2020, 04:22 AM   #14
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,243
Default

Quote:
Originally Posted by jrp View Post
question 1: Can a C++ extention be made to speak OSC?
question 2: Could it then "grab" info from reaper, for example track color or number of tracks in mixer (just sticking to my usecase), put it in a defined format and send it out to an OSC port?
question 3: could it then (in theory) expose parts of the api to osc messages to make it fit for more users?
The secret is out

You just described the 50,000 ft view of how CSI does it.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old 02-09-2020, 02:11 AM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Quote:
Originally Posted by rncwalker View Post
... fully support OSC ...
This is a question that does not make much sense.
OSC only defines the frame of the massages, but the content of the messages is completely propriety and needs to be individually agreed upon by the manufactures of the software / hardware in question.
-Michael
mschnell is offline   Reply With Quote
Old 02-09-2020, 02:29 AM   #16
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by mschnell View Post
This is a question that does not make much sense.
OSC only defines the frame of the massages, but the content of the messages is completely propriety and needs to be individually agreed upon by the manufactures of the software / hardware in question.
-Michael
100% correct. OSC works fine, the complaints (well, mostly from my side it seems) are aimed against what reaper fill the frames with, and expect to be in the frames received.
netphreak is offline   Reply With Quote
Old 02-09-2020, 02:25 AM   #17
netphreak
Human being with feelings
 
Join Date: Apr 2019
Posts: 98
Default

Quote:
Originally Posted by rncwalker View Post
Did you ever think, that maybe your hardware does not fully support OSC yet?

Robert
I build the hardware myself, and program the micro controllers. Though, I do not program the library I use, but it's open source and Written by Yotam Mann (The Center for New Music and Audio Technologies, University of California, Berkeley). Its good.

I find it extremely peculiar that *no one* seems to have the same complaints as myself regarding addressing objects without a proper ID. And by that I mean the same thing I've moaning about all this thread - just track number, no track id. Usually I have a good look in the mirror in these situations, since I'm unlikely to be right when no one else agree...
netphreak is offline   Reply With Quote
Old 02-09-2020, 03:23 AM   #18
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Quote:
Originally Posted by netphreak View Post
Questions 1, 2, 3 ...
I build the hardware myself...
In fact "Beyond Reaper" - a Python script - provides the complete internal Reap API via OSC.

Hence theoretically your controller can use it.

If your controller can do Python this even might be rather easy, as there is Python code for the remote site that converts the Reaper API (via OSC) to Python objects.

If there is no Python for your controller, manually doing this might be rather hard work.
-Michael

Last edited by mschnell; 02-09-2020 at 11:27 AM.
mschnell is offline   Reply With Quote
Old 02-09-2020, 03:45 AM   #19
jrp
Human being with feelings
 
Join Date: Nov 2014
Posts: 194
Default

Quote: As for question 1: yes, no problem. Question 2: since it seems possible via scripts, I can't see why not. 3: sure.

The problem is - how effective will this be? What's the CPU/memory cost. How fast will it be? Could it crash Reaper in unfortunate situations?
--- (sorry, cant figure out right now how to quote - still want to write c++

I dont see OSC as a protocoll for doing timing and performance sensitive stuff at all.
Although of course there may be many things people might like to develop that are exaclty that: Timing and performance critical.

In my case iīm really just interested in getting info into lemur about track color, folder state, number of channels shown in mixer.
I will try to dig into beyond reaper or the c++ plugin development. Both seem far away right now...
Am i correct that the C++ extention is the more direct, maybe robust and "up to date" solution?
Sorry for highjacking this thread, but the title subject seems non specific enough.
And at this point:Sorry for my bad spelling, i know i have a problem


Then, to adress the problem of the OP about adressing a speciffic track id via OSC:
Have you considered binding a lua script to (any) OSC-command that selects your track by ID?
A second script could be used to assign any track to an external variable to be used by the first script.
Not great, i know, but maybe a workaround to at least get you going.

Your usecase seems rather special, so i really hadnīt thought about stuff like that. (I do "traditional" composing and multitracking).
But thatīs what Reaper is all about most of the time: Making stuff possible to cover any usecase and provide a perfect workflow in the end, no matter what you are doing.
Only with OSC (and propably some other stuff (midi feddback)) itīs not going sooo far. I totally get your desire.
If you design your perfect workflow, start setting up reaper, doing scripting, building controllers... and then maybe months into doing so you realize that you have hit a wall you would never have expected to be there... thats not nice.
I guess in one way or another we have all been there...



Another thing about building your own devices, just a side note for those who are interested: Your solution using that library you linked looks great. Another excellent option is the Midibox project.
Its over at ucapps.de
German site, but itīs all english.
It provides a framework for handling OSC and Midi and itīs a modular Hardware solution.
The MidiboxNG project is especially usefull for doing OSC handling. It can have itīs own Control elements, translate and process data and next to having midi ins and outs it can also be a USB Host, so you can hook up your (USB) midi devices directly without the need of going into the computer first and thaen routing it back using some fuzzy tool.

Last edited by jrp; 02-09-2020 at 03:57 AM.
jrp is offline   Reply With Quote
Old 02-09-2020, 04:28 AM   #20
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,243
Default

Quote:
Originally Posted by jrp View Post
In my case iīm really just interested in getting info into lemur about track color, folder state, number of channels shown in mixer.
I will try to dig into beyond reaper or the c++ plugin development. Both seem far away right now...
Am i correct that the C++ extention is the more direct, maybe robust and "up to date" solution?
Sorry for highjacking this thread, but the title subject seems non specific enough.
And at this point:Sorry for my bad spelling, i know i have a problem
CSI (which is written in C++) with a mix of Midi and OSC:

https://www.youtube.com/watch?v=byqW...ature=youtu.be
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington 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 01:48 PM.


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