diff options
author | Christian Franke <nobody@nowhere.ws> | 2016-10-14 01:46:47 +0200 |
---|---|---|
committer | Christian Franke <nobody@nowhere.ws> | 2016-10-14 01:49:40 +0200 |
commit | 1052134571f0ccf32091d7ca4889a67e9b4399e5 (patch) | |
tree | fd46e69ce9d5c916b8ec4fc7763da2bee74f7fa2 /cethcan/osc.c | |
parent | bcd9c73974ea1c320755b3599c7341e4a8965d52 (diff) |
Add osc support
Diffstat (limited to 'cethcan/osc.c')
-rw-r--r-- | cethcan/osc.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cethcan/osc.c b/cethcan/osc.c new file mode 100644 index 0000000..cd957f0 --- /dev/null +++ b/cethcan/osc.c @@ -0,0 +1,29 @@ +#include "cethcan.h" + +struct osc_server *osc_server = NULL; +static struct event *osc_server_event = NULL; + +static void osc_sock_handler(int sock, short event, void *arg) +{ + if (osc_server_run(osc_server)) { + event_del(osc_server_event); + osc_server_event = NULL; + } +} + +void osc_init(void) +{ + if (osc_server) + return; + + osc_server = osc_server_new(NULL, "4223", NULL); + if (!osc_server) + return; + + if (osc_server_set_blocking(osc_server, false)) + return; + + osc_server_event = event_new(ev_base, osc_server_fd(osc_server), + EV_READ | EV_PERSIST, osc_sock_handler, NULL); + event_add(osc_server_event, NULL); +} |