AUScope

Superclasses : none
Subclasses : none
Header : AUScopeElement

class AUScope 

AudioUnit parameters are referenced by scope and element. One AUScope object contains all of the elements for a single scope within an instance of AUBase. There are four scopes referenced by the constants kAudioUnitScope_Input, kAudioUnitScope_Output, kAudioUnitScope_Global, or kAudioUnitScope_Group.


Methods

Constructor


AUScope

public constructor


 AUScope();

Constructor. Internal. This is called from AUBase.



Destructor


~AUScope

public nonvirtual destructor


 ~AUScope();

Destructor. Frees all of the elements.



Other


AddElementNamesToDict

public nonvirtual method


 void AddElementNamesToDict (CFMutableDictionaryRef& inNameDict);



GetElement

public nonvirtual method


 AUElement* GetElement(UInt32 elementIndex);

Accessor. Returns the indexed AUElement object or NULL if the index is out of range.



GetIOElement

public nonvirtual method


 AUIOElement* GetIOElement(UInt32 elementIndex);

Accessor. Returns the indexed AUIOElement object. This scope MUST be either kAudioUnitScope_Input or kAudioUnitScope_Output.



GetNumberOfElements

public nonvirtual method


 UInt32 GetNumberOfElements() const;

Returns the number of elements in this scope.



HasElementWithName

public nonvirtual method


 bool HasElementWithName () const;



Initialize

public nonvirtual method


 void Initialize(
          AUElementCreator*               creator,
          AudioUnitScope                  scope,
          UInt32                          numElements
    );

Internal. This method creates the correct number of elements for the AUScope object. This gets called by the AUBase object/



SafeGetElement

public nonvirtual method


 AUElement* SafeGetElement(UInt32 elementIndex);

Accessor. Returns the indexed AUElement object or throws an exception if the index is out of range.



SetNumberOfElements

public nonvirtual method


 void SetNumberOfElements(UInt32 numElements);

Can be used to change the number of elements after the unit has been initialized. Currently the deinterleaver AudioUnit does this to create enough output elements to match the number of input channels.



Data


Other


mCreator

private instance variable


 AUElementCreator* mCreator;

The object that created this. See AUElementCreator.



mElements

private instance variable


 ElementVector mElements;

A list of the elements in this scope.



mScope

private instance variable


 AudioUnitScope mScope;

The scope constant.