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();
Constructor. Internal. This is called from AUBase.
Destructor
|
public nonvirtual destructor
|
~AUScope();
Destructor. Frees all of the elements.
Other
void AddElementNamesToDict (CFMutableDictionaryRef& inNameDict);
AUElement* GetElement(UInt32 elementIndex);
Accessor. Returns the indexed AUElement object or NULL if the index
is out of range.
AUIOElement* GetIOElement(UInt32 elementIndex);
Accessor. Returns the indexed AUIOElement object.
This scope MUST be either kAudioUnitScope_Input or kAudioUnitScope_Output.
UInt32 GetNumberOfElements() const;
Returns the number of elements in this scope.
bool HasElementWithName () const;
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/
AUElement* SafeGetElement(UInt32 elementIndex);
Accessor. Returns the indexed AUElement object or throws an exception if the index
is out of range.
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
|
private instance variable
|
AUElementCreator* mCreator;
The object that created this. See AUElementCreator.
|
private instance variable
|
ElementVector mElements;
A list of the elements in this scope.
|
private instance variable
|
AudioUnitScope mScope;
The scope constant.