aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c')
-rw-r--r--lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c b/lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c
new file mode 100644
index 0000000..3f76d41
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/osc/lv2_osc_test.c
@@ -0,0 +1,55 @@
+#include <assert.h>
+#include <string.h>
+#include <stdio.h>
+#include <lo/lo.h>
+#include "lv2_osc.h"
+#include "lv2_osc_print.h"
+
+int
+main()
+{
+ lo_message lo_msg = lo_message_new();
+ //lo_message_add_symbol(lo_msg, "a_sym");
+ lo_message_add_string(lo_msg, "Hello World");
+ lo_message_add_char(lo_msg, 'a');
+ lo_message_add_int32(lo_msg, 1234);
+ lo_message_add_float(lo_msg, 0.1234);
+ lo_message_add_int64(lo_msg, 5678);
+ lo_message_add_double(lo_msg, 0.5678);
+
+
+ /*unsigned char blob_data[] = { 0,1,2,3,4,5,6,7,8,9 };
+ lo_blob blob = lo_blob_new(10, blob_data);
+ lo_message_add_blob(lo_msg, blob);*/
+
+ /* Leaks like a sieve */
+
+ size_t raw_msg_size = 0;
+ void* raw_msg = lo_message_serialise(lo_msg, "/foo/bar", NULL, &raw_msg_size);
+
+ LV2Message* msg = lv2_osc_message_from_raw(0.0, 0, NULL, raw_msg_size, raw_msg);
+ assert(msg);
+
+ LV2OSCBuffer* buf = lv2_osc_buffer_new(1024);
+
+ int ret = lv2_osc_buffer_append_message(buf, msg);
+ if (ret)
+ fprintf(stderr, "Message append failed: %s", strerror(ret));
+
+ lo_message lo_msg_2 = lo_message_new();
+ lo_message_add_string(lo_msg_2, "Another message");
+
+ raw_msg = lo_message_serialise(lo_msg_2, "/baz", NULL, &raw_msg_size);
+
+ msg = lv2_osc_message_from_raw(0.0, 0, NULL, raw_msg_size, raw_msg);
+ assert(msg);
+
+ ret = lv2_osc_buffer_append_message(buf, msg);
+ if (ret)
+ fprintf(stderr, "Message append failed: %s", strerror(ret));
+
+ printf("\nBuffer contents:\n\n");
+ lv2_osc_buffer_print(buf);
+
+ return 0;
+}