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

Reply
 
Thread Tools Display Modes
Old 06-14-2020, 02:30 AM   #721
lucianoiam
Human being with feelings
 
Join Date: Jun 2020
Posts: 5
Default OSC in browser

I created a OSC <-> WebSockets bridge that brings REAPER's OSC API to web applications, it can be grabbed from here https://github.com/lucianoiam/reaper-websockets . Includes a JS client library for easy control of some mixer features. A set of mixer-related widgets is on the way...
lucianoiam is offline   Reply With Quote
Old 08-05-2020, 09:53 AM   #722
galileon
Human being with feelings
 
Join Date: Mar 2018
Posts: 13
Default OSC -> track grouping

Hi,
Do anybody found how to get any message when track is moved to group ( under another track ) ?
Thanx
R.
galileon is offline   Reply With Quote
Old 08-16-2020, 01:16 AM   #723
Michael200
Human being with feelings
 
Join Date: Aug 2020
Location: Germany
Posts: 11
Default

Quote:
Originally Posted by galileon View Post
Hi,
Do anybody found how to get any message when track is moved to group ( under another track ) ?
Thanx
R.
this would also interest me! thanks
Michael200 is offline   Reply With Quote
Old 08-24-2020, 03:44 PM   #724
MIDIsince85
Human being with feelings
 
Join Date: Oct 2019
Posts: 7
Default Looking for simple OSC example

I am looking without much luck so far in these forums for an example, or script, etc that would show me how to translate a MIDI note-on and note-off generated by ReaGate into two corresponding OSC paths and sending that. It must be here somewhere I just haven't found it.

I've found and read the .ReaperOSC file, and THINK I know how, but I'd like to avoid any rabbit hole, dumb approach, or reinventing wheels. Any pointer would be appreciated.
MIDIsince85 is offline   Reply With Quote
Old 08-25-2020, 06:50 AM   #725
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

This can be done by OSCIIBot linked to Reaper by (e.g.) LoopMidi.

Another way might be to move some standard slider or button or so that can be configured to send OSC messages from Reaper (in fact I have no idea which and how to enable the sending of OSC medssages).

To do this you would need to use (e.g.) Midi Conver To CC to create a CC message from the Note, then MidiToReaControlPath to create a Message in the control path and then you can "learn" such a slider/switch/button to it.

-Michael

Last edited by mschnell; 08-25-2020 at 06:57 AM.
mschnell is online now   Reply With Quote
Old 08-25-2020, 10:52 AM   #726
MIDIsince85
Human being with feelings
 
Join Date: Oct 2019
Posts: 7
Default

Thanks for your quick reply and for these suggestions. I still need to find a solution to the simple problem I described.
MIDIsince85 is offline   Reply With Quote
Old 09-08-2020, 08:04 AM   #727
Mr.X
Human being with feelings
 
Join Date: Jun 2011
Posts: 93
Default

Quote:
Originally Posted by schwa View Post
BTW there is an existing protocol for this (though REAPER doesn't support it yet).

http://opensoundcontrol.org/files/osc-query-system.pdf ("current value" being the most interesting part).
Is there a yet a way to poll via OSC for a current value? My thought would be that it would be a simple as not supplying a value for the function.

If a normal command is
Code:
/play,f 1
the request/poll command is (without any value)
Code:
/play
and reaper would reply
Code:
/play,f 1
Being able to poll a track for it's name or a marker for it's name would be amazeballs.

ATM the biggest issue for me is retrieving the current track and marker counts from a project. I can set how many markers and tracks I'd like to receive information from, but no way to determine how many tracks and markers there are in a project.
Maybe if the were changes to the commands like:
Code:
DEVICE_TRACK_COUNT *
and
Code:
DEVICE_MARKER_COUNT *
Where the * means "how ever many the project has". Also, can these values be changed dynamically?
Mr.X is offline   Reply With Quote
Old 09-08-2020, 11:39 AM   #728
Ayejay
Human being with feelings
 
Join Date: Sep 2020
Posts: 1
Default error pasing

i try to open my project file and it says ( parsing error) and will not open the project please help
. bak file does not load either
Attached Files
File Type: rpp go pro.rpp (170.6 KB, 475 views)

Last edited by Ayejay; 09-08-2020 at 11:41 AM. Reason: put project file in
Ayejay is offline   Reply With Quote
Old 10-02-2020, 01:51 PM   #729
Vin Morgan
Human being with feelings
 
Join Date: Sep 2020
Posts: 5
Default

Quote:
Originally Posted by airon View Post

FR

Smart control resource management.
Nobody can anticipate how many control resources you need for the next mix, which is why consoles have things like focus sections, plugin maps, custom fader groups, group spills(members of group spilled on a set of controls).

In other words, control resources are being reused in different contexts. This is a more general FR, but it applies to OSC as much as it does to midi control sources as well as any natively supported control surface.

The present control resource management is slow to setup because it is buried in submenus and can only be changed one at a time through access to several submenus per parameter.

Default plugin maps can be saved, but you can't use all control resources at your fingertips to do so. If the Mackie control universal is used a control surface, a custom plugin takes over, and the possibility of setting up a default plugin map with that control surface is gone.

I propose to abandon any custom development on your part for control surfaces and instead focus on getting whatever control resources there are available used in a more efficient and useful fashion, and that goes especially for OSC control resources.

The simpler method of accessing plugin parameters is to have a couple of simple methods and controls. You need direct access to these modes plus at least two sets of banking switches in addition to the ones used for track banking(sets) and nudging(single). Each mode access switch toggles in and out of the mode.
  • Mode access switches for changing control access of a bunch of control resources to control
    • Sends
      Bank switches A control access to the next/previous set of sends on all tracks. More stuff in regard to access to control parameters like send mute, prefx/postfx/postfader, send type, send source/target,phase,channel count has to be figured out.

    • Plugins
      Banking switches A control access to the previous and next plugin
      Banking switches B control access to the plugin parameter pages
      Usually this type of parameter access is limited to the knobs of one channel on control surfaces.
    • Custom plugin maps
      Banking switches A control access to the previous and next plugin on the channel(not all channels)
      Banking switches B control access to the previous and next pages of plugin parameters.

      This kind of plugin control usually takes over a large set of control resources. Most often all controls on sets of four or eight tracks are used.

    • Group spills
      Spreads all members of group that the currently selected track belongs to on to all track control resources.

      Banking switches A control access to the previous and next group.

    • VCA Masters
      Access all VCA masters and thus give access to
    • VCA Master Group Spill(accessed from the VCA Masters mode)
      Access the members of the VCA master. This has proven to be highly usefull in almost any show I've had the chance to use this.

    • Custom track configurations
      First layer picks the track configuration via any control resources selected to do so. It could be any OSC message, a button or touching a fader.


Ok, so this all looks like hardware control surface stuff, but OSC is actually way more flexible.

With OSC, you can setup commands to go along with the mode switches, to flip to a specific page for TouchOSC for example.

The difficult thing here is presenting this to the user so they can set this stuff up, share it, customize it and back it up.

OSC is just perfect for this, since all the feedback stuff is setup anyway. The hardware control surface folks will require one plugin to present the control resources and the feedback paths correctly to the system.

The editor, that you, Cockos, need to provide for this to work, is a difficult project. I realize that it's asking a lot.

The payoff is that nobody will need to be a programmer any longer to create exceptional control solutions. You will multiplied the number of people that can do this by at least a thousand.

All the MCU folks will be able to share setups for plugins, VCA group spills, custom fader maps. Behringer BCR2000 and BCF2000 can share their most efficient setups, without having to become programmers.

Cockos provides the tools to manage the control resources and control feedback, and the users make the rest happen.


I love the way you think.
Vin Morgan is offline   Reply With Quote
Old 10-16-2020, 07:24 AM   #730
patko
Human being with feelings
 
Join Date: Feb 2020
Location: nice (fr)
Posts: 5
Default fx enable/disable

We don't know if [fx] is enable or disabled through OSC, it would be worth to do it, and be able to enable or disable from OSC interface.
patko is offline   Reply With Quote
Old 10-17-2020, 07:30 AM   #731
patko
Human being with feelings
 
Join Date: Feb 2020
Location: nice (fr)
Posts: 5
Default OSC interface messages when on tab switch

The OSC interface send twice all parameters on tab switch. I don't know if it's intentional, it looks like a buggy behavior.

My reaper version is w64 6.14
patko is offline   Reply With Quote
Old 10-17-2020, 12:02 PM   #732
patko
Human being with feelings
 
Join Date: Feb 2020
Location: nice (fr)
Posts: 5
Default

Quote:
Originally Posted by patko View Post
The OSC interface send twice all parameters on tab switch. I don't know if it's intentional, it looks like a buggy behavior.

My reaper version is w64 6.14
In fact reaper sends all OSC parameters at session closing, that is quite useless. I haven't found an option to prevent this behavior.

So reaper doesn't really send same OSC parameters twice, but send once at session opening and once at session closing, that's why I thought it sent OSC parameters twice at tab switching.
patko is offline   Reply With Quote
Old 12-23-2020, 06:08 AM   #733
Burtan
Human being with feelings
 
Join Date: Jan 2013
Location: Bochum, Germany
Posts: 103
Default

Hi, is there an api to tell reaper that a new OSC device is in use so that it gets all current values sent? Switching banks results in most needed values being sent, but e.g. pan values are not sent, if they are on the default (0). Not sure if this is a bug.

Also,
TRACK_MONITOR b/track/monitor b/track/@/monitor i/track/monitor i/track/@/monitor
feedback is only given sometimes. This seems to be dependent on the state of the button in Reaper.

One more,
FX_BYPASS b/track/@/fx/bypass
Should bypass the whole fx chain. I don't see an API yet that does that.

Last edited by Burtan; 12-23-2020 at 07:19 AM.
Burtan is offline   Reply With Quote
Old 01-31-2021, 03:00 PM   #734
Lorenzo
Human being with feelings
 
Join Date: Mar 2014
Posts: 3
Default Autotouch issues with Ipad

Dear Reaper Users,

I am a long term Reaper user as well but not big poster.

Hopefully I am not going to ask stupid questions.

I am programming an Ipad Mini with Touchosc.

It is working except for 2 things which are related to autotouch mode:

Channel fader is not going into write mode when touched on the Ipad.

Channel send goes into write mode when touched on the Ipad but will not go back to read when released (need to stop playback).

Any ideas?

Last edited by Lorenzo; 01-31-2021 at 03:18 PM.
Lorenzo is offline   Reply With Quote
Old 02-28-2021, 02:50 AM   #735
Burtan
Human being with feelings
 
Join Date: Jan 2013
Location: Bochum, Germany
Posts: 103
Default

OSC performance issues. Hey, I'm using this stash project https://stash.reaper.fm/v/33619/Trance%20loop.rpp to do OSC testing. However when the noise track is activated, REAPER reacts pretty slow to incoming messages. Is there a known performance limit?
Burtan is offline   Reply With Quote
Old 03-06-2021, 03:01 AM   #736
phunkyg
Human being with feelings
 
phunkyg's Avatar
 
Join Date: Mar 2018
Posts: 63
Default Any DEVs like to collab on a new OSC plugin

It occured to me not long ago that, for my project, I coukd dump the OSC layer and write a new plugin for reaper to work directly with the API.
I was then thinking what a reasonable interchange language would be. OSC actually works fine here.

So the problem is really just the current state of the OSC implementation
;(

So are there any devs out there that might be interested in a collaboration to make a new OSC csurf plugin?
phunkyg is offline   Reply With Quote
Old 07-14-2021, 07:02 AM   #737
MaxNoelBass
Human being with feelings
 
Join Date: Jul 2021
Posts: 2
Default OSC TimeTag "immediately" has wrong fractional part (endianness issue?)

Hi!

I'm playing around with writing OSC software to control Reaper, and I noticed that (at least in the default configuration) whenever Reaper *emits* an OSC bundle to report its state (for example in response to raw action 41743 -- refresh all control surfaces -- or after starting/stopping playback), the sequence starts like so:

Code:
0x23 0x62 0x75 0x6e 0x64 0x6c 0x65 0x00 // "#bundle" (zero-terminated)
0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 // timetag
The timetag, as parsed according to the spec at https://ccrma.stanford.edu/groups/os...-osc-time-tags , resolves to the following:

seconds = 0
fractional = 16777216

I'm *guessing* that this is meant to be the "immediately" timetag instead, which *should* actually read:

Code:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01
That is, the 0x01 should be the least-significant byte of the fractional part, not the most-significant byte (remember: OSC timetags are two network-endian -- that is, *big-endian* -- 32-bit unsigned ints). Indeed, the spec states The time tag value consisting of 63 zero bits followed by a one in the least signifigant bit is a special case meaning “immediately.”

I don't think it causes any problems with existing control surfaces and software, because detecting seconds=0 is sufficient in most cases to infer "immediately" (unless you intend to time travel to 1900 with your DAW, I guess).

However, this causes me to wonder if maybe Reaper (contrary to the OSC spec) uses *little-endian* uint32 for timetag components, both while sending and receiving, which means I will run into trouble later on. Does anyone know? If so, is a fix planned?

(I suppose I'll find out soon enough in the course of my experiments)
MaxNoelBass is offline   Reply With Quote
Old 07-14-2021, 09:02 AM   #738
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by phunkyg View Post
It occured to me not long ago that, for my project, I coukd dump the OSC layer and write a new plugin for reaper to work directly with the API.
I was then thinking what a reasonable interchange language would be. OSC actually works fine here.

So the problem is really just the current state of the OSC implementation
;(

So are there any devs out there that might be interested in a collaboration to make a new OSC csurf plugin?
Hey there (also to the person who commented after you)

This is me just trying to play matchmaker here. Have either of you checked out CSI?

It's an open source csurf extension that has a limited OSC implementation but it's a very interesting project with a brilliant developer and a passionate community. Perhaps there is some ground to be gained for everyone by one or both of you checking it out
cjewellstudios is offline   Reply With Quote
Old 07-14-2021, 11:34 AM   #739
phunkyg
Human being with feelings
 
phunkyg's Avatar
 
Join Date: Mar 2018
Posts: 63
Default

Quote:
Originally Posted by cjewellstudios View Post
Hey there (also to the person who commented after you)

This is me just trying to play matchmaker here. Have either of you checked out CSI?

It's an open source csurf extension that has a limited OSC implementation but it's a very interesting project with a brilliant developer and a passionate community. Perhaps there is some ground to be gained for everyone by one or both of you checking it out
You're not wrong Geoff Waddington and our guys did exchange a few messages, then we all went quiet.

We did get sidetracked in supporting Pro Control devices which sucked up the immediate dev time.

There is absolutely some mileage in this though, at the time I thought CSI might be a much better layer than the supplied OSC csurf
phunkyg is offline   Reply With Quote
Old 07-14-2021, 08:27 PM   #740
MaxNoelBass
Human being with feelings
 
Join Date: Jul 2021
Posts: 2
Default

Quote:
Originally Posted by cjewellstudios View Post
Hey there (also to the person who commented after you)

This is me just trying to play matchmaker here. Have either of you checked out CSI?

It's an open source csurf extension that has a limited OSC implementation but it's a very interesting project with a brilliant developer and a passionate community. Perhaps there is some ground to be gained for everyone by one or both of you checking it out
Hi! Thanks for the suggestion, but it's not at all what I'm after. I've got a very specific use case that I want to experiment with before I reveal it.

That being said, my post was solely meant as a bug report (i.e. I believe Reaper is in violation of the OSC spec with regard to the representation of the "immediately" timetag). The rest of my development is going smoothly so far.
MaxNoelBass is offline   Reply With Quote
Old 07-26-2021, 11:38 PM   #741
Nellss
Human being with feelings
 
Join Date: Jun 2019
Posts: 3
Default Kontakt 6.6.0 stuck notes in reaper

After the kontakt update to 6.6.0, in reaper if you use this new 6.6.0 update and you have old midi keyboard, it won't register notes off in kontakt.
Old version of kontakt works fine though.
In this thread on native instruments forum https://www.native-instruments.com/f...reaper.457911/

One user described a solution, maybe in next reaper update this can be fixed, or i will have to buy new midi keyboard
Nellss is offline   Reply With Quote
Old 07-29-2021, 10:07 PM   #742
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

I use Kontakt in reaper for live playing and found no such isue after upgrading to 6.6.
It there is a problem with Note_Off as Note_On with vel 0, you can do a JSFX that converts those.

-Michael
mschnell is online now   Reply With Quote
Old 08-08-2021, 06:13 AM   #743
Nellss
Human being with feelings
 
Join Date: Jun 2019
Posts: 3
Default

Quote:
Originally Posted by mschnell View Post
I use Kontakt in reaper for live playing and found no such isue after upgrading to 6.6.
It there is a problem with Note_Off as Note_On with vel 0, you can do a JSFX that converts those.

-Michael
again,this problem is only with old midi keyboards.
Also i use pretty large template, like 300+ tracks so i would rather avoid adding 300 jsx vst to my template.
Nellss is offline   Reply With Quote
Old 08-08-2021, 09:34 AM   #744
earlabs
Human being with feelings
 
earlabs's Avatar
 
Join Date: Jul 2007
Location: Netherlands
Posts: 1,203
Default

Problem resurfaced after a long time. I have an iPad with TouchOSC. When I start Reaper the midi connections are sleeping. So all OSC messages are transported correctly. But for the cc connections to work I need to open the preferences screen. I don't need to do anything. Just open it and close again. Then everything's fine.

It used to be a problem a long time ago. Then it was solved and now it's there again.I cannot pinpoint it but I think it's since 6.32 or 6.33. it persists on 6.34
__________________
EARLabs Studio for Creative Mastering www.facebook.com/EARLabsStudio
WWW www.earlabs.org
earlabs is offline   Reply With Quote
Old 08-14-2021, 01:03 PM   #745
onewayout
Human being with feelings
 
Join Date: Feb 2008
Location: So Florida
Posts: 1,395
Default Rewrite Default script

Can I add something to the code so that it works like this with both checked?

https://www.dropbox.com/s/pwr5x45bh0...Learn.PNG?dl=0

Thx, Jeff
__________________
Win 10 I9 20 core 48g Ram always on the latest update
onewayout is offline   Reply With Quote
Old 09-06-2021, 10:34 AM   #746
ricoinaz
Human being with feelings
 
Join Date: Jul 2021
Location: Arizona USA
Posts: 4
Default MASTER_VOLUME Not Sending OSC

I have the latest version of Reaper and using OSC. It seems this OSC configuration line is not working as expected:

MASTER_VOLUME n/master/volume s/master/volume/str

I am able to control the MASTER_VOLUME slider in Reaper using OSC, but I do not receive feedback from Reaper when using the master slider in Reaper. I get no "/str" values what-so-ever either.

In addition I found several OSC "/action" that do not work. They work when I use the action list in Reaper, but not when I send the same OSC to Reaper Example:

/action/14

This should mute the master, but it does nothing. The only way I can toggle mute on the Master track is by selecting tracks and then muting the master track. You can not be on Track 1 and then send "/action/14" or any other Master track "/action/". I feel this is possibly a bug as I see no reason you can not access the Master track no matter what. That's why Reaper places this track "sticky" at the top if you configure it for view. It's a Master track (can we still say that?) and feedback from that track should always be available.

Last edited by ricoinaz; 09-14-2021 at 08:38 AM. Reason: Found reason for Reaper's way of doing things. Needed to update because of that. It's still a valid post.
ricoinaz is offline   Reply With Quote
Old 10-23-2021, 04:06 PM   #747
AlbertoV5
Human being with feelings
 
Join Date: Feb 2020
Posts: 39
Default

Hello, posting my request here:

LAST_TOUCHED_FX_PARAM_NUMBER s/fxparam/last_touched/number/str

Would be nice to be able to access the previous last_touched by saving the index and then calling fxparam/@/value. Any scriptable OSC controller can do it but we are currently missing the ability to get the index of the fxparam. We can get the index of the last touched fx right now, but not the index of the last touched fxparam, at least it's not in the Default.ReaperOSC file.

This would make a faster workflow over having to learn or design everything beforehand. So if an fx has the fxparams of Filter Freq and Filter Q, you can touch Filter Q and Filter Freq in that order and use an XY controller that stores previous last touched parameters, or any other combination of values and controllers.

Hope it makes sense. Thanks.
AlbertoV5 is offline   Reply With Quote
Old 10-24-2021, 03:33 AM   #748
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Quote:
Originally Posted by AlbertoV5 View Post
revious last touched parameters, or any other combination of values and controllers.

Hope it makes sense. Thanks.
Seems totally unrelated to this thread's title.
-Michael
mschnell is online now   Reply With Quote
Old 10-25-2021, 09:40 AM   #749
AlbertoV5
Human being with feelings
 
Join Date: Feb 2020
Posts: 39
Default

Quote:
Originally Posted by mschnell View Post
Seems totally unrelated to this thread's title.
-Michael
Where do I request an OSC message to be implemented then? Thanks.
AlbertoV5 is offline   Reply With Quote
Old 01-06-2022, 04:12 PM   #750
Vagalume
Human being with feelings
 
Join Date: Nov 2015
Posts: 604
Default

Here, Alberto, here.
Vagalume is offline   Reply With Quote
Old 01-06-2022, 08:50 PM   #751
zvukofor
Human being with feelings
 
zvukofor's Avatar
 
Join Date: Jan 2013
Location: Armenia
Posts: 88
Default

Quote:
Originally Posted by ricoinaz View Post
I have the latest version of Reaper and using OSC. It seems this OSC configuration line is not working as expected:

MASTER_VOLUME n/master/volume s/master/volume/str

I am able to control the MASTER_VOLUME slider in Reaper using OSC, but I do not receive feedback from Reaper when using the master slider in Reaper. I get no "/str" values what-so-ever either.

In addition I found several OSC "/action" that do not work. They work when I use the action list in Reaper, but not when I send the same OSC to Reaper Example:

/action/14

This should mute the master, but it does nothing. The only way I can toggle mute on the Master track is by selecting tracks and then muting the master track. You can not be on Track 1 and then send "/action/14" or any other Master track "/action/". I feel this is possibly a bug as I see no reason you can not access the Master track no matter what. That's why Reaper places this track "sticky" at the top if you configure it for view. It's a Master track (can we still say that?) and feedback from that track should always be available.
Old bug, seems like fixing OSC bugs is not a priority for like last 5 years...
zvukofor is offline   Reply With Quote
Old 01-06-2022, 10:46 PM   #752
EcBaPr
Human being with feelings
 
Join Date: Aug 2009
Posts: 402
Default

another problem is when you lock tracks you can still make changes to them via OSC input.. so all the locking features become useless if you use OSC.. hopefully they look at this at some stage..
EcBaPr is offline   Reply With Quote
Old 01-13-2022, 03:40 PM   #753
McSound
Human being with feelings
 
McSound's Avatar
 
Join Date: Jun 2021
Location: Moscow, Russia
Posts: 280
Default

Sorry if the answer is already somewhere here, but how can I send special “init” message on Reaper initialization, so my TouchOSC device could understand it and make some changes in its interface? I did it on device init itself and now I need to make the same init actions when Reaper loads a new project. Or with other words can I trace somehow by osc messages when Reaper initialized? Thanks!
McSound is offline   Reply With Quote
Old 02-11-2022, 12:08 PM   #754
bitsound
Human being with feelings
 
Join Date: Feb 2022
Posts: 16
Default

Hi!

Is there any way to reorder/filter/manually assign fx parameters of a plugin?

I've made a controller that returns the fx parameters of the selected plugin. The issue is that there are VSTs that report hundreds of parameters, leading to endless banking to find what we need, and with no standardization.

OSC is such an awesome protocol, without the limits of feedback that we get with MIDI devices, but without a way to organize all this information, it turns almost useless for some workflows.

I'm still a beginner in OSC, so I'm hoping there's something I'm not aware of that can help with this.
bitsound is offline   Reply With Quote
Old 02-19-2022, 11:19 PM   #755
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

I suggest trying ReaPack->ReaLearn .
-Michael
mschnell is online now   Reply With Quote
Old 03-02-2022, 05:38 AM   #756
bitsound
Human being with feelings
 
Join Date: Feb 2022
Posts: 16
Default

Quote:
Originally Posted by mschnell View Post
I suggest trying ReaPack->ReaLearn .
-Michael
Hi Michael!
Thanks for your suggestion. I did try to use ReaLearn, but I was hoping to find a solution that I could integrate into an already implemented and working native OSC controller device. Using ReaLearn would force me to try to merge two different implementations, with the extra work and flexibility compromises involved (assuming it's even possible).
I was looking into a solution using the native implementation of OSC.
bitsound is offline   Reply With Quote
Old 03-05-2022, 11:12 PM   #757
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Of course CSI is another option. But might be a steep process when it comes to a fully custom configuration.

-Michael
mschnell is online now   Reply With Quote
Old 03-18-2023, 03:54 PM   #758
jahudka
Human being with feelings
 
Join Date: Jul 2010
Posts: 49
Default Send / receive mute

Hi, it'd be awesome if there was a TRACK_SEND_MUTE & TRACK_RECEIVE_MUTE pattern available, currently the only way to mute sends is to set their volume to -infinity, which isn't ideal. Also I'd like to second the question for a way to query current OSC values e.g. by sending a message with no arguments - I'm aware of the "toggle" mode for patterns (e.g. "t/action/@" in the default config) which would conflict with this, but maybe there could either be a setting which disables toggles without an argument (since they also work with a "1"), or it could be configured on a per-pattern basis (e.g. something like a "q/track/@/name" pattern option). Thanks for reading!
jahudka is offline   Reply With Quote
Old 05-17-2023, 06:57 PM   #759
Koley
Human being with feelings
 
Join Date: Apr 2019
Posts: 12
Default

Hello! Is there any way that i can get reaper to send “the current active project title” to touch osc to display the name? This would be amazing as where im using it for live performance and project tabs are very important in this.
Koley is offline   Reply With Quote
Old 07-17-2023, 05:43 PM   #760
Petey-B
Human being with feelings
 
Petey-B's Avatar
 
Join Date: Jan 2023
Location: Kent Island, MD USA
Posts: 20
Default Sending the current project name to TouchOSC

Quote:
Originally Posted by Koley View Post
Hello! Is there any way that i can get reaper to send “the current active project title” to touch osc to display the name? This would be amazing as where im using it for live performance and project tabs are very important in this.
Yes...but it's a little complicated. Here's a boilerplate setup that uses a button to retrieve the current project name. There is also a way to monitor Reaper with a defer loop and update TouchOSC whenever the active project changes; but for now here's the basic approach:

1. Create a button in TouchOSC that, when clicked, sends the OSC message /OSCgetProject with a string argument of 90 (or any unused MIDI CC number). Trigger it with RISE or FALL so it doesn't get sent twice.

2. Create a label to receive the name and add a MIDI message set up as follows:
  • Receive only, no send, no trigger
  • Type: CONTROL CHANGE
  • Channel: 16/CONSTANT - I use channel 16 for all TOSC messages, but any will work
  • Controller: 90/CONSTANT - or whatever CC you're using
  • Value: text/VALUE - this is the only way that TOSC will receive variable control values
  • Scale: 0 to 127
3. Use this for the label's Script:
Code:
local str = {}

function onReceiveMIDI(msg, cnx)
  local val = msg[3]
  if val==0 then
    str = {}
  elseif val==127 then
    self.values.text=table.concat(str)
  else
    str[#str+1]=string.char(val)
  end
  return true -- indicates msg is handled
end
4. In Reaper, create a script named OSCgetProject.lua with this code:
Code:
local r = reaper
local SMM = r.StuffMIDIMessage
-- this the device ID for Bridge on my system
local id = 20
-- this is only needed if run locally
r.midi_init(id,-1)

local _,_,_,_,_,_,_,conStr = r.get_action_context()
local CCstr = string.match(conStr,".+:s=(%d+)")
local CC = tonumber(CCstr)
local ProjName = r.GetProjectName(0)
id = id + 16
-- device = 16+(device ID), chan = 0xB0+(16-1)
SMM( id, 0xBF, CC,0)
ProjName:gsub(".", function(c) SMM( id, 0xBF, CC, c:byte()) end)
SMM( id, 0xBF, CC,127)
A few notes:
I use local references for reaper functions because they run faster and are easier to type.
The id is the MIDI device ID for TouchOSC Bridge as defined in Reaper's settings, but you can use any device that is set up in TouchOSC's connections. The line r.midi_init(id,-1) is only needed if you are running TouchOSC locally on a touch screen attached to your computer. It resolves a focus issue that occurs when TouchOSC becomes the active app (this was a real hair-puller). The channel # starts at 0xB0.

5. Assign a shortcut to the script with Add... in the Action List and tapping the TouchOSC button to send the OSC message.

And that's it, the next time you tap the button in TouchOSC the label should display the project name. If anyone finds this useful and would like to see the version that does monitoring and updates the label when the current project changes, I'll post a GitHub link.
__________________
Windows is your punishment for wanting a Macintosh...
Petey-B 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 04:20 PM.


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