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

Reply
 
Thread Tools Display Modes
Old 02-17-2012, 02:16 AM   #81
Spyrow
Human being with feelings
 
Join Date: Sep 2007
Posts: 522
Default

LAST_TOUCHED_FX is great, but we can only control one parameter, right?

Any intention of adding the FOCUSED_FX messages to control all the parameters?
Spyrow is offline   Reply With Quote
Old 02-17-2012, 03:35 AM   #82
EnkelMagnus
Human being with feelings
 
Join Date: Feb 2010
Posts: 96
Default

Is it possible to comment out lines in the OSC config files instead of having to delete them ? I just tried briefly with a # and it didn't seem to work. It is entirely possible i messed something up though.
EnkelMagnus is offline   Reply With Quote
Old 02-17-2012, 03:49 AM   #83
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

Quote:
Originally Posted by Spyrow View Post
Any intention of adding the FOCUSED_FX messages to control all the parameters?
+1!
Subz is offline   Reply With Quote
Old 02-17-2012, 04:27 AM   #84
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

So, is there a way i can make the logic touch OSC preset follow selected tracks now? with "+ OSC: added messages for last touched track"
Subz is offline   Reply With Quote
Old 02-17-2012, 05:47 AM   #85
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

Is there any way to manipulate XY pads now or is it not yet implemented?
To assign X for one parameter and Y for another?

Last edited by Sexan; 02-17-2012 at 08:10 AM.
Sexan is offline   Reply With Quote
Old 02-17-2012, 10:02 AM   #86
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

A bit more extensive report for same bug as mentioned before:

For a control surface with default OSC config, and plugin JS: dummy on 1st slot of master track (track 0), changing the plugin Slider 1 value to 0.0 results in this OSC output from REAPER:
Code:
/fxparam/1/value 0
/fxparam/1/paramval 0.0
/fx/1/fxparam/1/value 0
/fx/1/fxparam/1/paramval 0.0
/track/0/fx/1/fxparam/1/value 0
/track/0/fx/1/fxparam/1/paramval 0.0
/lastfxparam/value 0
/lastfxparam/paramval 0.0
/lastfx/name JS: OSC/dummy
/lastfx/number 
/lastfx/bypass 0
/lastfxparam/name Slider 1
/lastfxparam/value 0
/lastfxparam/paramval 0.0
For a control surface with default OSC config, and plugin JS: dummy on 1st slot of track 1, changing the plugin Slider 1 value to 0.0 results in this OSC output from REAPER:
Code:
/lastfxparam/value 0
/lastfxparam/paramval 0.0
/lastfx/name JS: OSC/dummy
/lastfx/number 
/lastfx/bypass 0
/lastfxparam/name Slider 1
/lastfxparam/value 0
/lastfxparam/paramval 0.0
The emphasized part above is missing from all tracks other than the master track.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 10:35 AM   #87
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,734
Default

Quote:
Originally Posted by EnkelMagnus View Post
Is it possible to comment out lines in the OSC config files instead of having to delete them ? I just tried briefly with a # and it didn't seem to work. It is entirely possible i messed something up though.
That should work -- any line starting with '#' is ignored.
schwa is offline   Reply With Quote
Old 02-17-2012, 11:50 AM   #88
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

where's the best place to get an overview of the OSC format and how to use/manipulate it?

I've tried the obvious places but for a none programmer (but knows the ins and out of midi protocol) I'm finding OSC hard to get started in, just need a clue on how to format messages, been looking through examples here and it helps, as does the default file but need a massive starters guide (as will others)

I'm sure once I get the basics it will become a hell of a lot more obvious

Hope I'm not the only one!

EDIT: ok got some basic stuff working but it's more about syntax stuff for me perhaps some more examples from the users here

Last edited by musicbynumbers; 02-17-2012 at 12:16 PM.
musicbynumbers is offline   Reply With Quote
Old 02-17-2012, 12:08 PM   #89
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 EnkelMagnus View Post
Is it possible to comment out lines in the OSC config files instead of having to delete them ? I just tried briefly with a # and it didn't seem to work. It is entirely possible i messed something up though.
[EDIT: ah, schwa beat me to it. ] It should work with # (it does for me, anyway). Perhaps try again.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 12:38 PM   #90
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 musicbynumbers View Post
where's the best place to get an overview of the OSC format and how to use/manipulate it?

I've tried the obvious places but for a none programmer (but knows the ins and out of midi protocol) I'm finding OSC hard to get started in, just need a clue on how to format messages, been looking through examples here and it helps, as does the default file but need a massive starters guide (as will others)

I'm sure once I get the basics it will become a hell of a lot more obvious

Hope I'm not the only one!
You are free to define your own namespace in OSC, it is open-ended and dynamic. In this case, Cockos is free to use OSC as they wish, and we are free to ask Cockos to use it in ways that are useful to us. There are some standardization initiatives in this field though, like SynOSCopy, Gesture Description Interchange Format (GDIF), and TUIO is also layered on top of OSC (tbh, I'd much rather like to see polyphonic aftertouch and note-off velocity editing support for plain old MIDI in REAPER than any of this).

Knowing this may not help you become much more comfortable with OSC though; I can say from my own experience that messing around with OSC in Pure data (or Max) did help me a lot in this regard. I'd suggest starting out with something simple like a patch to receive and show OSC data from REAPER. For example, try the patch named "Receiving a simple message" from here with Pure data (use "extended" version which includes mrpeach's OSC stuff), basically all you need to do is change the udp receive port to 9000 (the default value in REAPER's OSC config file) and you can see what REAPER is doing. Hope this helps...
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 02:18 PM   #91
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Perhaps we need a change to the "Touch" and "Latch" envelope automation modes, or a new envelope automation mode, to take account of OSC feedback. When I hook up an effect parameter in REAPER bi-directionally via OSC to some parameter in another app which in turn immediately reflects that message back via OSC to REAPER, the "Touch" and "Latch" envelope automation modes do not work as designed anymore. Ideally they should recognize feedback in some way, i.e. when the incoming values for a parameter (linked bi-directionally over OSC) are the same as its current value, then incoming values should not count as a "touch", and thus any existing parameter values on its automation envelope are preserved (instead of getting 'bulldozered').
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 02:24 PM   #92
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Quote:
Originally Posted by Banned View Post
You are free to define your own namespace in OSC, it is open-ended and dynamic. In this case, Cockos is free to use OSC as they wish, and we are free to ask Cockos to use it in ways that are useful to us. There are some standardization initiatives in this field though, like SynOSCopy, Gesture Description Interchange Format (GDIF), and TUIO is also layered on top of OSC (tbh, I'd much rather like to see polyphonic aftertouch and note-off velocity editing support for plain old MIDI in REAPER than any of this).

Knowing this may not help you become much more comfortable with OSC though; I can say from my own experience that messing around with OSC in Pure data (or Max) did help me a lot in this regard. I'd suggest starting out with something simple like a patch to receive and show OSC data from REAPER. For example, try the patch named "Receiving a simple message" from here with Pure data (use "extended" version which includes mrpeach's OSC stuff), basically all you need to do is change the udp receive port to 9000 (the default value in REAPER's OSC config file) and you can see what REAPER is doing. Hope this helps...
thanks, will research this stuff. I'm making some headway though just from observation of other scripts.

I just want to convert my P5 glove, wacom pad and wii controller into high res rather than 7 to 14bit
musicbynumbers is offline   Reply With Quote
Old 02-17-2012, 02:33 PM   #93
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Quote:
Originally Posted by Spyrow View Post
LAST_TOUCHED_FX is great, but we can only control one parameter, right?

Any intention of adding the FOCUSED_FX messages to control all the parameters?
and the track fx parameters as then we can just assign them that way.

I know we can do it through actions now but does that take into account the 32bit resolution?
musicbynumbers is offline   Reply With Quote
Old 02-17-2012, 03:55 PM   #94
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,340
Default

@musicbynumbers,

I'm not sure what device or software you are sending from, but I'll try and help you a little bit using GlovePie as an example.

If your sending to REAPER make sure your hardware or software send port matches REAPER's "Receive on port"

If your sending from another application on the same computer you will set it's Device IP to 127.0.0.1
If your sending from an external device or another computer then on that device or computer you would set Device IP to the one listed in REAPER's Control Surface Settings dialog in the Host IP field.

If your just going to be controlling REAPER and don't need any feedback on the device doing the controlling then you can leave "Send to port" un-ticked.

Let's start with the default config. that REAPER creates.
In there you'll find this line for FX parameter control.
FX_PARAM_VALUE /fxparam/@/value /fx/@/fxparam/@/value /track/@/fx/@/fxparam/@/value

This first part "FX_PARAM_VALUE" is just a description, you need not concern your self with this when sending to REAPER.

Next you have the pattern "/fxparam/@/value" The '@' is just a wild card that REAPER uses to say hey shouldn't there be a number here? So when you send this command to REAPER it would look like this instead "/fxparam/3/value" which will control parameter #3 of the first FX in the Master Trk.

Next you have "/fx/@/fxparam/@/value" If you send "fx/2/fxparam/3/value"
this will control parameter #3 of the second FX in the chain on the Master Trk.

Next you have "/track/@/fx/@/fxparam/@/value" which is the one you'll probably use most often. If you send "/track/5/fx/2/fxparam/3/value" it will control parameter #3 of the second FX in the chain on Trk. 5.

Here is an example script that I used in GlovePIE to control parameter #3 of the first FX in the chain on track 1.

Osc1.port = 8000
SendOsc("127.0.0.1",Osc1.port,"/track/1/fx/1/fxparam/3/value",0.5)

Because it's on the same machine as REAPER I use "127.0.0.1"
Some software allows you to substitute "localhost" so the message could look like this instead.

Osc1.port = 8000
SendOsc("localhost",Osc1.port,"/track/1/fx/1/fxparam/3/value",0.5)

After "localhost" is Osc1.port this is just a variable which was set using Osc1.port = 8000 The message could vary well read SendOsc("localhost",8000,"/track/1/fx/1/fxparam/3/value",0.5)

Then comes the message that I'm sending "/track/1/fx/1/fxparam/3/value"
followed by the value that I'm setting it to.

Now for some info on the "value"..., in some software and on some devices that use a slider the range may already be preset. With GlovePIE it is not although I could write some code that would set a range and then assign it to a variable. So instead of /value",0.5 it might read /value",var.x)

For most software/hardware controllers the math is pre-programmed so you shouldn't have to deal with it.

In cases where you specify the value yourself the important thing to remember is that VSTs expect a "normalized" value, that is a value which is between 0 and 1. To find the smallest increment value you divide 1 by the total amount of increments. So for a moment let's take MIDI as an example. If your using a fader on a MIDI device to control a parameter and your just using the course range.., that is 0-127(128 values) you would divide 1 by 128 which gives you the smallest increment of 0.0078125. Now times this by 64 which is the mid point on a course MIDI knob.., and you get 0.5(0.5 is the mid point between 0 and 1 so hopefully you now get an idea of how this works). If you where instead using the "fine" range of a MIDI control you would divide 1 by 256.

Now back to OSC.., because OSC uses 32bit(-2147483648 to 2147483647)you have a much wider range than that of MIDIs 8bits(-128 to 127). You are very unlikely to come across an FX parameter that uses the full range. More than likely they will be 8bit(-128 to 127) - 16bit(−32768 to 32767).

Now back to REAPER's default config. You'll notice the description FX_PARAM_VALUE_STRING followed by these patterns /fxparam/@/paramval /fx/@/fxparam/@/paramval /track/@/fx/@/fxparam/@/paramval
These are string patterns which are related to the values you see in a plugins GUI.., for example "33.3%" or "160.0ms".., etc.

I don't believe VSTs respond to incoming strings so these would be for outgoing purpose only.(devs please correct me if I'm wrong)

ACTIONS:
To control REAPERS actions you just send for example /action/40001
Or with the new feature found in the "Controller Surface Settings" dialog labeled "Allow binding messages to REAPER actions". If you enable it, this is how it works.., First from your controller assign this pattern "/action/blahblah (blahblah being anything you want). Now open the Actions dialog and under "Shortcuts for selected action" click "Add" then wiggle your controller and you should see "action/blahblah" appear in the Shortcut field.

If you want a nice little free software to experiment with sending OSC to REAPER I would recommend this. http://www.niallmoody.com/apps/mouse-to-osc
To set it up for use on the same computer as REAPER set IP Address: to 127.0.0.1 set Port to match REAPER's "Receive on port" then in one of the OSC Address fields put one of the patterns and move a slider.
To see if REAPER is receiving the messages open the Listener in the "Controller Surface Settings" dialog and move slider.
Anton9 is offline   Reply With Quote
Old 02-17-2012, 05:16 PM   #95
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 Anton9 View Post
[...] Next you have "/track/@/fx/@/fxparam/@/value" which is the one you'll probably use most often. If you send "/track/5/fx/2/fxparam/3/value" it will control parameter #3 of the second FX in the chain on Trk. 5. [...]
... with the caveat that this one currently doesn't work in the current version, only for track 0 (master track) (see my post above). Just to make sure you don't freak out over why things don't work when following the above. Success.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 05:27 PM   #96
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,340
Default

@Banned,

It works for me.., maybe try going into settings and select refresh from the Pattern Config drop down, select a different config and then reselect the default config.

Last edited by Anton9; 02-17-2012 at 06:50 PM.
Anton9 is offline   Reply With Quote
Old 02-17-2012, 05:29 PM   #97
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Anton9!

thanks a hell of a lot for going out of your way to put some detail into it.

I am indeed using glovepie, was using it with midi for P5 glove, wacom and wii remote but will now be attempting to combine all of them into one glovepie osc setup that can be assigned track fx parameters (so that I can select a track and get control that way).

The blurry bit was mostly the right commands needed to convert messages.

Now I just have to manage to get absolute mode working again on the P5 glove, can't wait to try it out with a much higher resolution, I just hope the slew rate/smoothing is not going to add too much latency
musicbynumbers is offline   Reply With Quote
Old 02-17-2012, 05:56 PM   #98
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,340
Default

You could try the command Pie.FrameRate = 120 Hz to see if that helps. You may even be able to go higher with that command, I don't remember off hand what the highest freq. possible is.

I love setting parameters to the wiimote's pitch and roll, I hardly ever use my keyboards pitch/mod stick anymore. The wiimote is so much more expressive, plus having programmable buttons to fire off actions or switch parameters is way cool.

So do you like your P5 glove? I've often thought about getting one. How sensitive is it with finger movements? Does it work good when combined with playing a keyboard or guitar?
Anton9 is offline   Reply With Quote
Old 02-17-2012, 06:58 PM   #99
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 Anton9 View Post
@Banned,

It works for me.., maybe try going into settings and select refresh from the Pattern Config drop down, select a different config and then reselect the default config.
Hmm, perhaps it affects the OS X builds only. I'll have another look tomorrow, thanks for your feedback in any case.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 06:59 PM   #100
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Thanks for the tip, it's more about the filtering needed to keep the parameters/tracking smooth that makes it a little slow to react but these can be turned off (great for fx as explained below)

I've had it for about 8 years now. Controlled via midi it's great for fx control with the other free hand using something like the wacom for setting pitch or a keyboard as it has always been a little latent for pitch because of the averaging needed for error correction and also the low midi CC range.

It's pretty fast on the fingers side though and if you get rid of the filtering/averaging it's very responsive for crazy effects.

I love creating some wild feedback/filter distortion delay things and assigning each parameter to finger plus x,y,z,roll,tilt etc as after a while of using it you get use to certain hand positions as giving you "that tone" and others for "this tone" and it becomes instinctive and fun.

plus it was only £20 when I got mine off ebay
musicbynumbers is offline   Reply With Quote
Old 02-17-2012, 07:40 PM   #101
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,734
Default

Quote:
Originally Posted by Banned View Post
Hmm, perhaps it affects the OS X builds only. I'll have another look tomorrow, thanks for your feedback in any case.
It tests OK on Windows and Mac. But note that if you just copy the default config file, it won't appear in the list, because anything that starts with the word "default" is ignored.
schwa is offline   Reply With Quote
Old 02-17-2012, 08:10 PM   #102
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 schwa View Post
It tests OK on Windows and Mac. But note that if you just copy the default config file, it won't appear in the list, because anything that starts with the word "default" is ignored.
I tried again and again, but I can only confirm again that it does not work here; my bug reports above still seem to be entirely accurate and correct. I'm using the default OSC config file (not a copy of it), as far as I can see everything works as expected, so that is not the problem. As far as I can see when printing all OSC output from REAPER to the console in Pure data, changing the slider value of the JS dummy plugin (or any parameter of any other plugin) that does output OSC messages conforming to the config file on the master track just fine simply does not send out the full range of those specified OSC messages when it is on any other track. None of the messages starting with /track work outside of the master track, only the ones starting with /lastfxparam.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 08:16 PM   #103
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Another test, config file contains only this:
Code:
FX_NAME /fx/@/name /track/@/fx/@/name
FX_NUMBER /fx/@/number /track/@/fx/@/number
FX_BYPASS /fx/@/bypass /track/@/fx/@/bypass 
FX_BYPASS_TOGGLE /fx/@/bypasstoggle /track/@/fx/@/bypasstoggle
FX_PARAM_PAGE_NUMBER /fxparam/page
FX_PARAM_NAME /fxparam/@/name /fx/@/fxparam/@/name /track/@/fx/@/fxparam/@/name 
FX_PARAM_VALUE /fxparam/@/value /fx/@/fxparam/@/value /track/@/fx/@/fxparam/@/value
FX_PARAM_VALUE_STRING /fxparam/@/paramval /fx/@/fxparam/@/paramval /track/@/fx/@/fxparam/@/paramval
When changing plugin parameters on any track except track 0, no OSC comes out at all (while it works perfectly when using all the /lastfx and /lastfxparam lines from the default config file). Seriously, it's broken like I said. :P
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 08:34 PM   #104
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,734
Default

Sorry, I quoted the wrong post in my reply. The bug you are reporting, where some track FX messages are not sent to the device, is confirmed and fixed for the next build.

The bug we can't reproduce is the report where "refresh list" does not refresh the list of OSC pattern config files.
schwa is offline   Reply With Quote
Old 02-17-2012, 08:39 PM   #105
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 schwa View Post
Sorry, I quoted the wrong post in my reply. The bug you are reporting, where some track FX messages are not sent to the device, is confirmed and fixed for the next build.

The bug we can't reproduce is the report where "refresh list" does not refresh the list of OSC pattern config files.
Ah that clears it up then. Thanks for confirming and fixing.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-17-2012, 09:02 PM   #106
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

[FR] I think it would make more sense to set the control surface update frequency per device rather than globally. Especially when simultaneously using hardware via both wired and wireless connections, and/or with apps on the same computer for control surfaces, it may make a lot of sense to differentiate their communication bandwidths, e.g. lowest frequency for remote controller hardware via wireless, faster for wired networking, and fastest for inter-app communication.

Perhaps it would also make sense to link the update rate to a fraction of the project audio (sample) rate and/or audio buffer size (as configured in "Request block size" in Preferences > Audio > Device), e.g. for situations where OSC is linked to automation envelopes. What determines the (maximum) frequency of REAPERs automation envelopes anyway? Updates are calculated once per audio buffer? Could the current OSC implementation handle e.g. OSC messaging at audio rates? (I did try entering 44100 Hz but I didn't see an audio rate flood come out...)

[EDIT:] For lower update frequencies, it may also be interesting to link update frequency to BPM and musical timebase, to achieve 'quantized' updates every 32th note, or every x MIDI ticks, perhaps coupled with an offset in samples/miliseconds to account for potential latency down the line.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 02-17-2012 at 09:37 PM.
Banned is offline   Reply With Quote
Old 02-18-2012, 03:59 AM   #107
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

my bad.........

Last edited by Sexan; 02-18-2012 at 05:55 AM.
Sexan is offline   Reply With Quote
Old 02-18-2012, 05:47 AM   #108
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,734
Default

Sexan:
Quote:
Originally Posted by schwa
But note that if you just copy the default config file, it won't appear in the list, because anything that starts with the word "default" is ignored.
schwa is offline   Reply With Quote
Old 02-18-2012, 05:50 AM   #109
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

This is my attempt to make the Logic Touch template follow track selection

Code:
# OSC pattern config file.
# See comments in Default.ReaperOSC.


NUM_TRACKS 1
NUM_SENDS 4 
NUM_FX 8 
NUM_FX_PARAMS 4

ACTION

REWIND /1/rewind
FORWARD /1/forward
REWIND_FORWARD_BYMARKER /1/bymarker
REWIND_FORWARD_SETLOOP /1/bycycle

TRACK_EDIT
TRACK_EDIT_TOGGLE
PREV_TRACK /1/track-
NEXT_TRACK /1/track+

TRACK_BANK_EDIT
PREV_TRACK_BANK
NEXT_TRACK_BANK
 
FX_EDIT
FX_EDIT_TOGGLE
PREV_FX /2/slot- 
NEXT_FX /2/slot+ 

FX_PARAM_BANK_EDIT
PREV_FX_PARAM_BANK /2/page- 
NEXT_FX_PARAM_BANK /2/page+ 

METRONOME /1/click
REPLACE /1/replace
REPEAT /1/cycle

RECORD /1/record
STOP /1/stop
PLAY /1/play
PAUSE

ANY_SOLO 
SOLO_RESET 
AUTO_REC_ARM 

TIME_STRING
BEAT_STRING

PLAY_RATE
PLAY_RATE_RAW
PLAY_RATE_STRING

TEMPO
TEMPO_RAW
TEMPO_STRING

MASTER_VOLUME
MASTER_VOLUME_STRING
MASTER_PAN 
MASTER_PAN_STRING

MASTER_SEND_NAME
MASTER_SEND_VOLUME
MASTER_SEND_VOLUME_STRING
MASTER_SEND_PAN

TRACK_NAME
TRACK_NUMBER
TRACK_VOLUME
TRACK_VOLUME_DB
TRACK_VOLUME_STRING
TRACK_PAN
TRACK_PAN_STRING
TRACK_MUTE
TRACK_MUTE_TOGGLE
TRACK_SOLO
TRACK_SOLO_TOGGLE
TRACK_REC_ARM
TRACK_REC_ARM_TOGGLE
TRACK_INPUT_MONITOR
TRACK_SELECT
TRACK_SELECT_TOGGLE

TRACK_AUTO_TRIM
TRACK_AUTO_READ 
TRACK_AUTO_LATCH
TRACK_AUTO_TOUCH
TRACK_AUTO_WRITE

LAST_TOUCHED_TRACK_NAME /1/trackname
LAST_TOUCHED_TRACK_NUMBER
LAST_TOUCHED_TRACK_VOLUME /1/volume
LAST_TOUCHED_TRACK_VOLUME_DB
LAST_TOUCHED_TRACK_VOLUME_STRING
LAST_TOUCHED_TRACK_PAN /1/pan
LAST_TOUCHED_TRACK_PAN_STRING
LAST_TOUCHED_TRACK_MUTE /1/mute
LAST_TOUCHED_TRACK_MUTE_TOGGLE
LAST_TOUCHED_TRACK_SOLO /1/solo
LAST_TOUCHED_TRACK_SOLO_TOGGLE
LAST_TOUCHED_TRACK_REC_ARM /1/recenable
LAST_TOUCHED_TRACK_REC_ARM_TOGGLE
LAST_TOUCHED_TRACK_INPUT_MONITOR /1/input

LAST_TOUCHED_TRACK_AUTO_TRIM /1/atmoff
LAST_TOUCHED_TRACK_AUTO_READ /1/atmread
LAST_TOUCHED_TRACK_AUTO_LATCH /1/atmlatch
LAST_TOUCHED_TRACK_AUTO_TOUCH /1/atmtouch
LAST_TOUCHED_TRACK_AUTO_WRITE

TRACK_SEND_NAME /2/sendname@
TRACK_SEND_VOLUME /2/sendlevel/@
TRACK_SEND_VOLUME_STRING /2/sendval@
TRACK_SEND_PAN

FX_NAME /2/plugname
FX_NUMBER /2/slot# 
FX_BYPASS
FX_BYPASS_TOGGLE /2/insertbypass/1/@
FX_PARAM_PAGE_NUMBER
FX_PARAM_NAME /2/parname@
FX_PARAM_VALUE /2/fxpar@ 
FX_PARAM_VALUE_STRING /2/parval@

LAST_TOUCHED_FX_NAME
LAST_TOUCHED_FX_NUMBER
LAST_TOUCHED_FX_BYPASS
LAST_TOUCHED_FX_BYPASS_TOGGLE
LAST_TOUCHED_FX_PARAM_NAME
LAST_TOUCHED_FX_PARAM_VALUE
LAST_TOUCHED_FX_PARAM_VALUE_STRING
this seems to be working but feedback to my iphone needs refreshing

let me explain better,

if i select track 3, then track 4, my iphone will read track 3 but edit track 4, if i deselect all tracks then select track 4 then i see track 4 on iphone & edit track 4,

i hope that makes sense?

Subz
Subz is offline   Reply With Quote
Old 02-18-2012, 06:04 AM   #110
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

is there yet a way to make track_send follow selected track?

Subz
Subz is offline   Reply With Quote
Old 02-18-2012, 06:28 AM   #111
diversgens
Human being with feelings
 
Join Date: Oct 2010
Location: France
Posts: 125
Default

Did someone use Lemur on Ipad here ?
I'm working on a template for Reaper but i have problems with the syntax send by Lemur.
What mean [ffff] or [if] in the listen window before the value and how to manage it ?
Can we use {} or [] in the ReaperOSC files ?
TIA
diversgens is offline   Reply With Quote
Old 02-18-2012, 06:50 AM   #112
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

ability to learn OSC controllers would be useful in the "Midi Learn" window

XY Pads! Yay!

& a way to use OSC pads to trigger midi on selected track would be WAY Kewl!!



Subz
Subz is offline   Reply With Quote
Old 02-18-2012, 07:01 AM   #113
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Indeed, ways to trigger items via OSC commands and play notes would be great not to mention it might allow someone to program up a ableton clip view JS plugin or something
musicbynumbers is offline   Reply With Quote
Old 02-18-2012, 08:17 AM   #114
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 diversgens View Post
Did someone use Lemur on Ipad here ?
I'm working on a template for Reaper but i have problems with the syntax send by Lemur.
What mean [ffff] or [if] in the listen window before the value and how to manage it ?
Can we use {} or [] in the ReaperOSC files ?
TIA
I have a hunch the f and i probably stand for float and integer, respectively, and the number of characters represent the number of values sent in the message.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-18-2012, 08:39 AM   #115
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,203
Default

we also need a way to FOCUSED_PREV_FX_PARAM_BANK & FOCUSED_NEXT_FX_PARAM_BANK

or is there a way to do this already?

i'm making a modded version of LogicTouch with extra pages but so far i can only edit the first 4 parameters of Focused FX?

Subz
Subz is offline   Reply With Quote
Old 02-18-2012, 09:12 AM   #116
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Quote:
Originally Posted by Banned View Post
I have a hunch the f and i probably stand for float and integer, respectively, and the number of characters represent the number of values sent in the message.
That's what I was going to guess at, except perhaps it's the number in hex places rather than precision after the decimal point.
musicbynumbers is offline   Reply With Quote
Old 02-18-2012, 09:15 AM   #117
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Without any line in the config for NUM_FX_PARAMS, the number of parameters that gets transmitted by
Code:
FX_PARAM_NAME /fxparam/@/name /fx/@/fxparam/@/name /track/@/fx/@/fxparam/@/name 
FX_PARAM_VALUE /fxparam/@/value /fx/@/fxparam/@/value /track/@/fx/@/fxparam/@/value
FX_PARAM_VALUE_STRING /fxparam/@/paramval /fx/@/fxparam/@/paramval /track/@/fx/@/fxparam/@/paramval
is still clipped at 16. In other words, the line
Code:
NUM_FX_PARAMS 16
is some kind of default - one only has to add it when one requires a different number.

The problem, however, is that it should affect only the maximum number of parameters that 'pages' of a remote control surface can handle. It should NOT limit the number of parameters for which REAPER supports OSC, as it currently seems to do. One should be able to use something like TouchOSC with 'paged' controls, and set a number of parameters for that purpose (e.g. 16), while simultaneously being able to send/receive parameter values via OSC for e.g. a plugin on a track that has a higher index than 16. Currently, I can't. I have to include a NUM_FX_PARAMS line and raise its value to have
Code:
FX_PARAM_VALUE /track/@/fx/@/fxparam/@/value
send out values for parameters 17 and onwards of any plugin in any track. If I do (e.g. set it to a high number like 32768), 'paging' parameters will not work as designed anymore. I suspect this is just a simple bug somewhere?
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 02-18-2012, 09:55 AM   #118
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

When enabling Parameter Modulation for plugin parameters, and checking the "Link from parameter" checkbox, even with "(none)" selected, I immediately get a continuous stream of that parameter's value via OSC (with e.g. default OSC config). Whoah, I didn't mean to get spammed! Can this be disabled?
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 02-18-2012 at 10:13 AM.
Banned is offline   Reply With Quote
Old 02-18-2012, 01:52 PM   #119
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,340
Default Request

Schwa,

Since OSC can send 4 values per message could you please add support for it?
Something like this /track/@,@,@,@/fx/@,@,@,@/fxparam/@,@,@,@/value
It would allow for some really flexible control. One message could control 4 separate parameters in the same FX or across multiple FX, and even across multiple tracks. Example of a message set to REAPER might look something like this...,
/track/1,1,1,1/fx/1,1,1,1/fxparam/1,2,3,4/value 1.0,0.5,1.0,0.333
No use letting that extra bandwidth go to waste.
The possibilities and flexibility OSC offers is so exciting.

Thank you

Note: Just thought I'd update this.., I guess each message can handle 16 separate values.

Last edited by Anton9; 02-24-2012 at 06:26 PM.
Anton9 is offline   Reply With Quote
Old 02-18-2012, 03:22 PM   #120
diversgens
Human being with feelings
 
Join Date: Oct 2010
Location: France
Posts: 125
Default

I don't know if it is related to previous reply from Anton9 but in the lemur there is multislider that send different value for the same parameter, for example if i want that a 4 slider control the sends from a track i setup the reaperOSC file like this:
TRACK_SEND_VOLUME /mixer/send@/x@ , here is the result:
/mixer/send1/x [ffff] 0.666667 0.000000 0.000000 0.000000
it's the same for /x only and it doesn't control the send volume.
I have try different method without success. It seems to me that the Lemur syntax is different than the TouchOSC one.
For example here is my Lemur.ReaperOSC to control volume, pan and receive name and number of tracks
Code:
TRACK_NAME /mixer/Text@/content
TRACK_VOLUME_STRING /mixer/DB@/content
TRACK_NUMBER /mixer/numb@/content
TRACK_PAN /mixer/pan@/x
TRACK_PAN_STRING /mixer/panval@/content
TRACK_SEND_VOLUME /mixer/send@/x@
diversgens 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:31 AM.


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