Portable implementation of RTP-MIDI and Apple network-MIDI session protocol, compatible to Windows, Linux, macOS, iOS and embedded systems.
The protocols above are used in my rtpMIDI-driver. I actually implemented those protocols using Delphi. Some time later I reimplemented them in Objective C for use on iOS devices at a time when Apple had no MIDI-support on that platform yet. At the same time I started to also create a portable implementation in C.
Again I had some requirements:
• Operating system independence
• CPU archtitecture agnostic
• Minimize necessary runtime support
• Multi-peer suport
I created the skeleton part of this library some time ago. Due to workload and the birth of my children I never got down to finish this project (as if a project ever is finished 😉
Recently I had been asked to help out with re-implementing the protocol for integration into someones product. Instead of just doing some consulting, I decided to finish up my old project.
The result is this library that does all what the implementation in my rtpMIDI-driver does, and more on top…
Compatibility has been tested to the official Apple-implementation on macOS and iOS, rtpMIDI and an assortment of hardware-devices implementing those protocols as well.
Due to this it will now be only a matter of time until I remove the old Delphi-implementation in my rtpMIDI-driver and replace it by the new libRtpMidi
This library has been implemented for Windows (x86/x64), Linux (x86/x64/armel/armhf/arm64/mips), macOS (x64) and iOS(arm64).
If you have an application or hardware that needs to interact with RTP-MIDI and the Apple network-MIDI session protocol – libRtpMidi is exactly the right tool. I have prepared a small & simple to use SDK with bindings for C/C++ and Delphi and command-line sample in C.