Re: OSC howto

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxx
> http://lists.linuxaudio.org/listinfo/linux-audio-user

-- 
Joel Roth
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux