aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md14
-rw-r--r--unifest-17.cfg194
2 files changed, 206 insertions, 2 deletions
diff --git a/README.md b/README.md
index 8a79d1f..dca6e73 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,12 @@ It allows the user to translate channels on one protocol into channels on anothe
* Translate MIDI Notes into ArtNet
* Translate OSC messages into MIDI
+## Usage
+
+The MIDImonster takes as it's first argument the name of an optional configuration file
+to use (`monster.cfg` is used as default if none is specified). The configuration
+file syntax is explained in the next section.
+
## Configuration
Each protocol supported by MIDIMonster is implemented by a *backend*, which takes
@@ -34,9 +40,10 @@ instance.target-channel = instance.source-channel
```
Assignments are one-way only, so to create a bi-directional mapping two assignments are needed.
-An example configuration can be found in [monster.cfg](monster.cfg).
+An example configuration file can be found in [unifest-17.cfg](unifest-17.cfg).
-The options accepted by the implemented backends are documented in the next section.
+## Backend documentation
+This section documents the configuration options supported by the various backends.
### The `artnet` backend
@@ -90,6 +97,9 @@ The MIDI backend provides read-write access to the MIDI protocol via virtual por
| `write` | `DeviceName` | none | MIDI device to connect for output |
MIDI device names may either be `client:port` portnames or prefixes of MIDI device names.
+Run `aconnect -i` to list input ports and `aconnect -o` to list output ports.
+
+Each instance also provides a virtual port, so MIDI devices can also be connected with `aconnect <sender> <receiver>`.
#### Channel specification
diff --git a/unifest-17.cfg b/unifest-17.cfg
new file mode 100644
index 0000000..0c43c1f
--- /dev/null
+++ b/unifest-17.cfg
@@ -0,0 +1,194 @@
+[backend midi]
+name = MIDIMonster
+
+[backend artnet]
+bind = * 6454
+net = 0
+
+; XLaser environment
+[artnet claudius]
+net = 0
+uni = 0
+output = true
+
+; MIDI input devices
+[midi pad]
+read = Launchpad
+write = Launchpad
+
+[midi bcf1]
+read = 20:0
+write = 20:0
+
+[midi bcf2]
+read = 36:0
+write = 36:0
+
+[midi lc1]
+read = 24:0
+write = 24:0
+
+[midi lc2]
+read = 32:0
+write = 32:0
+
+; Output MIDI via OUT A on BCF
+[midi out]
+write = 36:1
+read = 36:1
+
+[map]
+; ArtNet
+claudius.1 = lc1.cc0.1
+claudius.2 = lc1.cc0.2
+claudius.3 = lc1.cc0.3
+claudius.4 = lc1.cc0.4
+claudius.5 = lc1.cc0.5
+claudius.6 = lc1.cc0.6
+claudius.7 = lc1.cc0.7
+claudius.8 = lc1.cc0.8
+claudius.9 = lc1.cc0.9
+claudius.10 = lc1.cc0.10
+claudius.11 = lc1.cc0.11
+claudius.12 = lc1.cc0.12
+claudius.13 = lc1.cc0.13
+claudius.14 = lc1.cc0.14
+claudius.15 = lc1.cc0.15
+claudius.16 = lc1.cc0.16
+
+; BCF Fader
+out.note0.0 = bcf1.cc0.81
+out.note0.1 = bcf1.cc0.82
+out.note0.2 = bcf1.cc0.83
+out.note0.3 = bcf1.cc0.84
+out.note0.4 = bcf1.cc0.85
+out.note0.5 = bcf1.cc0.86
+out.note0.6 = bcf1.cc0.87
+out.note0.7 = bcf1.cc0.88
+out.note0.8 = bcf2.cc0.81
+out.note0.9 = bcf2.cc0.82
+out.note0.10 = bcf2.cc0.83
+out.note0.11 = bcf2.cc0.84
+out.note0.12 = bcf2.cc0.85
+out.note0.13 = bcf2.cc0.86
+out.note0.14 = bcf2.cc0.87
+out.note0.15 = bcf2.cc0.88
+
+; LC Rotary
+out.note0.16 = lc1.cc0.1
+out.note0.17 = lc1.cc0.2
+out.note0.18 = lc1.cc0.3
+out.note0.19 = lc1.cc0.4
+out.note0.20 = lc1.cc0.5
+out.note0.21 = lc1.cc0.6
+out.note0.22 = lc1.cc0.7
+out.note0.23 = lc1.cc0.8
+out.note0.24 = lc1.cc0.9
+out.note0.25 = lc1.cc0.10
+out.note0.26 = lc1.cc0.11
+out.note0.27 = lc1.cc0.12
+out.note0.28 = lc1.cc0.13
+out.note0.29 = lc1.cc0.14
+out.note0.30 = lc1.cc0.15
+out.note0.31 = lc1.cc0.16
+out.note0.32 = lc2.cc0.1
+out.note0.33 = lc2.cc0.2
+out.note0.34 = lc2.cc0.3
+out.note0.35 = lc2.cc0.4
+out.note0.36 = lc2.cc0.5
+out.note0.37 = lc2.cc0.6
+out.note0.38 = lc2.cc0.7
+out.note0.39 = lc2.cc0.8
+out.note0.40 = lc2.cc0.9
+out.note0.41 = lc2.cc0.10
+out.note0.42 = lc2.cc0.11
+out.note0.43 = lc2.cc0.12
+out.note0.44 = lc2.cc0.13
+out.note0.45 = lc2.cc0.14
+out.note0.46 = lc2.cc0.15
+out.note0.47 = lc2.cc0.16
+
+; LC Button
+out.note0.48 = lc1.note0.0
+out.note0.49 = lc1.note0.1
+out.note0.50 = lc1.note0.2
+out.note0.51 = lc1.note0.3
+out.note0.52 = lc1.note0.4
+out.note0.53 = lc1.note0.5
+out.note0.54 = lc1.note0.6
+out.note0.55 = lc1.note0.7
+
+out.note0.56 = lc2.note0.0
+out.note0.57 = lc2.note0.1
+out.note0.58 = lc2.note0.2
+out.note0.59 = lc2.note0.3
+out.note0.60 = lc2.note0.4
+out.note0.61 = lc2.note0.5
+out.note0.62 = lc2.note0.6
+out.note0.63 = lc2.note0.7
+
+; Launchpad
+out.note0.64 = pad.note0.0
+out.note0.65 = pad.note0.1
+out.note0.66 = pad.note0.2
+out.note0.67 = pad.note0.3
+out.note0.68 = pad.note0.4
+out.note0.69 = pad.note0.5
+out.note0.70 = pad.note0.6
+out.note0.71 = pad.note0.7
+out.note0.72 = pad.note0.16
+out.note0.73 = pad.note0.17
+out.note0.74 = pad.note0.18
+out.note0.75 = pad.note0.19
+out.note0.76 = pad.note0.20
+out.note0.77 = pad.note0.21
+out.note0.78 = pad.note0.22
+out.note0.79 = pad.note0.23
+out.note0.80 = pad.note0.32
+out.note0.81 = pad.note0.33
+out.note0.82 = pad.note0.34
+out.note0.83 = pad.note0.35
+out.note0.84 = pad.note0.36
+out.note0.85 = pad.note0.37
+out.note0.86 = pad.note0.38
+out.note0.87 = pad.note0.39
+out.note0.88 = pad.note0.48
+out.note0.89 = pad.note0.49
+out.note0.90 = pad.note0.50
+out.note0.91 = pad.note0.51
+out.note0.92 = pad.note0.52
+out.note0.93 = pad.note0.53
+out.note0.94 = pad.note0.54
+out.note0.95 = pad.note0.55
+out.note0.96 = pad.note0.64
+out.note0.97 = pad.note0.65
+out.note0.98 = pad.note0.66
+out.note0.99 = pad.note0.67
+out.note0.100 = pad.note0.68
+out.note0.101 = pad.note0.69
+out.note0.102 = pad.note0.70
+out.note0.103 = pad.note0.71
+out.note0.104 = pad.note0.80
+out.note0.105 = pad.note0.81
+out.note0.106 = pad.note0.82
+out.note0.107 = pad.note0.83
+out.note0.108 = pad.note0.84
+out.note0.109 = pad.note0.85
+out.note0.110 = pad.note0.86
+out.note0.111 = pad.note0.87
+out.note0.112 = pad.note0.96
+out.note0.113 = pad.note0.97
+out.note0.114 = pad.note0.98
+out.note0.115 = pad.note0.99
+out.note0.116 = pad.note0.100
+out.note0.117 = pad.note0.101
+out.note0.118 = pad.note0.102
+out.note0.119 = pad.note0.103
+out.note0.120 = pad.note0.112
+out.note0.121 = pad.note0.113
+out.note0.122 = pad.note0.114
+out.note0.123 = pad.note0.115
+out.note0.124 = pad.note0.116
+out.note0.125 = pad.note0.117
+out.note0.126 = pad.note0.118
+out.note0.127 = pad.note0.119