Old 08-09-2012, 03:00 AM   #1
razor777
Human being with feelings
 
Join Date: Aug 2012
Posts: 5
Default OSC - Multiple param values in one message

Hi guys,

First of all, I am a happy Reaper owner and this is my first post here. Greetings and congratulations for the great product... I like so many many things in Reaper, that putting them here will be a huge off-topic :-)

Now, directly to the point -

I have connected Reaper to a 3D surround panner program and they communicate via OSC messages. Now, to control the position of a sound from Reaper, I need to send the following message to that program:

/scene/source/position [x y z]

where x,y and z are the position of that sound source.
This means - an OSC message with 3 parameters.

I've read all the information I was able to find about how to resolve this using Reaper OSC control surface, but till today I am able to send OSC mesages with one parameter only.

From Reaper's side I also don't have any idea how these 3 parameters will be put together in one component (like XY controller + another Z dimention, or something like this), or they may be treated separately as 3 independent sliders...

Can somebody, please, guide me and help a little how to handle this?

Greetings to all musicians on this forum as well...

Best!
razor777 is offline   Reply With Quote
Old 08-11-2012, 10:56 AM   #2
razor777
Human being with feelings
 
Join Date: Aug 2012
Posts: 5
Default

Hey, guys?

No answer?

Is my question stupid, or maybe I am doing something stupid? No answer at all?

Best...
razor777 is offline   Reply With Quote
Old 08-15-2012, 06:01 AM   #3
keys
Human being with feelings
 
keys's Avatar
 
Join Date: Jul 2008
Location: South Coast, England
Posts: 695
Default

I asked a similar question a few weeks back - no answer then either - its looks like no support for multiple parameters - so no XY pad etc. Boo.
keys is offline   Reply With Quote
Old 08-15-2012, 06:23 AM   #4
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,323
Default

I'm not quite following the question. At present, there is support for only one parameter for OSC messages coming in to REAPER. But there is also no mechanism for forwarding an OSC message to another program.

Can you explain what you mean by "I have connected Reaper to a 3D surround panner program"? Connected how?

[edit] There is support for sending multiple parameters as a sort of omnibus message, which can be used to translate incoming values from a multidimensional controller (like an XY pad) to messages that REAPER can understand. That should address keys's issue, but not razor777's (I don't think).

# Example: FX_PARAM_VALUE n/track/@/fx/@/fxparam/@/value
# The device can send /track/3/fx/1,2,5/fxparam/6,7,7/value 0.25 0.5 0.75
# to set three FX parameter values at once, to 0.25, 0.5, 0.75 respectively.
schwa is offline   Reply With Quote
Old 08-15-2012, 07:01 AM   #5
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,969
Default

Hmm, so for fixed assignments it's possible to control fx in Reaper with XY-pad kind of things. (OSC messages which deliver 2 or more values in one message.) How about adding support for this for the parameter remote learn functionality too?
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is offline   Reply With Quote
Old 08-15-2012, 11:14 AM   #6
keys
Human being with feelings
 
keys's Avatar
 
Join Date: Jul 2008
Location: South Coast, England
Posts: 695
Default

Quote:
Originally Posted by schwa View Post
There is support for sending multiple parameters as a sort of omnibus message, which can be used to translate incoming values from a multidimensional controller (like an XY pad) to messages that REAPER can understand. That should address keys's issue, but not razor777's (I don't think).

# Example: FX_PARAM_VALUE n/track/@/fx/@/fxparam/@/value
# The device can send /track/3/fx/1,2,5/fxparam/6,7,7/value 0.25 0.5 0.75
# to set three FX parameter values at once, to 0.25, 0.5, 0.75 respectively.
Thankyou Schwa, I will give this a try again. I couldnt get this to work with TouchOSC before.

Last edited by keys; 08-15-2012 at 11:20 AM.
keys is offline   Reply With Quote
Old 08-16-2012, 02:52 PM   #7
razor777
Human being with feelings
 
Join Date: Aug 2012
Posts: 5
Default

Thanks for answering, Schwa

Let me explain in more details.

In my case, I am interested in the other direction of the OSC messages.

The audio goes from Reaper to an external surround panner software. One very natural question - why I need this external panner - well, it is because it is simulating entire virtual 3d worlds, it is more than a surround sound panner, and it has spatials, etc... It is very useful for what I need to do.

Now I use audio inputs and VST effects and instruments in Reaper. So, Reaper is my audio generating source and using ReaWire I send this audio to the surround panner..


What I am trying to achieve, is to control the surround panner's positional parameters using Reaper's automation, and the only way to do that is to SEND OSC messages from Reaper to the surround panner. And here is where I have my problem, because the panner receives position messages having 3 parameters. Unfortunately it cannot read 3 messages having one parameters each, like posX, posY and posZ. It is expecting one OSC message with 3 parameters (x,y,z), and till now I don't have idea how to do that from Reaper. I am ready even to do write some scripts if that's the way...? Any idea?
razor777 is offline   Reply With Quote
Old 08-17-2012, 10:38 AM   #8
keys
Human being with feelings
 
keys's Avatar
 
Join Date: Jul 2008
Location: South Coast, England
Posts: 695
Talking Multiple FX parameter now working in TouchOSC!

Yes indeed! Thankyou Schwa!

Following Schwa's advice, i can now get an XY pad working in TouchOSC.

For anyone as confused as I was, here's the config to control Z3ta+ Filter1 cutoff on X and Filter1 resonace on Y

I found that n/6/@/xy and n/6/fxpar@,fxpar@/xy would not work.

Here is what does work


device.ReaperOsc
# I have an XY pad in page 6 in TouchOSC
FX_PARAM_VALUE n/6/fxpar/@/xy
# device sends this as seen in 'listen': /6/fxpar/66,68/xy [ff] 0.530992 0.577922


device.touchOsc
# I have an XY pad in page 6 in TouchOSC
untick OSC: auto
set message to /6/fxpar/66,68/xy
tick invert Y


Then when Z3ta+ is in focus in REAPER, you can twiddle away.

Keys.
keys is offline   Reply With Quote
Old 08-17-2012, 02:23 PM   #9
razor777
Human being with feelings
 
Join Date: Aug 2012
Posts: 5
Default

Good for you, Keys...

I am still struggling to make it to the other direction.....
razor777 is offline   Reply With Quote
Old 08-24-2012, 08:28 AM   #10
razor777
Human being with feelings
 
Join Date: Aug 2012
Posts: 5
Default

Actually, I've made it...

Not directly via Reaper only, but involving Pure Data (PD). I have created one simple patch there (my first patch actually). It is reading midi data from the sequencer (MIDI CC) and it is converting it to multi-parameter OSC message to the 3rd party surround panner.

Maybe this could be done inside Reaper using JS, I don't know...

Currently, I am not using Reaper's OSC functionality at all...

For sure this is not the first choice solution, but it is the only one I got :-).

I am writing it here, because somebody else may need to resolve the same problem.

Best,
RazoR
razor777 is offline   Reply With Quote
Old 12-17-2012, 05:00 PM   #11
johns
Human being with feelings
 
Join Date: Jul 2012
Posts: 14
Default Panning in ReaSurround with TouchOSC

Hi All,

I'm having some trouble getting this panner to respond properly to the XY pad in TouchOSC.
I have checked with listen which gives : /3/xy2 [ff] followed by two numbers which could be coordinates when I touch the XY pad.

Having got the ReaSurround plugin to respond, by clicking Param/Learn moving the XY pad, which displayed the same values as in the listen window ( after selecting from Param/FX parameter list/Learn/ in 2 X and then in 2 Y ) , I managed to get a nice diagonal movement but not the variable XY movements I was hoping for. Interestingly adjacent to the XY pad in the customised Touch OSC setup for LogicPad I saw the individual parameters, displayed via the rotary controls, moving in parallel - however, when I moved these rotary controls independently in differing speeds and amounts the spatialising moved as I had wanted.

There is a further matter of trying to control the rotary controls for 'rotate' in ReaSurround - I've tried with the encoder in TouchOSC but whilst it is listened to I can't get it to respond yet!

I don't know how to disengage these two parameters so they allow variable moving in the quad space - could anyone help with this please.


Thanks so much ... So near yet so far!!

John
johns is offline   Reply With Quote
Old 12-17-2012, 05:21 PM   #12
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by razor777 View Post
Actually, I've made it...

Not directly via Reaper only, but involving Pure Data (PD). I have created one simple patch there (my first patch actually). It is reading midi data from the sequencer (MIDI CC) and it is converting it to multi-parameter OSC message to the 3rd party surround panner.

Maybe this could be done inside Reaper using JS, I don't know...

Currently, I am not using Reaper's OSC functionality at all...

For sure this is not the first choice solution, but it is the only one I got :-).

I am writing it here, because somebody else may need to resolve the same problem.

Best,
RazoR
You could use a 'dummy' JS with a simple OSC control surface configuration. See this example.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 12-17-2012, 05:22 PM   #13
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by johns View Post
Hi All,

I'm having some trouble getting this panner to respond properly to the XY pad in TouchOSC.
I have checked with listen which gives : /3/xy2 [ff] followed by two numbers which could be coordinates when I touch the XY pad.

Having got the ReaSurround plugin to respond, by clicking Param/Learn moving the XY pad, which displayed the same values as in the listen window ( after selecting from Param/FX parameter list/Learn/ in 2 X and then in 2 Y ) , I managed to get a nice diagonal movement but not the variable XY movements I was hoping for. Interestingly adjacent to the XY pad in the customised Touch OSC setup for LogicPad I saw the individual parameters, displayed via the rotary controls, moving in parallel - however, when I moved these rotary controls independently in differing speeds and amounts the spatialising moved as I had wanted.

There is a further matter of trying to control the rotary controls for 'rotate' in ReaSurround - I've tried with the encoder in TouchOSC but whilst it is listened to I can't get it to respond yet!

I don't know how to disengage these two parameters so they allow variable moving in the quad space - could anyone help with this please.


Thanks so much ... So near yet so far!!

John
You should either filter the messages, or only send one at a time while you're learning them. You could e.g. create a temporary layout / control that sends only the OSC message corresponding to the X or Y dimension of the XY pad. You could also send the messages to REAPER using a tool like Pure data just for learning them.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 12-17-2012, 05:53 PM   #14
johns
Human being with feelings
 
Join Date: Jul 2012
Posts: 14
Smile

Hi,
Thanks so much for your very quick response:

You should either filter the messages,
... I don't know how to do this could you advise?
or only send one at a time while you're learning them. You could e.g. create a temporary layout / control that sends only the OSC message corresponding to the X or Y dimension of the XY pad.
... I'll try this
You could also send the messages to REAPER using a tool like Pure data just for learning them.
... I don't know how to write Pure data.

Kindest regards
John
johns is offline   Reply With Quote
Old 12-17-2012, 06:06 PM   #15
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by johns View Post
Hi,
Thanks so much for your very quick response:

You should either filter the messages,
... I don't know how to do this could you advise?
or only send one at a time while you're learning them. You could e.g. create a temporary layout / control that sends only the OSC message corresponding to the X or Y dimension of the XY pad.
... I'll try this
You could also send the messages to REAPER using a tool like Pure data just for learning them.
... I don't know how to write Pure data.

Kindest regards
John
If you're already familiar with editing layouts in TouchOSC, that's probably the easiest solution for you. Me, I find that too much hassle, I would just use a simple Pd patch.

There are plenty of great tutorials explaining how to send an OSC message from Pd-extended. See for example here:
http://en.flossmanuals.net/pure-data/ch065_osc/
http://hexler.net/docs/touchosc-getting-started-osc
http://www.aaronfryklund.com/wp/tuto...l-in-puredata/

But mind you: 'learned' OSC messages do *NOT* support any feedback (i.e. when you move the controls in REAPER/ReaSurround, the corresponding controls in TouchOSC do *not* reflect that, and will thus be at the incorrect parameter values. The when you use them, you will get parameter 'jumps'). Which is why I would not recommend going this route in the first place.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 12-17-2012, 06:42 PM   #16
johns
Human being with feelings
 
Join Date: Jul 2012
Posts: 14
Default

Hi,

Thanks again for your quick reply - I've been unable to create a layout to learn X and Y separately for the XY pad - but will try later - it's 1.41am and I expect sleep might be a better course of action at the moment. I'm not so concerned with precise communication back to the iPad as I need this for recording automation/performance. PD still eludes me!

I'll reply tomorrow ...

kindest regards

John
johns is offline   Reply With Quote
Old 12-17-2012, 07:06 PM   #17
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by johns View Post
Hi,

Thanks again for your quick reply - I've been unable to create a layout to learn X and Y separately for the XY pad - but will try later - it's 1.41am and I expect sleep might be a better course of action at the moment. I'm not so concerned with precise communication back to the iPad as I need this for recording automation/performance. PD still eludes me!

I'll reply tomorrow ...

kindest regards

John
No hurries, John, I'll still be here in a while to help you wherever I can. Sweet dreams for now!
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned 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 12:55 AM.


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