diff options
Diffstat (limited to 'configs')
| -rw-r--r-- | configs/layering.cfg | 5 | ||||
| -rw-r--r-- | configs/layering.lua | 82 | 
2 files changed, 14 insertions, 73 deletions
| diff --git a/configs/layering.cfg b/configs/layering.cfg index 7adcd6f..b71f9e5 100644 --- a/configs/layering.cfg +++ b/configs/layering.cfg @@ -7,7 +7,7 @@  bind = 0.0.0.0  [midi in] -read = Launch Control +read = BCF  [artnet out]  destination = 255.255.255.255 @@ -15,9 +15,10 @@ universe = 1  [lua layers]  script = layering.lua +default-handler = handler  [map] -in.ch0.cc{0..15} > layers.in{0..15} +in.ch1.cc{1..8} > layers.in{0..7}  layers.out{0..511} > out.{1..512}  in.ch0.note0 > layers.control diff --git a/configs/layering.lua b/configs/layering.lua index 5d9458d..5ddde65 100644 --- a/configs/layering.lua +++ b/configs/layering.lua @@ -3,74 +3,14 @@  -- 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 +function handler(value) +        if(input_channel() == "control") then +                -- Set the current_layer based on the control input channel +                current_layer = math.floor(value * 31.99); +        else +                -- Handler functions for the input channels +                -- Calculate the channel offset and just output the value the input channel provides +                output("out"..((current_layer * 16) + tonumber(input_channel())), value) +                print("Output on out"..(current_layer * 16)) +        end +end
\ No newline at end of file | 
