View Single Post
Old 07-26-2013, 06:32 AM   #6
Human being with feelings
Banned's Avatar
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868

Originally Posted by Jeffos View Post
Looks great zvukofor!
+1, looking clean and elegant. Lemur is excellent for this sort of thing.
Originally Posted by Jeffos View Post
... but DANG!! I was not aware of the reaper-osc-actions.ini trick!

We learn new things everyday here (silent update? it was not mentionned in the changelogs as far as I can tell...).
Those "unreliable" action mappings via OSC were annoying, it's a great step forward, thanks for this "indirect" tip too, zvukofor!
[EDIT] digging this.. in fact we have that file from day one, things are just not working like I was thinking
Thanks for bringing this up again, Jeffos. But I don't see how that makes actions mapped via OSC any less "unreliable". (Anyone, please don't see my comments below as rain on zvukofor's parade, but as constructive criticism to improve REAPER in ways that Binder would probably also benefit from directly.)

Afaik that file is simply the place where REAPER stores whatever actions you bind to whatever OSC messages using the regular Learn feature, and is independent from any particular OSC control surface configuration used (as such, it is simply a way to avoid having people who want to use this learn a bunch of mappings manually themselves - NB: people who already have learned actions should probably attempt to merge the files rather than simply copying the file, to avoid losing their current bindings). So as far as I can see, it does not in any way resolve the issue that (esp. custom) action ID's can change between builds - unlike with ReaScript, we simply don't have a method to dynamically look up the action IDs and be certain to fire the intended action.

Also, fwiw, using the Learn feature (or manually changing the file) creates bindings of OSC messages to REAPER actions that are somewhat inferior in functionality to bindings configured using the .ReaperOSC file, as learned bindings do not enable feedback to the OSC client (much like learned MIDI bindings do not generate MIDI feedback). Although some types of actions / use cases do not require feedback, in general that is a major restriction in functionality, and hence a major hindrance to my workflow. So when using OSC bidirectionally, I would generally recommend to completely avoid Actions such as e.g. "Adjust track FX parameter XX", "Adjust track send X pan", "Adjust track send X volume", "Set mute for track X", "Set solo for track X", "Set pan for track X", "Set stereo width (or right channel pan) for track X", "Set volume for track X". Instead, just configure the equivalent actions in the .ReaperOSC file and enjoy getting feedback.

As for another current issue with REAPER's OSC support: I also noticed the comment in Binder's manual about touch automation, and really hope apps like this one spark up some more interest in expanding REAPER's support for "touch" automation via OSC to more parameters than only track volume and panning. Apps like this can be made much more useful when touch automation is supported more generally on REAPER's end - which seems to require only a modest amount of effort.
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote