aboutsummaryrefslogtreecommitdiffhomepage
path: root/configs
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2019-07-27 19:31:21 +0200
committercbdev <cb@cbcdn.com>2019-07-27 19:31:21 +0200
commit26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b (patch)
tree097eb74dfd8b0b01553a87f5b21e94ea825b1a17 /configs
parent8d7fb5b7cb2f1deb6600f8cebfff27dba70193b1 (diff)
downloadmidimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.tar.gz
midimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.tar.bz2
midimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.zip
Refactor OSC backend, implement pattern matching
Diffstat (limited to 'configs')
-rw-r--r--configs/flying-faders.cfg24
-rw-r--r--configs/flying-faders.lua10
-rw-r--r--configs/osc-xy.cfg26
3 files changed, 60 insertions, 0 deletions
diff --git a/configs/flying-faders.cfg b/configs/flying-faders.cfg
new file mode 100644
index 0000000..4197581
--- /dev/null
+++ b/configs/flying-faders.cfg
@@ -0,0 +1,24 @@
+; Create a 'flying faders' effect using lua and output
+; it onto TouchOSC (Layout 'Mix16', Multifader view on page 4)
+
+[osc touch]
+bind = * 8000
+dest = learn@9000
+
+; Pre-declare the fader values so the range mapping is correct
+/*/fader* = f 0.0 1.0
+/*/toggle* = f 0.0 1.0
+/*/push* = f 0.0 1.0
+/*/multifader*/* = f 0.0 1.0
+/1/xy = ff 0.0 1.0 0.0 1.0
+
+[lua generator]
+script = configs/flying-faders.lua
+
+[map]
+
+generator.wave{1..24} > touch./4/multifader1/{1..24}
+;generator.wave{1..24} > touch./4/multifader2/{1..24}
+
+touch./4/multifader2/1 > generator.magnitude
+
diff --git a/configs/flying-faders.lua b/configs/flying-faders.lua
new file mode 100644
index 0000000..0b0faef
--- /dev/null
+++ b/configs/flying-faders.lua
@@ -0,0 +1,10 @@
+step = 0
+
+function wave()
+ for chan=1,24 do
+ output("wave" .. chan, (math.sin(math.rad((step + chan * 360 / 24) % 360)) + 1) / 2)
+ end
+ step = (step + 5) % 360
+end
+
+interval(wave, 100)
diff --git a/configs/osc-xy.cfg b/configs/osc-xy.cfg
new file mode 100644
index 0000000..fc5c5f3
--- /dev/null
+++ b/configs/osc-xy.cfg
@@ -0,0 +1,26 @@
+; Test for bi-directional OSC with an XY pad (TouchOSC Layout 'Mix16', Page 1)
+
+[backend osc]
+detect = on
+
+[osc touch]
+bind = 0.0.0.0 8000
+dest = learn@9000
+
+; Pre-declare the fader values so the range mapping is correct
+/*/xy = ff 0.0 1.0 0.0 1.0
+
+[evdev xbox]
+device = /dev/input/event16
+
+[midi launch]
+
+[map]
+xbox.EV_ABS.ABS_X > touch./1/xy:1
+xbox.EV_ABS.ABS_Y > touch./1/xy:0
+
+xbox.EV_ABS.ABS_X > launch.ch0.note2
+;xbox.EV_ABS.ABS_Y > launch.ch0.note3
+
+launch.ch0.note0 <> touch./1/xy:0
+launch.ch0.note1 <> touch./1/xy:1