Re: NewbieQuestion: _IODevices!
Re: NewbieQuestion: _IODevices!
- Subject: Re: NewbieQuestion: _IODevices!
- From: email@hidden
- Date: Tue, 13 May 2003 20:44:01 +0200
tisdagen den 13 maj 2003 kl 19.55 skrev Luke Bellandi:
>
>>
>
>> 1. What is the audioDevice (are there any real life similarity like a
>
>> channel strip or bus or whatever)?
>
>
>
> Think of an AudioDevice as a hardware box. A MOTU 896 is 1
>
> AudioDevice. An EMI 6/2 is 1 AudioDevice. Apple Built-In hardware
>
> is 1 AudioDevice.
>
>
One caveat: USB devices present input and output as separate
>
AudioDevice objects. So, for example, the EMI 6|2m will actually
>
appear in CoreAudio as 2 separate devices. AudioMIDISetup coalesces
>
devices like this and presents them visually as being one device.
>
>
Most other devices will appear, as Brad says, representing a single
>
physical box (the built in hardware and MotU 896 each appear as 1
>
device in CoreAudio.)
>
>
Luke.
Thanks!
But if my USB-interface is considered as two different devices (or I
for some reason are using two different devices), how do I get my input
buffer from, say the EMI 2|6, to the outputbuffer of my built-in
speakers?
A very basic example:
OSStatus myIOProc (AudioDeviceID inDevice, const AudioTimeStamp* inNow,
const AudioBufferList* inInputData, const AudioTimeStamp* inInputTime,
AudioBufferList* outOutputData, const AudioTimeStamp* inOutputTime,
void* inClientData)
{
int size = outOutputData->mBuffers[0].mDataByteSize;
memcpy(outOutputData->mBuffers[0].mData,
inInputData->mBuffers[0].mData, size); // move data
return (noErr);
}
As far as I'm concerned, I only get to send one device to this IOProc,
but if the inputs and outputs are two different devices, I seem to have
a problem? How do I get the inputbuffer from one device to the
outputbuffer of another?
/Jont Olof
_______________________________________________
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.