Re: MultiChannel Mixer on Snow Leopard, no errors but no sound
Re: MultiChannel Mixer on Snow Leopard, no errors but no sound
- Subject: Re: MultiChannel Mixer on Snow Leopard, no errors but no sound
- From: Graeme MacDonald <email@hidden>
- Date: Thu, 21 Oct 2010 12:11:17 -0500
Lo and behold, that was it. Output volume needed to be set. Makes a lot of sense I guess being as it was silent with no errors. Turn it up! ;)
AudioUnitSetParameter(mixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Output, 0, 1, 0);
I guess the 3D and Stereo mixers don't require this, but the multichannel and matrix mixers do.
Thanks very much!
Graeme
On 2010-10-21, at 11:39 AM, Doug Wyatt wrote:
> I can't think of what it might be right off the top of my head, but it seems there is a quirk in the multichannel mixer's assumptions about how it's configured.
>
> Have you set the input *and* output volumes?
>
> If it wouldn't be too difficult to build a self-contained example that demonstrates the problem I'd be interested in looking at it; you can send it to me off-list or write a bug report. (I wonder if the matrix mixer test can be adapted easily?)
>
> thanks
> Doug
>
>
> On Oct 20, 2010, at 15:42 , Graeme MacDonald wrote:
>> Further to the information below, I tested merely replacing kAudioUnitSubType_MultiChannelMixer with kAudioUnitSubType_StereoMixer in the unit description and the sound has returned.
>>
>> The stereo mixer might be fine for me as I was mostly looking to gain access to metering.
>>
>> Thanks
>>
>> On 2010-10-20, at 11:02 AM, Graeme MacDonald wrote:
>>
>>> Hi, I am attempting to switch from using the 3D mixer unit to the multichannel mixer unit. With the 3D mixer everything seems to work fine,
>>> when I replace it with the multichannel mixer I end up with no sound. No errors are reported.
>>>
>>> I am connecting Audio File Player units to the mixer which in turn is connected to an output unit. I have set the stream formats on the mixer before connecting it to the graph.
>>>
>>> These are some snippets of code that pertain to how I'm setting it up.
>>>
>>> //Setting the mixer output format, the same format is used on the input of the output unit.
>>> X(@"Set mixer output format",AudioUnitSetProperty(mixerUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &asbd, sizeof(audioFormat)));
>>>
>>> ....
>>>
>>> //connect file player units
>>> UInt32 numbuses = 0;
>>> if (rec != nil) numbuses += tracks.count;
>>>
>>> UInt32 size = sizeof(numbuses);
>>> X(@"set input bus count",AudioUnitSetProperty( mixerUnit,
>>> kAudioUnitProperty_ElementCount,
>>> kAudioUnitScope_Input,
>>> 0,
>>> &numbuses,
>>> size ));
>>> delete[] fileUnits;
>>> fileUnits = new AudioUnit[64];
>>>
>>> for (int i=0; i<numbuses; ++i) {
>>> AudioUnit fileUnit;
>>> AUNode fileNode;
>>> int bus = i;
>>>
>>> X(@"Add file node",AUGraphAddNode(mGraph, &file_desc, &fileNode ));
>>> X(@"Mixer Node Info",AUGraphNodeInfo(mGraph, fileNode, NULL, &fileUnit ));
>>>
>>> AudioStreamBasicDescription aF = self.audioFormat;
>>> X(@"Set file player output format",AudioUnitSetProperty(fileUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &aF, sizeof(audioFormat)));
>>> X(@"Set mixer input format",AudioUnitSetProperty(mixerUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, bus, &aF, sizeof(audioFormat)));
>>>
>>> X(@"Connect file to mixer",AUGraphConnectNodeInput(mGraph, fileNode, 0, mixerNode, bus ));
>>> fileUnits[i] = fileUnit;
>>> }
>>>
>>> ...
>>>
>>> //connect mixer to output
>>> X(@"Connect mixer to output",AUGraphConnectNodeInput(mGraph, mixerNode, 0, outputNode, 0 ));
>>>
>>> After graph initialization I proceed to load files in the appropriate file units. After starting the graph, CAShow displays this. (the varispeed unit is not being used in the test)
>>>
>>> AudioUnitGraph 0x2200B5:
>>> Member Nodes:
>>> node 1: 'aufc' 'vari' 'appl', instance 0x820004 O
>>> node 2: 'auou' 'def ' 'appl', instance 0x810005 O I
>>> node 3: 'aumx' 'mcmx' 'appl', instance 0x810006 O I
>>> node 4: 'augn' 'afpl' 'appl', instance 0x810007 O I
>>> node 5: 'augn' 'afpl' 'appl', instance 0x810008 O I
>>> Connections:
>>> node 4 bus 0 => node 3 bus 0 [1 ch, 44100 Hz]
>>> node 5 bus 0 => node 3 bus 1 [1 ch, 44100 Hz]
>>> node 3 bus 0 => node 2 bus 0 [2 ch, 44100 Hz]
>>> CurrentState:
>>> mLastUpdateError=0, eventsToProcess=F, isRunning=T (1)
>>>
>>>
>>> That's about it. I tried enabling inputs for the mixer and setting volume, but neither seem to have any effect. Any insight is greatly appreciated!
>
_______________________________________________
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