aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2019-07-24 21:30:40 +0200
committercbdev <cb@cbcdn.com>2019-07-24 21:30:40 +0200
commit1f0de6d91c14217ae3893da0e4b6089b799ed026 (patch)
treeaabfd630dc2b3bc3323d474630e84983aaeaeb7e
parent59857ead2d439d450afc6f5144c9c08e8d0c8a5c (diff)
downloadmidimonster-1f0de6d91c14217ae3893da0e4b6089b799ed026.tar.gz
midimonster-1f0de6d91c14217ae3893da0e4b6089b799ed026.tar.bz2
midimonster-1f0de6d91c14217ae3893da0e4b6089b799ed026.zip
Update example configurations to new syntax, add comments
-rw-r--r--TODO2
-rw-r--r--configs/evdev.cfg (renamed from configs/evdev.conf)11
-rw-r--r--configs/launchctl-sacn.cfg10
-rw-r--r--configs/lua.cfg13
-rw-r--r--configs/midi-osc.cfg25
-rw-r--r--configs/osc-artnet.cfg51
-rw-r--r--configs/osc-kbd.cfg16
-rw-r--r--configs/unifest-17.cfg191
8 files changed, 56 insertions, 263 deletions
diff --git a/TODO b/TODO
index 76f2c4e..d114640 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,7 @@
MIDI NRPN
Note source in channel value struct
Optimize core channel search (store backend offset)
-Printing backend
+Printing backend / Verbose mode
document example configs
evdev relative axis size
diff --git a/configs/evdev.conf b/configs/evdev.cfg
index 386e154..bb27caf 100644
--- a/configs/evdev.conf
+++ b/configs/evdev.cfg
@@ -1,16 +1,17 @@
+; Map the (admittedly weird) bluetooth profile of an Xbox One
+; Gamepad to some ArtNet output channels. Uses both analog joysticks
+; and the analog triggers.
+
[backend artnet]
-bind = * 6454
+bind = 0.0.0.0 6454
net = 0
[evdev xbox]
device = /dev/input/event14
-axis.ABS_X = 34300 0 65535 255 4095
-axis.ABS_RZ = 34300 0 65535 255 4095
-axis.ABS_Y = 34300 0 65535 255 4095
[artnet out]
uni = 0
-dest = 129.13.215.127
+dest = 255.255.255.255
[map]
xbox.EV_ABS.ABS_X > out.1+2
diff --git a/configs/launchctl-sacn.cfg b/configs/launchctl-sacn.cfg
index 02cd152..781ca40 100644
--- a/configs/launchctl-sacn.cfg
+++ b/configs/launchctl-sacn.cfg
@@ -19,12 +19,4 @@ destination = 255.255.255.255
[map]
lc.ch0.cc{0..15} > out.{1..16}
-
-lc.ch0.note0 > out.1
-lc.ch0.note1 > out.2
-lc.ch0.note2 > out.3
-lc.ch0.note3 > out.4
-lc.ch0.note4 > out.5
-lc.ch0.note5 > out.6
-lc.ch0.note6 > out.7
-lc.ch0.note7 > out.8
+lc.ch0.note{0..7} > out.{1..8}
diff --git a/configs/lua.cfg b/configs/lua.cfg
index b892e91..af17496 100644
--- a/configs/lua.cfg
+++ b/configs/lua.cfg
@@ -24,16 +24,5 @@ mouse.EV_KEY.BTN_LEFT > lua.click
xbox.EV_ABS.ABS_X > lua.offset
xbox.EV_ABS.ABS_Y > lua.width
-art.1 < lua.out0
-art.2 < lua.out1
-art.3 < lua.out2
-art.4 < lua.out3
-art.5 < lua.out4
-art.6 < lua.out5
-art.7 < lua.out6
-art.8 < lua.out7
-art.9 < lua.out8
-art.10 < lua.out9
-art.11 < lua.out10
-
+art.{1..11} < lua.out{0..10}
art.12 < lua.dim
diff --git a/configs/midi-osc.cfg b/configs/midi-osc.cfg
index 755077c..1b3ccd6 100644
--- a/configs/midi-osc.cfg
+++ b/configs/midi-osc.cfg
@@ -1,14 +1,18 @@
+; Translate a MIDI fader wing into an OSC fader view and vice versa
+
[backend midi]
name = MIDIMonster
[backend artnet]
-bind = * 6454
+bind = 0.0.0.0 6454
net = 0
[osc touch]
bind = * 8000
dest = learn@8000
root = /4
+
+; Pre-declare the fader values so the range mapping is correct
/fader1 = f 0.0 1.0
/fader2 = f 0.0 1.0
/fader3 = f 0.0 1.0
@@ -33,20 +37,5 @@ write = BCF
[map]
-bcf.ch0.cc81 <> touch./fader1
-bcf.ch0.cc82 <> touch./fader2
-bcf.ch0.cc83 <> touch./fader3
-bcf.ch0.cc84 <> touch./fader4
-bcf.ch0.cc85 <> touch./fader5
-bcf.ch0.cc86 <> touch./fader6
-bcf.ch0.cc87 <> touch./fader7
-bcf.ch0.cc88 <> touch./fader8
-
-bcf.ch0.cc81 <> touch./multifader1/1
-bcf.ch0.cc82 <> touch./multifader1/2
-bcf.ch0.cc83 <> touch./multifader1/3
-bcf.ch0.cc84 <> touch./multifader1/4
-bcf.ch0.cc85 <> touch./multifader1/5
-bcf.ch0.cc86 <> touch./multifader1/6
-bcf.ch0.cc87 <> touch./multifader1/7
-bcf.ch0.cc88 <> touch./multifader1/8
+bcf.ch0.cc{81..88} <> touch./fader{1..8}
+bcf.ch0.cc{81..88} <> touch./multifader1/{1..8}
diff --git a/configs/osc-artnet.cfg b/configs/osc-artnet.cfg
index 3eeba2e..ab1d767 100644
--- a/configs/osc-artnet.cfg
+++ b/configs/osc-artnet.cfg
@@ -12,52 +12,5 @@ dest = learn@8001
destination = 255.255.255.255
[map]
-touch./4/multifader1/1 > out.1
-touch./4/multifader1/2 > out.2
-touch./4/multifader1/3 > out.3
-touch./4/multifader1/4 > out.4
-touch./4/multifader1/5 > out.5
-touch./4/multifader1/6 > out.6
-touch./4/multifader1/7 > out.7
-touch./4/multifader1/8 > out.8
-touch./4/multifader1/9 > out.9
-touch./4/multifader1/10 > out.10
-touch./4/multifader1/11 > out.11
-touch./4/multifader1/12 > out.12
-touch./4/multifader1/13 > out.13
-touch./4/multifader1/14 > out.14
-touch./4/multifader1/15 > out.15
-touch./4/multifader1/16 > out.16
-touch./4/multifader1/17 > out.17
-touch./4/multifader1/18 > out.18
-touch./4/multifader1/19 > out.19
-touch./4/multifader1/20 > out.20
-touch./4/multifader1/21 > out.21
-touch./4/multifader1/22 > out.22
-touch./4/multifader1/23 > out.23
-touch./4/multifader1/24 > out.24
-
-touch./4/multifader2/1 > out.25
-touch./4/multifader2/2 > out.26
-touch./4/multifader2/3 > out.27
-touch./4/multifader2/4 > out.28
-touch./4/multifader2/5 > out.29
-touch./4/multifader2/6 > out.30
-touch./4/multifader2/7 > out.31
-touch./4/multifader2/8 > out.32
-touch./4/multifader2/9 > out.33
-touch./4/multifader2/10 > out.34
-touch./4/multifader2/11 > out.35
-touch./4/multifader2/12 > out.36
-touch./4/multifader2/13 > out.37
-touch./4/multifader2/14 > out.38
-touch./4/multifader2/15 > out.39
-touch./4/multifader2/16 > out.40
-touch./4/multifader2/17 > out.41
-touch./4/multifader2/18 > out.42
-touch./4/multifader2/19 > out.43
-touch./4/multifader2/20 > out.44
-touch./4/multifader2/21 > out.45
-touch./4/multifader2/22 > out.46
-touch./4/multifader2/23 > out.47
-touch./4/multifader2/24 > out.48
+touch./4/multifader1/{1..24} > out.{1..24}
+touch./4/multifader2/{1..24} > out.{25..48}
diff --git a/configs/osc-kbd.cfg b/configs/osc-kbd.cfg
index eb80378..bd2e2c0 100644
--- a/configs/osc-kbd.cfg
+++ b/configs/osc-kbd.cfg
@@ -1,4 +1,5 @@
-; Maps a TouchOSC simpl keyboard layout to MIDI notes
+; Maps a TouchOSC simple keyboard layout to MIDI notes
+; and writes them out to a FLUIDSynth instance
[backend midi]
name = MIDIMonster
@@ -11,15 +12,4 @@ bind = * 8000
dest = learn@8001
[map]
-pad./1/push1 > out.ch0.note60
-pad./1/push2 > out.ch0.note61
-pad./1/push3 > out.ch0.note62
-pad./1/push4 > out.ch0.note63
-pad./1/push5 > out.ch0.note64
-pad./1/push6 > out.ch0.note65
-pad./1/push7 > out.ch0.note66
-pad./1/push8 > out.ch0.note67
-pad./1/push9 > out.ch0.note68
-pad./1/push10 > out.ch0.note69
-pad./1/push11 > out.ch0.note70
-pad./1/push12 > out.ch0.note71
+pad./1/push{1..12} > out.ch0.note{60..71}
diff --git a/configs/unifest-17.cfg b/configs/unifest-17.cfg
index 47e9ec2..2504550 100644
--- a/configs/unifest-17.cfg
+++ b/configs/unifest-17.cfg
@@ -1,27 +1,36 @@
-; Note that this configuration file was originally written with
-; an older syntax and thus only contains right-to-left mappings
+; This configuration was used as central control translator for the following tasks
+; * Translate 2 Fader Wings and 2 Launch Control from MIDI CC to MIDI notes
+; to be used as input to the GrandMA (connected to OUT A on Fader 1)
+; Since both fader wings have the same name, we need to refer to them by portid
+; -> Instances fader1, fader2, lc2, grandma
+; * Remap buttons from a LaunchPad as input to the GrandMA
+; -> Instances launchpad, grandma
+; * Translate the rotaries of one Launch Control to ArtNet for additional effect control
+; -> Instances lc1, xlaser
+;
+; Note that the MIDI port specifications might not be reusable 1:1
[backend midi]
name = MIDIMonster
[backend artnet]
-bind = * 6454
+bind = 0.0.0.0 6454
net = 0
; XLaser environment
-[artnet claudius]
-uni = 0
+[artnet xlaser]
+universe = 0
; MIDI input devices
-[midi pad]
+[midi launchpad]
read = Launchpad
write = Launchpad
-[midi bcf1]
+[midi fader1]
read = 20:0
write = 20:0
-[midi bcf2]
+[midi fader2]
read = 36:0
write = 36:0
@@ -34,162 +43,32 @@ read = 32:0
write = 32:0
; Output MIDI via OUT A on BCF
-[midi out]
+[midi grandma]
write = 36:1
read = 36:1
[map]
-; ArtNet
-claudius.1 < lc1.ch0.cc1
-claudius.2 < lc1.ch0.cc2
-claudius.3 < lc1.ch0.cc3
-claudius.4 < lc1.ch0.cc4
-claudius.5 < lc1.ch0.cc5
-claudius.6 < lc1.ch0.cc6
-claudius.7 < lc1.ch0.cc7
-claudius.8 < lc1.ch0.cc8
-claudius.9 < lc1.ch0.cc9
-claudius.10 < lc1.ch0.cc10
-claudius.11 < lc1.ch0.cc11
-claudius.12 < lc1.ch0.cc12
-claudius.13 < lc1.ch0.cc13
-claudius.14 < lc1.ch0.cc14
-claudius.15 < lc1.ch0.cc15
-claudius.16 < lc1.ch0.cc16
+; Effect control
+xlaser.{1..16} < lc1.ch0.cc{1..16}
-; BCF Fader
-out.ch0.ch0.note< bcf1.ch0.cc81
-out.ch0.note1 < bcf1.ch0.cc82
-out.ch0.note2 < bcf1.ch0.cc83
-out.ch0.note3 < bcf1.ch0.cc84
-out.ch0.note4 < bcf1.ch0.cc85
-out.ch0.note5 < bcf1.ch0.cc86
-out.ch0.note6 < bcf1.ch0.cc87
-out.ch0.note7 < bcf1.ch0.cc88
-out.ch0.note8 < bcf2.ch0.cc81
-out.ch0.note9 < bcf2.ch0.cc82
-out.ch0.note10 < bcf2.ch0.cc83
-out.ch0.note11 < bcf2.ch0.cc84
-out.ch0.note12 < bcf2.ch0.cc85
-out.ch0.note13 < bcf2.ch0.cc86
-out.ch0.note14 < bcf2.ch0.cc87
-out.ch0.note15 < bcf2.ch0.cc88
+; BCF Faders to GrandMA
+grandma.ch0.note{0..7} < fader1.ch0.cc{81..88}
+grandma.ch0.note{8..15} < fader2.ch0.cc{81..88}
; LC Rotary
-out.ch0.note16 < lc1.ch0.cc1
-out.ch0.note17 < lc1.ch0.cc2
-out.ch0.note18 < lc1.ch0.cc3
-out.ch0.note19 < lc1.ch0.cc4
-out.ch0.note20 < lc1.ch0.cc5
-out.ch0.note21 < lc1.ch0.cc6
-out.ch0.note22 < lc1.ch0.cc7
-out.ch0.note23 < lc1.ch0.cc8
-out.ch0.note24 < lc1.ch0.cc9
-out.ch0.note25 < lc1.ch0.cc10
-out.ch0.note26 < lc1.ch0.cc11
-out.ch0.note27 < lc1.ch0.cc12
-out.ch0.note28 < lc1.ch0.cc13
-out.ch0.note29 < lc1.ch0.cc14
-out.ch0.note30 < lc1.ch0.cc15
-out.ch0.note31 < lc1.ch0.cc16
-out.ch0.note32 < lc2.ch0.cc1
-out.ch0.note33 < lc2.ch0.cc2
-out.ch0.note34 < lc2.ch0.cc3
-out.ch0.note35 < lc2.ch0.cc4
-out.ch0.note36 < lc2.ch0.cc5
-out.ch0.note37 < lc2.ch0.cc6
-out.ch0.note38 < lc2.ch0.cc7
-out.ch0.note39 < lc2.ch0.cc8
-out.ch0.note40 < lc2.ch0.cc9
-out.ch0.note41 < lc2.ch0.cc10
-out.ch0.note42 < lc2.ch0.cc11
-out.ch0.note43 < lc2.ch0.cc12
-out.ch0.note44 < lc2.ch0.cc13
-out.ch0.note45 < lc2.ch0.cc14
-out.ch0.note46 < lc2.ch0.cc15
-out.ch0.note47 < lc2.ch0.cc16
+grandma.ch0.note{16..31} < lc1.ch0.cc{1..16}
+grandma.ch0.note{32..47} < lc2.ch0.cc{1..16}
; LC Button
-out.ch0.note48 < lc1.ch0.note0
-out.ch0.note49 < lc1.ch0.note1
-out.ch0.note50 < lc1.ch0.note2
-out.ch0.note51 < lc1.ch0.note3
-out.ch0.note52 < lc1.ch0.note4
-out.ch0.note53 < lc1.ch0.note5
-out.ch0.note54 < lc1.ch0.note6
-out.ch0.note55 < lc1.ch0.note7
-
-out.ch0.note56 < lc2.ch0.note0
-out.ch0.note57 < lc2.ch0.note1
-out.ch0.note58 < lc2.ch0.note2
-out.ch0.note59 < lc2.ch0.note3
-out.ch0.note60 < lc2.ch0.note4
-out.ch0.note61 < lc2.ch0.note5
-out.ch0.note62 < lc2.ch0.note6
-out.ch0.note63 < lc2.ch0.note7
+grandma.ch0.note{48..55} < lc1.ch0.note{0..7}
+grandma.ch0.note{56..63} < lc2.ch0.note{0..7}
; Launchpad
-out.ch0.note64 < pad.ch0.note0
-out.ch0.note65 < pad.ch0.note1
-out.ch0.note66 < pad.ch0.note2
-out.ch0.note67 < pad.ch0.note3
-out.ch0.note68 < pad.ch0.note4
-out.ch0.note69 < pad.ch0.note5
-out.ch0.note70 < pad.ch0.note6
-out.ch0.note71 < pad.ch0.note7
-out.ch0.note72 < pad.ch0.note16
-out.ch0.note73 < pad.ch0.note17
-out.ch0.note74 < pad.ch0.note18
-out.ch0.note75 < pad.ch0.note19
-out.ch0.note76 < pad.ch0.note20
-out.ch0.note77 < pad.ch0.note21
-out.ch0.note78 < pad.ch0.note22
-out.ch0.note79 < pad.ch0.note23
-out.ch0.note80 < pad.ch0.note32
-out.ch0.note81 < pad.ch0.note33
-out.ch0.note82 < pad.ch0.note34
-out.ch0.note83 < pad.ch0.note35
-out.ch0.note84 < pad.ch0.note36
-out.ch0.note85 < pad.ch0.note37
-out.ch0.note86 < pad.ch0.note38
-out.ch0.note87 < pad.ch0.note39
-out.ch0.note88 < pad.ch0.note48
-out.ch0.note89 < pad.ch0.note49
-out.ch0.note90 < pad.ch0.note50
-out.ch0.note91 < pad.ch0.note51
-out.ch0.note92 < pad.ch0.note52
-out.ch0.note93 < pad.ch0.note53
-out.ch0.note94 < pad.ch0.note54
-out.ch0.note95 < pad.ch0.note55
-out.ch0.note96 < pad.ch0.note64
-out.ch0.note97 < pad.ch0.note65
-out.ch0.note98 < pad.ch0.note66
-out.ch0.note99 < pad.ch0.note67
-out.ch0.note100 < pad.ch0.note68
-out.ch0.note101 < pad.ch0.note69
-out.ch0.note102 < pad.ch0.note70
-out.ch0.note103 < pad.ch0.note71
-out.ch0.note104 < pad.ch0.note80
-out.ch0.note105 < pad.ch0.note81
-out.ch0.note106 < pad.ch0.note82
-out.ch0.note107 < pad.ch0.note83
-out.ch0.note108 < pad.ch0.note84
-out.ch0.note109 < pad.ch0.note85
-out.ch0.note110 < pad.ch0.note86
-out.ch0.note111 < pad.ch0.note87
-out.ch0.note112 < pad.ch0.note96
-out.ch0.note113 < pad.ch0.note97
-out.ch0.note114 < pad.ch0.note98
-out.ch0.note115 < pad.ch0.note99
-out.ch0.note116 < pad.ch0.note100
-out.ch0.note117 < pad.ch0.note101
-out.ch0.note118 < pad.ch0.note102
-out.ch0.note119 < pad.ch0.note103
-out.ch0.note120 < pad.ch0.note112
-out.ch0.note121 < pad.ch0.note113
-out.ch0.note122 < pad.ch0.note114
-out.ch0.note123 < pad.ch0.note115
-out.ch0.note124 < pad.ch0.note116
-out.ch0.note125 < pad.ch0.note117
-out.ch0.note126 < pad.ch0.note118
-out.ch0.note127 < pad.ch0.note119
+grandma.ch0.note{64..71} < launchpad.ch0.note{0..7}
+grandma.ch0.note{72..79} < launchpad.ch0.note{16..23}
+grandma.ch0.note{80..87} < launchpad.ch0.note{32..39}
+grandma.ch0.note{88..95} < launchpad.ch0.note{48..55}
+grandma.ch0.note{96..103} < launchpad.ch0.note{64..71}
+grandma.ch0.note{104..111} < launchpad.ch0.note{80..87}
+grandma.ch0.note{112..119} < launchpad.ch0.note{96..103}
+grandma.ch0.note{120..127} < launchpad.ch0.note{112..119}