Re: the neglected IAC Driver
Re: the neglected IAC Driver
- Subject: Re: the neglected IAC Driver
- From: Doug Wyatt <email@hidden>
- Date: Tue, 21 Dec 2004 12:20:44 -0800
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:
This email sent to email@hidden