I am very happy to say that I finally have a version good enough to be sent for peer-review on linux-bluetooth mainling list.
There will be other little reviews, obviously. But hopefully this patch will be accepted for next BlueZ version.
- GATT client (GAP central role)
- libmidi (MIDI parsing)
The GATT server (GAP Peripheral role) can easily be implemented using libmidi . Once this main patch is in mainline, then it will be interesting to start working on it.
As mentioned on my patch, I would like to send kudos to ROLI Ltd. which allowed my to work on this as part of my full-time job.