Skip to content

Commit ee086b4

Browse files
committed
Add rtpmidi to README, add example config
1 parent 4a575cd commit ee086b4

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Currently, the MIDIMonster supports the following protocols:
1616
| ArtNet | Linux, Windows, OSX | Version 4 | [`artnet`](backends/artnet.md) |
1717
| Streaming ACN (sACN / E1.31) | Linux, Windows, OSX | | [`sacn`](backends/sacn.md) |
1818
| OpenSoundControl (OSC) | Linux, Windows, OSX | | [`osc`](backends/osc.md) |
19+
| RTP-MIDI | Linux, Windows, OSX | AppleMIDI sessions supported | [`rtpmidi`](backends/rtpmidi.md) |
1920
| OpenPixelControl | Linux, Windows, OSX | 8 Bit & 16 Bit modes | [`openpixelcontrol`](backends/openpixelcontrol.md) |
2021
| evdev input devices | Linux | Virtual output supported | [`evdev`](backends/evdev.md) |
2122
| Open Lighting Architecture | Linux, OSX | | [`ola`](backends/ola.md) |
@@ -36,6 +37,7 @@ one protocol into channel(s) on any other (or the same) supported protocol, for
3637
* Use an OSC app as a simple lighting controller via ArtNet or sACN
3738
* Visualize ArtNet data using OSC tools
3839
* Control lighting fixtures or DAWs using gamepad controllers, trackballs, etc ([Example configuration](configs/evdev.cfg))
40+
* Connect a device speaking RTP MIDI (for example, an iPad) to your computer or lighting console ([Example configuration](configs/rtpmidi.cfg))
3941
* Play games, type, or control your mouse using MIDI controllers ([Example configuration](configs/midi-mouse.cfg))
4042

4143
If you encounter a bug or suspect a problem with a protocol implementation, please
@@ -145,6 +147,7 @@ special information. These documentation files are located in the `backends/` di
145147
* [`winmidi` backend documentation](backends/winmidi.md)
146148
* [`artnet` backend documentation](backends/artnet.md)
147149
* [`sacn` backend documentation](backends/sacn.md)
150+
* [`rtpmidi` backend documentation](backends/rtpmidi.md)
148151
* [`evdev` backend documentation](backends/evdev.md)
149152
* [`loopback` backend documentation](backends/loopback.md)
150153
* [`ola` backend documentation](backends/ola.md)

backends/rtpmidi.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ stream, which may lead to inconsistencies during playback.
2727
|-----------------------|-----------------------|-----------------------|-----------------------|
2828
| `detect` | `on` | `off` | Output channel specifications for any events coming in on configured instances to help with configuration. |
2929
| `mdns-name` | `computer1` | none | mDNS hostname to announce (`<mdns-name>.local`). Apple-mode instances will be announced via mDNS if set. |
30-
| `mdns-interface` | `wlan0` | none | Limit addresses announced via mDNS to this interface. On Windows, this is prefix-matched against the user-editable "friendly" interface name. |
30+
| `mdns-interface` | `wlan0` | none | Limit addresses announced via mDNS to this interface. On Windows, this is prefix-matched against the user-editable "friendly" interface name. If this name matches an interface exactly, discovery uses exactly this device. |
3131

3232
#### Instance configuration
3333

@@ -84,7 +84,7 @@ rmidi1.ch0.pitch > rmidi2.ch1.pitch
8484

8585
#### Known bugs / problems
8686

87-
This backend is currently still a work in progress, and is not mentioned on the main README yet for that reason.
87+
This backend has been in development for a long time due to its complexity. There may still be bugs hidden in there.
8888
Critical feedback and tests across multiple devices are very welcome.
8989

9090
The mDNS and DNS-SD implementations in this backend are extremely terse, to the point of violating the

configs/print.lua

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- This function prints the name of the channel it handles and it's value
2+
-- It can be used for a simple debug output with the `default-handler` configuration option
3+
function printchannel(value)
4+
print(input_channel() .. " @ " .. value)
5+
end

configs/rtpmidi.cfg

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
; Simple RTP MIDI example configuration
2+
3+
[backend rtpmidi]
4+
; This causes the backend itself to output channel values
5+
detect = on
6+
; When connecting multiple MIDIMonster hosts via RTP MIDI, set this to something else on each computer
7+
mdns-name = midimonster-host
8+
9+
[rtpmidi rtp]
10+
mode = apple
11+
; Invite everyone we see on the network
12+
invite = *
13+
14+
; This instance just sends all incoming events to the `printchannel` function
15+
[lua print]
16+
script = print.lua
17+
default-handler = printchannel
18+
19+
; Map all notes and CC's coming in to the Lua instance
20+
[map]
21+
rtp.ch{0..15}.cc{0..127} > print.ch{0..15}.cc{0..127}
22+
rtp.ch{0..15}.note{0..127} > print.ch{0..15}.cnote{0..127}

0 commit comments

Comments
 (0)