Re: NewbieQuestion: _IODevices!
Re: NewbieQuestion: _IODevices!
- Subject: Re: NewbieQuestion: _IODevices!
- From: Luke Bellandi <email@hidden>
- Date: Tue, 13 May 2003 12:07:44 -0700
You can register IOProcs for both your input and output device. Buffer
the input data coming in in your input proc, and provide it in your
output proc.
Alternatively, you can use AudioDeviceRead() to get data from your
input device and provide that to your output device.
On Tuesday, May 13, 2003, at 11:44 AM, email@hidden wrote:
>
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.