wiki:scosc
Last modified 11 years ago Last modified on 10/23/07 09:22:54

scosc

scosc allows you to communicate via OSC messages with a supercollider server (scsynth).

At a glance

  • Send OSC to scsynth
  • Receive OSC from scsynth
  • Background reply queueing
  • Simple syntax
  • No external dependencies

Relavant Executables

  • bin/pkscmidi - Play notes from a midi controller using a supercollider synth.
  • bin/pkechoosc - scsynth stand-in, prints osc messages to stdout.
  • bin/pkechomidi - print midi controller messages to stdout.

Related

Installation

$ python setup_scosc.py install

Code

Python 2.3.5 (#1, Mar 20 2005, 20:38:20) 
[GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scosc
>>> controller = scosc.Controller(('127.0.0.1', 57110), verbose=False)
>>> controller.sendMsg('dumpOSC', 1)
>>> controller.sendMsg('/notify',1)
>>> controller.sendMsg('/status')
>>> controller.receive('status.reply')
['status.reply', 1, 0, 0, 1, 114, 0.062708541750907898, 0.18767812848091125, 48000.0, 47999.140793518141]
>>> controller.receive('woops!')     
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/Users/patrick/superconductor/scosc/controller.py", line 98, in receive
    raise IOError('timeout waiting for reply')
IOError: timeout waiting for reply
>>> controller.sendMsg('/quit')
>>> controller.receive()
['/done', '/quit']
>>> controller.receive()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/Users/patrick/superconductor/scosc/controller.py", line 98, in receive
    raise IOError('timeout waiting for reply')
IOError: timeout waiting for reply
>>>  

Comments

While this is all great, sclang should be python. We need an sclang implementation in python.