Bluetooth

Note: This implementation is technically out of time and no longer supported. It is not "4.0", "smart" or "low energy" and it's not compatible with the Bluetooth LE MIDI implementation in iOS 8 / OS X 10.10.
Obsolete and deprecated! Please use Android's Bluetooth LE MIDI instead.


MIDI over Bluetooth has been hanging around as a concept for quite some time without ever really taking off. Up until today there is no common standard (MMA is working on one for Bluetooth LE apparantly) and there may be good reasons to consider Bluetooth as not technically viable when you intend to do more than occassionaly sending a note-on or some controller data.

mnet's Bluetooth implementation is proprietary and will only work amongst mnet instances and with what is in nmj / TouchDAW. Technically it sends raw MIDI data over RFCOMM on four predefined service GUIDs. Theoretically every client can therefore make use of up to four Bluetooth connections, but in practice at least "the world's most advanced operating system" never worked with more than one connection per device at a time.

mnet's Bluetooth MIDI is based on a client / server scheme. One side will offer and announce MIDI services that can be scanned for and connected to by others. Scanning for Bluetooth devices and services is a "heavyweight" operation. It takes both time and energy. By default the mobile side (nmj) will therefore always be in the server role, offering services, but never looking for others. Scans and service lookups are always done from the PC side.

To do a Bluetooth scan click the Bluetooth icon in the middle of the upper toolbar. Be patient, this will take a while. Note that devices you want to find need to be running with Bluetooth MIDI ports opened and need to be paired with the computer before. See your OS's Bluetooth documentation for details on pairing.



Once Bluetooth services have been found you will see remote devices appear in the left hand column of the control panel. Patch them to the MIDI port you want their data to appear on and you should be good to go. Patched connections are stored and the driver will try to find the device back and reconnect it on subsequent runs.



Bluetooth server

mnet can also act as a Bluetooth server, ie. take the role of the mobile device. This allows you to send MIDI over Bluetooth between computers. Servers have a fixed association with the driver's MIDI ports. If you enable the Bluetooth server on MIDI port 3, everybody connected to that server will send to MIDI port 3 and you can not patch clients anywhere else.

To enable the server click the upper button on the MIDI port in question, check the "Bluetooth Server" box and click OK. The session button / highlight will then show a blue Bluetooth icon and the server should be visible to other computers running mnet on Bluetooth scans.