Synthetic Bits has kicked off a series of posts looking at MIDI on iOS – a CoreMIDI Brain Dump:
These posts are an introduction to adding CoreMIDI to iOS music apps for developers who have never used the CoreMIDI framework before. Some devs are lucky enough to find learning this stuff is really easy, and can pick it all up themselves very quickly without needing any of this kind of help. Sadly for me, I am not one of those people. Figuring out CoreMIDI was not easy and at points it was actually extremely frustrating. And it still is sometimes, even after implementing it in a couple apps.
Anyone that follows iOS music apps knows how important CoreMIDI has been to the platform, but also the gap there is in implementation.
Synthetic Bits plans five posts to help address this:
- This first part is a basic introduction to CoreMIDI, helping you figure out what it is you want to do, creating working MIDI music setups, and grabbing some apps to test your setup with.
- Part two will be about implementing basic CoreMIDI functionality using Pete Goodliffe’s PGMidi sample code, and will hopefully get you to the point where you can set up CoreMIDI, send and receive MIDI notes, and have a basic idea of what’s going on.
- Part three will cover improving the performance and timing of MIDI by scheduling MIDI events in advance, sending and receiving MIDI clock, using a dedicated MIDI thread, as well as give you a couple other helpful techniques to avoid some specific headaches.
- Part four will deal with setting up network MIDI connections between iOS devices, and between an iOS device and a laptop, so you can find, connect and communicate with other apps running on other devices.
- Finally, part five will discuss what you need to do to allow your app to work in the background so that you can sync and communicate with other apps running simultaneously on the same iOS device.
Let’s hope that this CoreMIDI Brain Dump leads to more and better support for MIDI among iOS music apps.