summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2023-04-16 21:34:22 +0200
committerThomas White <taw@physics.org>2023-04-16 21:34:22 +0200
commit7bd05a89136a560ddcb7e28bd2936e2ee05e008b (patch)
tree35e14a133bf63e82fa2b76d3b1b242a9c83331e3
parent63ea7c9d6f43ff80695507afe8c2db2e3be2b247 (diff)
Add README.md
-rw-r--r--README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d377ccd
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+Guile-OSC: Open Sound Control for Guile Scheme
+==============================================
+
+Guile-OSC is a Guile wrapper for [liblo](https://github.com/radarsat1/liblo),
+enabling Open Sound Control clients and servers to be implemented from Scheme.
+
+
+Getting started
+---------------
+
+You will need the development files for Guile and liblo installed, as well as
+[Meson](https://mesonbuild.com/). Then:
+
+```
+$ git clone https://github.com/taw10/guile-osc.git guile-osc
+$ cd guile-osc
+$ meson setup build
+$ ninja -C build
+$ sudo ninja -C build install
+```
+
+Then, to receive OSC messages from within a Guile program:
+
+```
+(use-modules (open-sound-control server-thread))
+(define osc-server (make-osc-server-thread "7770"))
+(add-osc-method osc-server "/my/osc/method" (lambda () (do-something)))
+```
+
+Or, to send messages (with parameters):
+
+```
+(use-modules (open-sound-control client))
+(define osc-send-addr (make-osc-address "7771"))
+(osc-send osc-send-addr "/their/osc/method" 1 2 4)
+```
+
+
+Licence
+-------
+
+LGPL 2.1, the same as liblo itself.