[sugar] olpc-games osc protocol

Simon Schamijer simon
Mon Jun 11 09:24:49 EDT 2007

Bert Freudenberg wrote:
> On Jun 11, 2007, at 13:06 , Simon Schamijer wrote:
>> Hi,
>> memosono is using the osc protocol
>> (http://opensoundcontrol.org/spec-1_0) to communicate with the game
>> server and to talk to the csound server.
> Which game server? I thought osc is about sound?

The initial idea of osc was to use it in sound applications but it does 
not mean it only works in sound applications. Memosono uses osc to talk 
to the game server and to the soundserver(which is activity wide at the 
moment) as well.

>> I think it is an easy to use
>> protocol and maybe some other games or activities want to use it as well.
> Does that mean an osc server will be running? Or does it have to be 
> started by each activity?

Each activity has an osc server running. I thought about inner activity 
communication. In memosono for example you may want to use the mesh 
network to play the game. In this case the person who shares the game 
will open a game server. The game server listens for osc messages from 
the other players (switched tile x etc) and uses osc messages to 
communicate the game state to the players.

>> An osc message consists of an OSC address pattern (a path) followed by
>> an OSC type tag string followed by zero or more OSC arguments.
>> '/MEMOSONO/test', 'ifs', [1, 3.4, 'test']
>> osc is callback based. On the receiver side the osc path and the type
>> tag is used to dispatch the right callback.
>> A python implementation of the osc protocol and a basic api for
>> receiving and sending osc messages can be found in the memosono tree in
>> the osc folder. There exist python bindings for the osc library liblo as
>> well (http://das.nasophon.de/pyliblo/).
> There is an OSC package for Squeak at
> http://map.squeak.org/package/61f807be-83a3-4944-bfa1-686ddac7153c
> Now, to try that I would need to have csound (and an osc server?) 
> running in jhbuild. I saw chatter about this, but did anybody actually 
> make it available?
> - Bert -

The initial olpc-csound-server was started by an init.d daemon on 
startup. The idea to use csound as the olpc csound server has been 
deprecated afaik. Memosono was the only activity using this service. I 
have moved the sound server to the memosono activity and changed it to 
use osc messages to control it.
However if it is not used system wide the easier way is to create a 
csound instance in the activity and use it directly (assuming we have 
only one activity using the sound device at a time).


More information about the Sugar-devel mailing list