aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar dan <dmtaub@gmail.com>2011-01-28 16:15:50 -0500
committerGravatar dan <dmtaub@gmail.com>2011-01-28 16:15:50 -0500
commit6a0bfdfb00944ae0bcc6215a194c3290b4a085f2 (patch)
treee62c896731df6ed80172085dc2f333cd7d281a07
parentf017051f9b93c3a8ac435537c8c9c1f360d0702f (diff)
parentf95eff2616f8e7c952a31756f079aef87f28a1d4 (diff)
Merge branch 'osc' of github.com:rcoh/SmootLight into osc
-rwxr-xr-xtests/testosc.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/testosc.py b/tests/testosc.py
new file mode 100755
index 0000000..6763f41
--- /dev/null
+++ b/tests/testosc.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import liblo, sys
+
+# create server, listening on port 1234
+try:
+ server = liblo.Server(1234)
+except liblo.ServerError, err:
+ print str(err)
+ sys.exit()
+
+def foo_bar_callback(path, args):
+ i, f = args
+ print "received message '%s' with arguments '%d' and '%f'" % (path, i, f)
+
+def foo_baz_callback(path, args, types, src, data):
+ print "received message '%s'" % path
+ print "blob contains %d bytes, user data was '%s'" % (len(args[0]), data)
+
+def fallback(path, args, types, src):
+ print "got unknown message '%s' from '%s'" % (path, src.get_url())
+ for a, t in zip(args, types):
+ print "argument of type '%s': %s" % (t, a)
+
+# register method taking an int and a float
+server.add_method("/foo/bar", 'if', foo_bar_callback)
+
+# register method taking a blob, and passing user data to the callback
+server.add_method("/foo/baz", 'b', foo_baz_callback, "blah")
+
+# register a fallback for unhandled messages
+server.add_method(None, None, fallback)
+
+# loop and dispatch messages every 100ms
+while True:
+ server.recv(100)