Multicast

mnet's Multicast implementation is compatible with ipMIDI from nerds.de, its Linux equivalents qmidinet and multimidicast and the multicast implementation in TouchDAW.

The ipMIDI way of multicasting MIDI has no concept of service discovery. Instead it uses a clearly defined multicast address and a handful of subsequent port numbers to create multiple connections. Everything sent to one of those virtual endpoints will be received by all ipMIDI clients listening on that address. A port that's set to receive will receive MIDI from everybody sending to the address it's listening on (It will not be able to separate between sources). In practice this makes the system relatively easy to use. It can however also easily make data flow in unintended ways.

In the absense of a service announcement and discovery mechanism, multicast devices will not automatically appear in mnet's control panel. Instead there are preconfigured pseudo devices, that can be patched to MIDI ports like "real" remote devices and when opened will send MIDI to the known addresses and receive from there.

By default there are two such pseudo devices. These will initially be hidden. Click the grayed out multicast icon in the top left corner and they will be shown.



Multicast MIDI ports are mostly used as either in- or output. All ports and connections in mnet are meant to be bi-directional, though. The pseudo devices therefore (virtually) combine two ipMIDI ports into one in / out pair. By default the even port number is an input to mnet, the following odd number is the output.
You can change this ordering and make the odd number the input by double-clicking into the channel's name field, which will open the channel's properties as shown below:



If you increase the given port number by 1 (and click OK), the driver will - when it next opens the multicast connections - assign the odd number to the input and the even one (port-1) to the output.

In case your system has multiple (eventually virtual) network interfaces Multicast channels may require that you explicitely select the interface to use. This can be done with the "Interface" dropdown. Again changes need to be confirmed and the channel will need to be reopened.

The default configuration will give you two multicast IO pairs (ie: 4 ipMIDI ports). You can change that on the preferences page.