• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: the neglected IAC Driver
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: the neglected IAC Driver
      • From: Pete Gontier <email@hidden>
References: 
 >the neglected IAC Driver (From: Pete Gontier <email@hidden>)

  • Prev by Date: Re: Midisport and sysex
  • Next by Date: Re: Midisport and sysex
  • Previous by thread: Re: the neglected IAC Driver
  • Next by thread: Re: the neglected IAC Driver
  • Index(es):
    • Date
    • Thread