mnet





RTP

RTP MIDI is a standard defined in RFC 4695 and first implemented by Apple in its MIDI Network system. The latter made its debut in OS X 10.4 (Tiger), but probably only got really widely used after it was introduced to iOS in version 4.2. A Windows implementation named rtpMIDI has been created by Tobias Erichsen and our nmj library has made the protocol available on Android. Today there is an increasing number of hardware with built-in RTP MIDI functionality coming to life.

mnet has full support for RTP MIDI and the Apple way of establishing connections, but attempts to avoid the session / participants / directory terminology, because that has proven to be very confusing to a lot of people. In mnet you will just have devices (happening to offer RTP MIDI services) that can be patched to a MIDI port of your choice and mnet itself can (and by default will) offer such services as well.

RTP services on remote devices will be picked up automatically via multicast DNS and will be made available as patchable channels. In the MIDIHub control panel they will appear in the list of networked devices on the left hand side with a standard WIFI icon.
Channels will be named as they have been announced by whoever offered the service. In case of TouchDAW that will be a string like "tdaw (and_29) RTP 1" - standing for "First RTP service in TouchDAW running on an Android device with an IP address ending in .29".
In case of OS X or rtpMIDI sessions the name will be whatever you chose for the "Bonjour name" in the resp. control panels.

The below screenshot shows two rtpMIDI sessions and two Android devices running TouchDAW being present on the network:



To connect to and open a remote RTP session, drag a patchline to the MIDI port that you want to receive its data on. To disconnect, double-click one end of the patchcord then click the other.

Patched remote devices are not purged from the session cache on shutdown and the driver will try to find them back and reconnect them on subsequent runs.


Local Sessions

Each of the four MIDI ports that mnet makes available to sequencers etc. can have an associated local server that will be seen by other devices and computers on the network. By default the first two ports have local RTP sessions active. This is indicated in the control panel by the upper buttons on the first two ports being highlighted in green.

Other RTP MIDI aware soft and hardware will pick these sessions up and allow its users to connect to them. You can change the name that's shown to others and deactivate or change each port's local session by clicking the session button / highlight.



Changes will only take effect after you clicked "OK".


When a remote peer connects to one of the driver's local sessions, the control panel will show a connected device with a green name string:



Here TouchDAW's second MIDI connection has been set to open our second local session.

Functionally it makes no difference which side initiated the connection. It's just important to understand that local sessions are bound to their respective MIDI port while remote devices can be patched anywhere.




humatic - htools