Post by nic on Nov 8, 2013 13:52:24 GMT
As I'm approaching the light at the end of the tunnel, I thought I would share some details of MidiBus. There are two parts to this project:
1. The MidiBus app which users can download to make their MIDI life on iOS easier.
2. The MidiBus library which iOS developers can download and add to their apps to add robust and proven MIDI support to their apps.
MidiBus is going to be released in stages. The first releases are going to focus on essential MIDI support for developers and for musicians, a solution to help control the mess that is iOS MIDI timekeeping.
First, the end-user app. Release 1.0 will sport the following features:
- Generate rock-solid MIDI Sync (clock) and MIDI Time Code (MTC) which can be distributed to apps and devices. Essentially a central and accurate clocking source.
- MIDI controllable transport (start/continue/stop).
- Monitor panel where all MIDI sources on the device are monitored and interesting statistics on overall event timing and specifically clock quality. You'll be able to see which apps/devices generate solid clock and which don't!
- Fast switch to OMAC and many other apps from MidiBus.
Here is a work-in-progress sneak preview of the Monitor panel.

Note that the MidiBus clock has 0.00% variation. (that's not photoshopped!)
The library will allow developers to incorporate enterprise CoreMIDI support easily:
- MIDI devices are presented via the API as matched pairs (where possible) with 'cleaned' up port names.
- Send and receive MIDI events to and from apps, devices or other iDevices with the API taking care of delivery.
- Incoming events are validated and presented atomically.
- Apps using the library can generate stable MIDI clock and MTC.
- Apps using the library will be OMAC compliant (including OMAC switching).
My hope is to have release 1 tested and submitted to Apple by the end of November, if not before.
Ensuing releases will add support to both the app and library for features like (but not limited to):
- Sysex transfer (including all the knowledge of iOS sysex limitations currently coded into MidiBridge).
- MIDI routing between interfaces (split, merge, clone).
- MIDI event filtering and transformation.
- IIA MIDI bridging to CoreMIDI.
Gradually, the functionality of MidiBridge will be migrated into MidiBus where practicable.
That's just a brief preview. I have left this thread unlocked for comments, so if you have an opinion please feel free to post.
Regards, Nic.
1. The MidiBus app which users can download to make their MIDI life on iOS easier.
2. The MidiBus library which iOS developers can download and add to their apps to add robust and proven MIDI support to their apps.
MidiBus is going to be released in stages. The first releases are going to focus on essential MIDI support for developers and for musicians, a solution to help control the mess that is iOS MIDI timekeeping.
First, the end-user app. Release 1.0 will sport the following features:
- Generate rock-solid MIDI Sync (clock) and MIDI Time Code (MTC) which can be distributed to apps and devices. Essentially a central and accurate clocking source.
- MIDI controllable transport (start/continue/stop).
- Monitor panel where all MIDI sources on the device are monitored and interesting statistics on overall event timing and specifically clock quality. You'll be able to see which apps/devices generate solid clock and which don't!
- Fast switch to OMAC and many other apps from MidiBus.
Here is a work-in-progress sneak preview of the Monitor panel.

Note that the MidiBus clock has 0.00% variation. (that's not photoshopped!)
The library will allow developers to incorporate enterprise CoreMIDI support easily:
- MIDI devices are presented via the API as matched pairs (where possible) with 'cleaned' up port names.
- Send and receive MIDI events to and from apps, devices or other iDevices with the API taking care of delivery.
- Incoming events are validated and presented atomically.
- Apps using the library can generate stable MIDI clock and MTC.
- Apps using the library will be OMAC compliant (including OMAC switching).
My hope is to have release 1 tested and submitted to Apple by the end of November, if not before.
Ensuing releases will add support to both the app and library for features like (but not limited to):
- Sysex transfer (including all the knowledge of iOS sysex limitations currently coded into MidiBridge).
- MIDI routing between interfaces (split, merge, clone).
- MIDI event filtering and transformation.
- IIA MIDI bridging to CoreMIDI.
Gradually, the functionality of MidiBridge will be migrated into MidiBus where practicable.
That's just a brief preview. I have left this thread unlocked for comments, so if you have an opinion please feel free to post.
Regards, Nic.