I think it probably makes sense to take this approach of commonality-not-identity. One of the structural differences -- sorry if I'm stating the obvious -- is that MIDI devices don't deliver/consume a continuous stream of sample frames in lock-step, they work with time-stamped byte packets.
More comments below:
On Feb 1, 2012, at 1:24 PM, Chris Wilson wrote:
> Questions for the MIDI devs here-
> - Is the "synth" output designation in Windows useful? The #voices, type of synth, etc? Seems a bit overdone, to me. It would seem like being able to tell "this is a software synth" would be useful - although
Based on what I've seen so far I think it would be best to make synth-description metadata into a v2 thing, since in order to be actually useful my sense is that developers need much more info than voice count and hardware-vs-software.
> - How about the MIDI device manufacturer/product ID? Driver version #?
I think that is essential because one needs to expose some user-visible info in a device choice UI to know what device is being selected, if one wishes to drill down below the simple logical name level. (For example the Java MIDI API on Mac OS X often exposes device names like "KEYBOARD" which is not terribly descriptive.)
> - Windows MIDI mapper. This always seemed overblown to me; and, of course, you can just use it as a device in Windows. I don't think we need special exposure, as in the Windows APIs. Thoughts?
Agreed, I would rather not see this included as it is a complicating factor and doesn't add value to the use cases that feel most important.
...Joe
>
> My off-the-cuff feeling, BTW, is that there should be a commonality of pattern between audio port enumeration and MIDI port enumeration, but I think they will end up as separate APIs.
>
> -C
>
> On Wed, Feb 1, 2012 at 9:29 AM, Joseph Berkovitz <joe@noteflight.com> wrote:
> I also agree with Tom's suggestion that MIDI devices be considered as part of this sphere.
>
> ...joe
>
> On Jan 31, 2012, at 7:25 PM, Tom White (MMA) wrote:
>
>> Chris Rogers said
>> it would be good to have an introspection API to enumerate the available audio devices for both audio input and output. A built-in microphone would be one such device. Also commonly available is the line-in analog audio input on a laptop or desktop computer. And, of course, any externally connected multi-channel USB or Firewire audio devices. Some of these can present eight (or more) simultaneous audio input and output channels simultaneously.
>> It's important to not consider audio input in isolation, but also audio output capabilities when enumerating the devices.
>> I can't help but point out that MIDI devices (software and hardware ports) are commonly used for audible* input/output and thus would also be a candidate for enumeration...
>>
>> Tom White
>> www.midi.org
>>
>> *I say "audible" instead of "audio" so there is no confusion between MIDI and audio <g>
>
> ...
... . . . Joe
Joe Berkovitz
President
Noteflight LLC
84 Hamilton St, Cambridge, MA 02139
phone: +1 978 314 6271
www.noteflight.com