Re: Audio Engine Design question
Re: Audio Engine Design question
- Subject: Re: Audio Engine Design question
- From: Matt Gonzalez <email@hidden>
- Date: Fri, 20 Sep 2002 14:44:07 -0700
- Organization: Echo Digital Audio Corp.
I'm considering a similar question - our hardware can handle pretty much any kind of
interleaving setup, similarly to what Mr. Buchalter describes below. So what would
people prefer to see?
Matt
"B.J. Buchalter" wrote:
>
> A: 1 input stream with 16 channels
>
>
>
> B: 1 input stream with 12 channels
>
> 1 input stream with 2 channels (coaxial)
>
> 1 input stream with 2 channels (optical)
>
>
>
> C: 6 input streams with 2 channels
>
> 1 input stream with 2 channels (coaxial)
>
> 1 input stream with 2 channels (optical)
>
>
>
> D: 12 input streams with 1 channel
>
> 1 input stream with 2 channels (coaxial)
>
> 1 input stream with 2 channels (optical)
>
>
>
> E: Other
>
>
>
>
>
> 1 input stream with 12 channels works fine in Ableton Live but
>
> crashes SoundStudio and Amadeus. Maybe it's safer not to have more
>
> than 2 channels per streams. On the other hand, I've seen one audio
>
> driver do that....
>
>
>
> For the moment I use solution B but I am tempted to go for solution
>
> C, but what bothers me is that the Audio MIDI Setup displays
>
> information only for the first stream, so the user might think the
>
> device has got only one stereo input :-/
>
>
C and D have the benefit that smart clients can tell CA which streams they
>
are using and the overhead goes down if they are not using all the streams.
>
>
The Apple line on this is that the device should present based upon its
>
underlying DMA buffer structure. In your case (as a FireWire guy), there
>
really is no underlying DMA buffer, so you can make it be whatever you want.
>
>
But Every possible structure will eventually show up as various
>
manufacturers build their drivers. CA compliant client apps MUST deal with
>
all the structures. It is not really that hard -- the only one that is
>
especially easy is the 1-stream/1-channel case. All of the interleaved
>
streams are basically the same thing with different strides and it is pretty
>
straight forward to code in the general case. If a client crashes or refuses
>
to use a device because of its buffer structure, it is broken and needs to
>
be fixed.
>
>
So, you should probably use what works best for your device -- because all
>
of those early CA apps that did not get it right are going to have to be
>
revised to get it right anyway.
>
>
Best regards,
>
>
B.J. Buchalter
>
>
Metric Halo
>
M/S 601 - Building 8
>
Castle Point Campus
>
Castle Point, NY 12511-0601 USA
>
tel +1 845 831-8600
>
fax +1 603 250-2451
>
>
If you haven't heard ChannelStrip yet, you don't know what you're missing!
>
>
Check out SpectraFoo, ChannelStrip and Mobile I/O at http://www.mhlabs.com/
>
>
Download a 12 day demo from <http://www.mhlabs.com/demo/>
>
_______________________________________________
>
coreaudio-api mailing list | email@hidden
>
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
>
Do not post admin requests to the list. They will be ignored.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.