aboutsummaryrefslogtreecommitdiffhomepage
path: root/configs
diff options
context:
space:
mode:
Diffstat (limited to 'configs')
-rw-r--r--configs/launchctl-sacn.cfg1
-rw-r--r--configs/layering.cfg23
-rw-r--r--configs/layering.lua76
3 files changed, 100 insertions, 0 deletions
diff --git a/configs/launchctl-sacn.cfg b/configs/launchctl-sacn.cfg
index 0f4a19b..dedfc0f 100644
--- a/configs/launchctl-sacn.cfg
+++ b/configs/launchctl-sacn.cfg
@@ -14,6 +14,7 @@ read = Launch Control
[sacn out]
universe = 1
+priority = 100
[map]
diff --git a/configs/layering.cfg b/configs/layering.cfg
new file mode 100644
index 0000000..7adcd6f
--- /dev/null
+++ b/configs/layering.cfg
@@ -0,0 +1,23 @@
+; This configuration demonstrates how to create a "layered" mapping
+; using the Lua backend. The 'control' channel on the layers instance
+; selects the offset to which the 16 input channels (mapped from
+; the rotaries of a Launch Control) are mapped on the output instance
+
+[backend artnet]
+bind = 0.0.0.0
+
+[midi in]
+read = Launch Control
+
+[artnet out]
+destination = 255.255.255.255
+universe = 1
+
+[lua layers]
+script = layering.lua
+
+[map]
+in.ch0.cc{0..15} > layers.in{0..15}
+layers.out{0..511} > out.{1..512}
+
+in.ch0.note0 > layers.control
diff --git a/configs/layering.lua b/configs/layering.lua
new file mode 100644
index 0000000..5d9458d
--- /dev/null
+++ b/configs/layering.lua
@@ -0,0 +1,76 @@
+-- This global variable has the current base offset for the input channels.
+-- We want to map 16 input channels (from MIDI) to 512 output channels (ArtNet),
+-- so we have 32 possible offsets (32 * 16 = 512)
+current_layer = 0
+
+-- Set the current_layer based on the control input channel
+function control(value)
+ current_layer = math.floor(value * 31.99);
+end
+
+-- Handler functions for the input channels
+-- Calculate the channel offset and just output the value the input channel provides
+function in0(value)
+ output("out"..((current_layer * 16)), value)
+ print("Output on out"..(current_layer * 16))
+end
+
+function in1(value)
+ output("out"..((current_layer * 16) + 1), value)
+end
+
+function in2(value)
+ output("out"..((current_layer * 16) + 2), value)
+end
+
+function in3(value)
+ output("out"..((current_layer * 16) + 3), value)
+end
+
+function in4(value)
+ output("out"..((current_layer * 16) + 4), value)
+end
+
+function in5(value)
+ output("out"..((current_layer * 16) + 5), value)
+end
+
+function in6(value)
+ output("out"..((current_layer * 16) + 6), value)
+end
+
+function in7(value)
+ output("out"..((current_layer * 16) + 7), value)
+end
+
+function in8(value)
+ output("out"..((current_layer * 16) + 8), value)
+end
+
+function in9(value)
+ output("out"..((current_layer * 16) + 9), value)
+end
+
+function in10(value)
+ output("out"..((current_layer * 16) + 10), value)
+end
+
+function in11(value)
+ output("out"..((current_layer * 16) + 11), value)
+end
+
+function in12(value)
+ output("out"..((current_layer * 16) + 12), value)
+end
+
+function in13(value)
+ output("out"..((current_layer * 16) + 13), value)
+end
+
+function in14(value)
+ output("out"..((current_layer * 16) + 14), value)
+end
+
+function in15(value)
+ output("out"..((current_layer * 16) + 15), value)
+end