41 #ifndef __CAAUParameter_h__
42 #define __CAAUParameter_h__
44 #include <AudioToolbox/AudioUnitUtilities.h>
50 class CAAUParameter :
public AudioUnitParameter {
55 CAAUParameter(AudioUnit au, AudioUnitParameterID param, AudioUnitScope scope, AudioUnitElement element);
57 CAAUParameter(AudioUnitParameter &inParam);
59 CAAUParameter(
const CAAUParameter &a);
64 bool operator < (
const CAAUParameter &a)
const
66 return memcmp(
this, &a,
sizeof(AudioUnitParameter)) < 0;
72 return !memcmp(
this, &a,
sizeof(AudioUnitParameter));
76 CAAUParameter & operator = (
const CAAUParameter &a);
79 Float32 GetValue()
const;
81 void SetValue( AUParameterListenerRef inListener,
83 Float32 inValue)
const;
86 CFStringRef GetName()
const {
return mParamName; }
90 CFStringRef GetStringFromValueCopy(
const Float32 *value = NULL)
const;
95 bool ValuesHaveStrings ()
const
97 return (mParamInfo.flags & kAudioUnitParameterFlag_ValuesHaveStrings) != 0;
101 Float32 GetValueFromString (CFStringRef str)
const;
105 const AudioUnitParameterInfo &
106 ParamInfo()
const {
return mParamInfo; }
109 CFStringRef GetParamTag()
const {
return mParamTag; }
114 CFStringRef GetParamName (
int inIndex)
const
117 return (mNamedParams && inIndex < mNumIndexedParams)
118 ? (CFStringRef) CFArrayGetValueAtIndex(mNamedParams, inIndex)
123 int GetNumIndexedParams ()
const {
return mNumIndexedParams; }
126 bool IsIndexedParam ()
const {
return mNumIndexedParams != 0; }
129 bool HasNamedParams ()
const {
return IsIndexedParam() && mNamedParams; }
132 bool GetClumpID (UInt32 &outClumpID)
const
134 if (mParamInfo.flags & kAudioUnitParameterFlag_HasClump) {
135 outClumpID = mParamInfo.clumpID;
142 bool HasDisplayTransformation ()
const
144 return GetAudioUnitParameterDisplayType (mParamInfo.flags);
148 bool IsExpert ()
const
150 return mParamInfo.flags & kAudioUnitParameterFlag_ExpertMode;
159 void Save (CFPropertyListRef &outData)
const;
161 static void Save (
const AudioUnitParameter &inParam, CFPropertyListRef &outData);
163 static OSStatus Restore (
const CFPropertyListRef inData, AudioUnitParameter &outParam);
168 AudioUnitParameterInfo mParamInfo;
170 CFStringRef mParamName;
172 CFStringRef mParamTag;
174 short mNumIndexedParams;
176 CFArrayRef mNamedParams;
179 void Init (AudioUnit au, AudioUnitParameterID param, AudioUnitScope scope, AudioUnitElement element);
185 #endif // __CAAUParameter_h__
bool TTFOUNDATION_EXPORT operator==(const TTObject &anObject, const TTObject &anotherObject)
Compare two objects for equality.