Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the neglected IAC Driver



On Dec 20, 2004, at 20:01, Pete Gontier wrote:
I'm contemplating the IAC Driver I see in Audio MIDI Setup. I know what it's
for; I know what it does in theory. My question is why so many developers
feel the need to create virtual devices, since it seems to me the IAC driver
ought to be able to serve the same essential purpose. Doug may tell us what
his intent was, but I would still be interested in hearing from others about
why they created virtual devices instead of relying on IAC Driver. And if
you ARE relying on it, let me know about that decision process, too.

The IAC driver is essentially a brain-dead-simple hack of a workaround for apps/plugins that are too lazy to publish their own virtual sources/destinations. ;-) More charitably, sometimes users find situations where an interapp connection is useful though the developer didn't think of it.


The PITA about the IAC driver (beyond busses 2+ not working in Panther) is that users have to remember what's what. Virtual endpoints have meaningful names, without the user having to trundle off to AMS and enter one.

To look at a real-world example, Augustus Loop creates a virtual source for itself, and sends clock messages on it to permit synchronizing the host to *it*. If Expert Sleepers had left it to the user, they'd have had to have a "send sync to" popup menu in the UI, and the user would have to go make sure she's got enough IAC busses, throw up her hands in frustraiton if that number is more than 1, and then go do something in the host application to connect the IAC bus to some action. With a virtual source, only the last step is necessary.

DrumCore is another good example. When you run its standalone app, it creates a virtual destination, which makes it dead-simple to send MIDI to it from a host.

As a rule of thumb, I'd say that unless your software is a big host app, and there's more than a 5% chance that you want to communicate MIDI with other software instead of to hardware, you should carefully consider creating a virtual source and/or destination.

The IAC driver is intended to catch the other cases.

Doug

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/coreaudio-api/email@hidden

This email sent to email@hidden
References: 
 >the neglected IAC Driver (From: Pete Gontier <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.