• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
issues with AUMixers
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

issues with AUMixers


  • Subject: issues with AUMixers
  • From: anton demonk <email@hidden>
  • Date: Wed, 31 Aug 2011 14:08:21 +0200

Hi,

I am struggling with an AUGraph that has 3 AUMixers (with n inputs) connected to a "main" AUMixer (with 3 inputs), connected to a RemoteIO unit.

n Bus -- Mixer 0 ---
                             |
n Bus -- Mixer 1 -------- Main Mixer -- RemoteIO
                             |
n Bus -- Mixer 2 ---

Some unexpected issues I have encountered :

1 - the Main mixer uses AudioUnitRender to call the Callback functions associated to each mixers (see code below). Strangely enough, the AudioUnitRender call only works for the inBusNumber "0" of my main Mixer. (the AudioUnitRender calls on inBusNumber 1 and 2 don't perform)

2 - I thave tried to add a AUGraphAddRenderNotify call to 2 of my mixers and they don't seem to perform either.
 
3 - at last, it looks like the AUMixer have some kind of "normalizing" integrated function. If I have 10 sounds being played in a AUMixer, the output level is the same that if I have only one sound. In other words, one played sound will sound considerably louder one its own that n sounds played through the same mixer.

I am sure all this are newbie issues and that they are some settings that I have missed somewhere. But if anyone could point me towards some tutorials or examples of a AUGraph with multiple mixers, using AudioUnitRender and AUGraphAddRenderNotify, that would be greatly appreciated and it would also help me to stop pulling my hair like hell.

Thanks.

Anton

----------------------------------------------

static OSStatus mainMixerCallback(void *inRefCon,
                                  AudioUnitRenderActionFlags *ioActionFlags,
                                  const AudioTimeStamp *inTimeStamp,
                                  UInt32 inBusNumber,
                                  UInt32 inNumberFrames,
                                  AudioBufferList *ioData)
{ 
    SoundEngine*    se        = (SoundEngine*) inRefCon;
    Session*        session    = (Session *)     se.currentSession;

    if (inBusNumber==0){
        AudioUnitRender((AudioUnit)se.auMixer0, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
    }
    if (inBusNumber==1){
        if (session->effectsOn[0]){
           AudioUnitRender((AudioUnit)se.auMixer1, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
        }
    }
    if (inBusNumber==2){
        if (session->effectsOn[1]){
           AudioUnitRender((AudioUnit)se.auMixer2, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
        }
    }
    return noErr;
}   

 _______________________________________________
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

  • Prev by Date: Re: 'Unsupported num channels' warnings
  • Next by Date: AUMixers issues
  • Previous by thread: Bluetooth devices with low sample rates and remoteIO
  • Next by thread: AUMixers issues
  • Index(es):
    • Date
    • Thread