This is driving me nuts. My 3DMixer was working fine until I did some other stuff for a few days, and now any time I change any of the parameters,it has no effect on the mixer. No gain change, no distance and no azimuth.
I have know idea what i changed, but something has made it completely unresponsive. It's still mixing 3 inputs, just no 3D.
status = ::AudioUnitSetParameter((AudioUnit)mixer->auUnit, k3DMixerParam_Gain, kAudioUnitScope_Input, inBusNumber, -120, 0); status = ::AudioUnitSetParameter((AudioUnit)mixer->auUnit, k3DMixerParam_Distance, kAudioUnitScope_Input, inBusNumber, 4, 0); status = ::AudioUnitSetParameter((AudioUnit)mixer->auUnit, k3DMixerParam_Azimuth, kAudioUnitScope_Input, inBusNumber, 80, 0);
I get no errors when setting the parameters
My distance parameters are: algo = kSpatializationAlgorithm_HRTF result = AudioUnitSetProperty((AudioUnit)auUnit, kAudioUnitProperty_SpatializationAlgorithm, kAudioUnitScope_Input, bus, &algo, sizeof(algo));
distanceParams.mReferenceDistance = 1; distanceParams.mMaxDistance = 20; distanceParams.mMaxAttenuation = 5; result = AudioUnitSetProperty((AudioUnit)auUnit, kAudioUnitProperty_3DMixerDistanceParams, kAudioUnitScope_Input, bus, &distanceParams, sizeof(distanceParams));
My input buses streaming format is:
format->mFormatID = kAudioFormatLinearPCM; format->mFormatFlags = kAudioFormatFlagsAudioUnitCanonical;// kAudioFormatFlagIsSignedInteger (didn't work on mac) format->mFramesPerPacket = 1; format->mBitsPerChannel = 8 * bytesPerSample; format->mBytesPerFrame = bytesPerSample; // * channels; format->mChannelsPerFrame = channels; // 2 indicates stereo format->mBytesPerPacket = format->mBytesPerFrame * format->mFramesPerPacket; format->mSampleRate = sampleRate;
I've tried setting all of them to mono instead of a mix without any results.
I'm on Mountain Lion, compiling for 10.8
Any ideas? I've been trying to find the cause of this all night!
Regards, Tor
|