[OSC_dev] Fwd: Application Profiles: oscplanet
Jamie Bullock
jamie at postlude.co.uk
Mon Dec 22 11:23:07 PST 2008
Hi Gaspard,
On Mon, 2008-12-22 at 16:39 +0100, Gaspard Bucher wrote:
> On Mon, Dec 22, 2008 at 10:22 AM, Jamie Bullock <jamie at postlude.co.uk>
wrote:
> > /info /foo/bar
> >
> > This has the advantage of being super-easy to parse on the server,
and
> > has the nice effect that you get a top-level 'meta' address space
> > (/info, /reply_to etc.) before you have added any
'application-specific'
> > methods. More details in this post: http://tr.im/2jl4
> Fine ! I want my parser to be fast and putting all meta in special
> urls makes it faster and cleaner. In rubyk, most of the objects live
> at the root "/". Could we move all meta methods in something like
> "/osc" or "/meta" or "/~" or "/:" ? If we do not do this, I will have
> to move the nodes and since node methods are called 1000x more often
> then meta methods (only used during setup), I think they should get
> shorter urls. If you don't mind that we use some kind of prefix,
> either as a container or just on the methods themselves, I think "/."
> is simple and easy.
I think that's a great idea!
> Many projects have some meta content at the root
> contained in a ".xxx" (.git, .profile, .ssh, etc) so this should be
> quite natural.
>
> /.info /some/url
> /.reply_to
Yes, I like this a lot. I'd certainly be willing to adopt it in Integra.
It makes intuitive sense to me coming from years of *n*x ;)
>
> > <snip>
>
> >> a. /reply_to
> > Agree!
>
> Becomes /.reply_to
Yup.
>
> I think it's a good idea to forget about meta things in special
> syntaxes (makes the processor slow), even for tiny things such as
> trailing "/". Let's go for:
>
> /.list /some/url
>
> Or even
>
> /.ls /some/url
Hm, I wonder if we can have both, with '/.ls' being an alias for
'/.list'?
>
> >> c. /some/url ==> get value
> > Agree!
> >
> >> d. /some/url 4 ==> set value
> > Agree!
>
> I *really* need this simple set/get for multiple gui mirroring.
>
> In a
> previous email, someone said that replies could be understood as
> actions if they have exactly the same format and are sent on i2c lines
> or simple transmission where everyone gets everything. To avoid this,
> I propose that answers use the following syntax:
>
> query: /midiout/channel 4.5
> reply: /.reply "/midiout/channel" 4 (type = "sx" where x is the type
> of the returned value)
Could you just elaborate on the semantics of '/midiout/channel 4.5' as a
query? I'm not sure I understand what you mean.
I like the idea of replies being prefixed by '/.reply ' It ties in
nicely with '/.reply_to'
OK. This convinces me.
> >
> >> e. /some/url/.info ==> human readable message
> > Again, I prefer
> >
> > /info /some/url
>
> /.info /some/url
>
> >
> > ...reasons same as above (minus 3!)
> >
> >> f. use zeroconf !
> > Agree!
> >
> I will register a service name
> (http://www.dns-sd.org/servicetypes.html) for apps / hardware that
> will conform to this minimal osc based methods under
>
> oscplanet
>
> I like the universe metaphor for large and complex setups with many
> things sending signals to each other.
Yes, it's a good metaphor.
> Is that ok for you ?
Yes!
> Gaspard
>
> PS: oscplanet library
>
> Since it will be most useful to have an easy way to enable these
> features in any application / hardware, I will try to extract the code
> to do this from rubyk and make it a library that could be used from
> "C" and "C++". The library will be as minimal as possible, it will be
> called "oscplanet" and will use oscpack. There will be a simple way to
> register new urls and implement callbacks for the meta methods listed
> here. It will also contain the zeroconf stuff. I will start working on
> this library after winter holidays (begin of January).
Sounds good. I'd be willing to contribute to that, particularly as it
could potentially replace the libIntegra 'static methods' (at least
partially if not completely).
Would you be interested in collaborating on a paper about this 'xxxxx: A
meta address space for Open Sound Control' (where xxxxxx, is the name we
give to the address space) or similar?
BTW, I don't know if you noticed but we are prefixing with a slash and a
dot; we could call it the 'slashdot namespace'! ;-)
Jamie
--
www.postlude.co.uk
http://www.linkedin.com/in/jamiebullock
More information about the OSC_dev
mailing list