diff options
Diffstat (limited to 'configs')
-rw-r--r-- | configs/launchctl-sacn.cfg | 1 | ||||
-rw-r--r-- | configs/layering.cfg | 23 | ||||
-rw-r--r-- | configs/layering.lua | 76 |
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 |