Re: [LAU] OSC howto

From: Joel Roth <joelz@email-addr-hidden>
Date: Fri Feb 08 2013 - 03:48:07 EET

On Fri, Feb 08, 2013 at 07:58:02AM +1100, Patrick Shirkey wrote:
>
> On Fri, February 8, 2013 7:01 am, Bill Gribble wrote:
> > On Fri, 2013-02-08 at 06:46 +1100, Patrick Shirkey wrote:
> >> > It was quite a nice feeling to click "Learn", wiggle a fader on my
> >> > iphone TouchOSC app, and watch the fader in my Linux app start to
> >> move!
> >> >
> >>
> >> How does one achieve that set of steps with Linux software? Is there a
> >> generic OSC control app for Linux that will communicate with any OSC
> >> enabled app?
> >
> > Liblo comes with "oscsend", a command line tool to send an OSC message
> > to a specified listener. That's good for testing. Also "oscdump", a
> > server that just echoes incoming OSC requests to stdout. A very useful
> > pair.
> >
> > The way I implemented learning is to add a default handler to my created
> > OSC server, take the next incoming message, pick the "path" out of it,
> > and then add a handler for THAT in place of the default. It's possible
> > to get in a race if you are trying to learn with lots of OSC data flying
> > around but that's the user's issue :)
> >
> > I think OSC was designed with the idea that the servers would define the
> > "name space" of paths and you would build a client map to send controls
> > to the proper destination. It looks more like it's really working the
> > other direction, where the clients/controllers define the paths they are
> > going to send, and the server is responsible for learning the mappings.
> >
>
> The reason I'm asking is for controlling jamin remotely. JAMin already has
> OSC functionality after all Steve Harris wrote liblo ;-)

tl; dr: Can't you run it with ssh -X?

Otherwise you have to write a little user interface that dispatches
the OSC commands with arguments to tickle the corresponding functions
in JAMin.

If you want a bit of a GUI you'll make up creating
a bunch of widgets for each type of control.
In other words, sounds to me like duplicating a lot of what Jamin
already does.

I'm also considering adding OSC control to Nama although I'm
a little peevish as Nama users already has a protocol for
remote control: ssh! With ssh -X I even had the Tk GUI
running remotely. I recall there is a protocol to compress X
network traffic as well.

If I do implement OSC control for Nama, it should map fairly
directly to Nama's existing command language, so the
language parser will to dispatch the command inputs I get in
the OSC format over the socket. It might be nice if
something could be made to work with a short hack. :-)

> My problem is figuring out how to test JAMin to make sure I haven't broken
> anything with any of my recent updates. Specifically I added a "Daemon" or
> "Headless" mode and I would like to check that the controls are all still
> working. In addition it would be nice to be able to control the JAMin
> daemon from a remote machine. So the the two issues are how to connect to
> a server app and also how to do that from a remote machine.
>
> it looks like oscsend is going to be the way to go for now.
>
> I'm tempted to spend some time on a python/clutter generic osc controller
> app but if you have already started on that it might not be necessary. I'm
> also thinking of adding support for OSC send to JAMin (if it is not
> already there) so it can be a remote controller for the JAMin daemon. Call
> it "controller" mode...

I'll be interested to see how generic your solution is.

cheers,

Joel

>
> --
> Patrick Shirkey
> Boost Hardware Ltd
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user@email-addr-hidden
> http://lists.linuxaudio.org/listinfo/linux-audio-user

-- 
Joel Roth
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Fri Feb 8 04:15:03 2013

This archive was generated by hypermail 2.1.8 : Fri Feb 08 2013 - 04:15:03 EET