aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2025-03-19 10:54:47 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-19 16:57:47 +0000
commit5f066105c3436342dbb2a095a8ad3b3066366a85 (patch)
treeaca10395059a545cc62f126d79e735fbe5375b44
parentlib: new glsl-view OSC address space (diff)
downloadalive-5f066105c3436342dbb2a095a8ad3b3066366a85.tar.gz
alive-5f066105c3436342dbb2a095a8ad3b3066366a85.zip
lib: add osc/dump
-rw-r--r--alv-lib/osc.moon20
1 files changed, 20 insertions, 0 deletions
diff --git a/alv-lib/osc.moon b/alv-lib/osc.moon
index d54b1b1..bce568f 100644
--- a/alv-lib/osc.moon
+++ b/alv-lib/osc.moon
@@ -72,6 +72,25 @@ listen = Constant.meta
if msgs = @inputs.io!
@out\set msgs
+dump = Constant.meta
+ meta:
+ name: 'recv!'
+ summary: "Receive OSC messages."
+ examples: { '(osc/recv! [socket] path [type-str])' }
+
+ value: class extends Op
+ pattern: any!^0
+
+ full_pattern = -sig['osc/in']
+ setup: (inputs, scope) =>
+ messages = full_pattern\match inputs
+ super Input.hot messages or scope\get '*oscin*'
+
+ tick: =>
+ messages = @unwrap_all!
+ for msg in *(messages or {})
+ print msg.address, msg.types, table.unpack msg
+
recv_evt = Constant.meta
meta:
name: 'recv!'
@@ -213,4 +232,5 @@ Constant.meta
:listen
:send
:sync
+ :dump
'recv!': recv_evt