| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

Loading...
Searching...
No Matches
AAX_CParameter.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019, 2021, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21
22#ifndef AAX_CPARAMETER_H
23#define AAX_CPARAMETER_H
24
25#include "AAX_Assert.h"
26#include "AAX_IParameter.h"
27#include "AAX_ITaperDelegate.h"
28#include "AAX_IDisplayDelegate.h"
29#include "AAX_IAutomationDelegate.h"
30#include "AAX_CString.h" //concrete class required for name.
31
32#include <cstring>
33#include <list>
34#include <map>
35
36
38#if 0
39#pragma mark -
40#endif
42
44
50 template <typename T>
51 class AAX_CParameterValue : public AAX_IParameterValue
52{
53 public:
54 enum Defaults {
55 eParameterDefaultMaxIdentifierSize = kAAX_ParameterIdentifierMaxSize,
56 eParameterDefaultMaxIdentifierLength = eParameterDefaultMaxIdentifierSize - 1 // NULL terminated
57 };
58
59 public:
60 AAX_DEFAULT_DTOR_OVERRIDE(AAX_CParameterValue);
61
62 AAX_DEFAULT_MOVE_CTOR(AAX_CParameterValue);
63 AAX_DEFAULT_MOVE_OPER(AAX_CParameterValue);
64
65 AAX_DELETE(AAX_CParameterValue& operator=(const AAX_CParameterValue&));
66
74 explicit AAX_CParameterValue(AAX_CParamID identifier);
75
83 explicit AAX_CParameterValue(AAX_CParamID identifier, const T& value);
84
87 explicit AAX_CParameterValue(const AAX_CParameterValue<T>& other);
88
89 public: // AAX_CParameterValue<T> implementation
92 const T& Get() const { return mValue; }
95 void Set(const T& inValue) { mValue = inValue; }
96
97 public: // AAX_IParameterValue implementation
98
99 AAX_IParameterValue* Clone() const AAX_OVERRIDE { return new AAX_CParameterValue<T>(*this); }
100 AAX_CParamID Identifier() const AAX_OVERRIDE { return mIdentifier; }
101
106 bool GetValueAsBool(bool* value) const AAX_OVERRIDE;
107 bool GetValueAsInt32(int32_t* value) const AAX_OVERRIDE;
108 bool GetValueAsFloat(float* value) const AAX_OVERRIDE;
109 bool GetValueAsDouble(double* value) const AAX_OVERRIDE;
110 bool GetValueAsString(AAX_IString* value) const AAX_OVERRIDE;
112
113 private:
114 void InitIdentifier(const char* inIdentifier);
115
116 private:
117 char mIdentifier[eParameterDefaultMaxIdentifierSize];
118 T mValue;
119};
120
121
123
124 template <typename T>
125 AAX_CParameterValue<T>::AAX_CParameterValue(AAX_CParamID identifier)
126: mValue()
127{
128 InitIdentifier(identifier);
129}
130
131 template <typename T>
132 AAX_CParameterValue<T>::AAX_CParameterValue(AAX_CParamID identifier, const T& value)
133: mValue(value)
134{
135 InitIdentifier(identifier);
136}
137
138 template <typename T>
139 AAX_CParameterValue<T>::AAX_CParameterValue(const AAX_CParameterValue<T>& other)
140: mValue(other.mValue)
141{
142 InitIdentifier(other.mIdentifier);
143}
144
145 template<typename T>
146 bool AAX_CParameterValue<T>::GetValueAsBool(bool* /*value*/) const
147{
148 return false;
149}
150 template <>
151 bool AAX_CParameterValue<bool>::GetValueAsBool(bool* value) const;
152
153
154 template<typename T>
155 bool AAX_CParameterValue<T>::GetValueAsInt32(int32_t* /*value*/) const
156{
157 return false;
158}
159 template<>
160 bool AAX_CParameterValue<int32_t>::GetValueAsInt32(int32_t* value) const;
161
162 template<typename T>
163 bool AAX_CParameterValue<T>::GetValueAsFloat(float* /*value*/) const
164{
165 return false;
166}
167 template<>
168 bool AAX_CParameterValue<float>::GetValueAsFloat(float* value) const;
169
170 template<typename T>
171 bool AAX_CParameterValue<T>::GetValueAsDouble(double* /*value*/) const
172{
173 return false;
174}
175 template<>
176 bool AAX_CParameterValue<double>::GetValueAsDouble(double* value) const;
177
178 template<typename T>
179 bool AAX_CParameterValue<T>::GetValueAsString(AAX_IString* /*value*/) const
180{
181 return false;
182}
183 template<>
184 bool AAX_CParameterValue<AAX_CString>::GetValueAsString(AAX_IString* value) const;
185
186 template<typename T>
187 void AAX_CParameterValue<T>::InitIdentifier(const char *inIdentifier)
188{
189
190 const size_t len = strlen(inIdentifier);
191 AAX_ASSERT(len < eParameterDefaultMaxIdentifierSize);
192 if (len < eParameterDefaultMaxIdentifierSize)
193 {
194 std::strncpy(mIdentifier, inIdentifier, 1+len);
195 mIdentifier[len] = 0;
196 }
197 else
198 {
199 std::strncpy(mIdentifier, inIdentifier, eParameterDefaultMaxIdentifierLength);
200 mIdentifier[eParameterDefaultMaxIdentifierLength] = 0;
201 }
202}
203
204
206#if 0
207#pragma mark -
208#endif
210
212
233 template <typename T>
234 class AAX_CParameter : public AAX_IParameter
235{
236 public:
237
238 enum Type {
239 eParameterTypeUndefined = 0,
240 eParameterTypeBool = 1,
241 eParameterTypeInt32 = 2,
242 eParameterTypeFloat = 3,
243 eParameterTypeCustom = 4
244 };
245
246 enum Defaults {
247 eParameterDefaultNumStepsDiscrete = 2,
248 eParameterDefaultNumStepsContinuous = 128
249 };
250
281 AAX_CParameter(AAX_CParamID identifier, const AAX_IString& name, T defaultValue, const AAX_ITaperDelegate<T>& taperDelegate, const AAX_IDisplayDelegate<T>& displayDelegate, bool automatable=false);
282
289 AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, T defaultValue, const AAX_ITaperDelegate<T>& taperDelegate, const AAX_IDisplayDelegate<T>& displayDelegate, bool automatable=false);
290
300 AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, T defaultValue, bool automatable=false);
301
312 AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, bool automatable=false);
313
315 AAX_DEFAULT_MOVE_CTOR(AAX_CParameter);
316 AAX_DEFAULT_MOVE_OPER(AAX_CParameter);
317
319 AAX_DELETE(AAX_CParameter());
320 AAX_DELETE(AAX_CParameter(const AAX_CParameter& other));
321 AAX_DELETE(AAX_CParameter& operator= (const AAX_CParameter& other));
322
327 ~AAX_CParameter() AAX_OVERRIDE;
328
329 AAX_IParameterValue* CloneValue() const AAX_OVERRIDE;
330
335 AAX_CParamID Identifier() const AAX_OVERRIDE;
336 void SetName(const AAX_CString& name) AAX_OVERRIDE;
337 const AAX_CString& Name() const AAX_OVERRIDE;
338 void AddShortenedName(const AAX_CString& name) AAX_OVERRIDE;
339 const AAX_CString& ShortenedName(int32_t iNumCharacters) const AAX_OVERRIDE;
340 void ClearShortenedNames() AAX_OVERRIDE;
342
347 void SetNormalizedDefaultValue(double normalizedDefault) AAX_OVERRIDE;
348 double GetNormalizedDefaultValue() const AAX_OVERRIDE;
349 void SetToDefaultValue() AAX_OVERRIDE;
350 void SetNormalizedValue(double newNormalizedValue) AAX_OVERRIDE;
351 double GetNormalizedValue() const AAX_OVERRIDE;
352 void SetNumberOfSteps(uint32_t numSteps) AAX_OVERRIDE;
353 uint32_t GetNumberOfSteps() const AAX_OVERRIDE;
354 uint32_t GetStepValue() const AAX_OVERRIDE;
355 double GetNormalizedValueFromStep(uint32_t iStep) const AAX_OVERRIDE;
356 uint32_t GetStepValueFromNormalizedValue(double normalizedValue) const AAX_OVERRIDE;
357 void SetStepValue(uint32_t iStep) AAX_OVERRIDE;
358 void SetType(AAX_EParameterType iControlType) AAX_OVERRIDE;
359 AAX_EParameterType GetType() const AAX_OVERRIDE;
360 void SetOrientation( AAX_EParameterOrientation iOrientation ) AAX_OVERRIDE;
361 AAX_EParameterOrientation GetOrientation() const AAX_OVERRIDE;
362 void SetTaperDelegate(AAX_ITaperDelegateBase& inTaperDelegate,bool inPreserveValue=true) AAX_OVERRIDE;
364
369 void SetDisplayDelegate(AAX_IDisplayDelegateBase& inDisplayDelegate) AAX_OVERRIDE;
370 bool GetValueString( AAX_CString* valueString) const AAX_OVERRIDE;
371 bool GetValueString(int32_t iMaxNumChars, AAX_CString* valueString) const AAX_OVERRIDE;
372 bool GetNormalizedValueFromBool(bool value, double *normalizedValue) const AAX_OVERRIDE;
373 bool GetNormalizedValueFromInt32(int32_t value, double *normalizedValue) const AAX_OVERRIDE;
374 bool GetNormalizedValueFromFloat(float value, double *normalizedValue) const AAX_OVERRIDE;
375 bool GetNormalizedValueFromDouble(double value, double *normalizedValue) const AAX_OVERRIDE;
376 bool GetNormalizedValueFromString(const AAX_CString& valueString, double *normalizedValue) const AAX_OVERRIDE;
377 bool GetBoolFromNormalizedValue(double normalizedValue, bool* value) const AAX_OVERRIDE;
378 bool GetInt32FromNormalizedValue(double normalizedValue, int32_t* value) const AAX_OVERRIDE;
379 bool GetFloatFromNormalizedValue(double normalizedValue, float* value) const AAX_OVERRIDE;
380 bool GetDoubleFromNormalizedValue(double normalizedValue, double* value) const AAX_OVERRIDE;
381 bool GetStringFromNormalizedValue(double normalizedValue, AAX_CString& valueString) const AAX_OVERRIDE;
382 bool GetStringFromNormalizedValue(double normalizedValue, int32_t iMaxNumChars, AAX_CString& valueString) const AAX_OVERRIDE;
383 bool SetValueFromString(const AAX_CString& newValueString) AAX_OVERRIDE;
385
390 void SetAutomationDelegate ( AAX_IAutomationDelegate * iAutomationDelegate ) AAX_OVERRIDE;
391 bool Automatable() const AAX_OVERRIDE;
392 void Touch() AAX_OVERRIDE;
393 void Release() AAX_OVERRIDE;
395
400 bool GetValueAsBool(bool* value) const AAX_OVERRIDE;
401 bool GetValueAsInt32(int32_t* value) const AAX_OVERRIDE;
402 bool GetValueAsFloat(float* value) const AAX_OVERRIDE;
403 bool GetValueAsDouble(double* value) const AAX_OVERRIDE;
404 bool GetValueAsString(AAX_IString* value) const AAX_OVERRIDE;
405 bool SetValueWithBool(bool value) AAX_OVERRIDE;
406 bool SetValueWithInt32(int32_t value) AAX_OVERRIDE;
407 bool SetValueWithFloat(float value) AAX_OVERRIDE;
408 bool SetValueWithDouble(double value) AAX_OVERRIDE;
409 bool SetValueWithString(const AAX_IString& value) AAX_OVERRIDE;
411
416 void UpdateNormalizedValue(double newNormalizedValue) AAX_OVERRIDE;
418
436 void SetValue(T newValue );
443 T GetValue() const;
452 void SetDefaultValue(T newDefaultValue);
459 T GetDefaultValue() const;
464 const AAX_ITaperDelegate<T>* TaperDelegate() const;
469 const AAX_IDisplayDelegate<T>* DisplayDelegate() const;
471
472protected:
473 AAX_CStringAbbreviations mNames;
474 bool mAutomatable;
475 uint32_t mNumSteps;
476 AAX_EParameterType mControlType;
477 AAX_EParameterOrientation mOrientation;
478 AAX_ITaperDelegate<T> * mTaperDelegate;
479 AAX_IDisplayDelegate<T> * mDisplayDelegate;
480 AAX_IAutomationDelegate * mAutomationDelegate;
481 bool mNeedNotify;
482
483 AAX_CParameterValue<T> mValue;
484 T mDefaultValue;
485
486private:
487 void InitializeNumberOfSteps();
488};
489
490
492
493template <typename T>
494 AAX_CParameter<T>::AAX_CParameter(AAX_CParamID identifier, const AAX_IString& name, T defaultValue, const AAX_ITaperDelegate<T>& taperDelegate, const AAX_IDisplayDelegate<T>& displayDelegate, bool automatable)
495: mNames(name)
496, mAutomatable(automatable)
497, mNumSteps(0) // Default set below for discrete/continuous
498, mControlType( AAX_eParameterType_Continuous )
499, mOrientation( AAX_eParameterOrientation_Default )
500, mTaperDelegate(taperDelegate.Clone())
501, mDisplayDelegate(displayDelegate.Clone())
502, mAutomationDelegate(0)
503, mNeedNotify(true)
504, mValue(identifier)
505, mDefaultValue(defaultValue)
506{
507 this->InitializeNumberOfSteps();
508 this->SetToDefaultValue();
509}
510
511 template <typename T>
512 AAX_CParameter<T>::AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, T defaultValue, const AAX_ITaperDelegate<T>& taperDelegate, const AAX_IDisplayDelegate<T>& displayDelegate, bool automatable)
513: mNames(name)
514, mAutomatable(automatable)
515, mNumSteps(0) // Default set below for discrete/continuous
516, mControlType( AAX_eParameterType_Continuous )
517, mOrientation( AAX_eParameterOrientation_Default )
518, mTaperDelegate(taperDelegate.Clone())
519, mDisplayDelegate(displayDelegate.Clone())
520, mAutomationDelegate(0)
521, mNeedNotify(true)
522, mValue(identifier.Get())
523, mDefaultValue(defaultValue)
524{
525 this->InitializeNumberOfSteps();
526 this->SetToDefaultValue();
527}
528
529 template <typename T>
530 AAX_CParameter<T>::AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, T defaultValue, bool automatable)
531: mNames(name)
532, mAutomatable(automatable)
533, mNumSteps(0)
534, mControlType( AAX_eParameterType_Continuous )
535, mOrientation( AAX_eParameterOrientation_Default )
536, mTaperDelegate(NULL)
537, mDisplayDelegate(NULL)
538, mAutomationDelegate(NULL)
539, mNeedNotify(true)
540, mValue(identifier)
541, mDefaultValue(defaultValue)
542{
543 this->InitializeNumberOfSteps();
544 this->SetToDefaultValue();
545}
546
547 template <typename T>
548 AAX_CParameter<T>::AAX_CParameter(const AAX_IString& identifier, const AAX_IString& name, bool automatable)
549: mNames(name)
550, mAutomatable(automatable)
551, mNumSteps(0)
552, mControlType( AAX_eParameterType_Continuous )
553, mOrientation( AAX_eParameterOrientation_Default )
554, mTaperDelegate(NULL)
555, mDisplayDelegate(NULL)
556, mAutomationDelegate(NULL)
557, mNeedNotify(true)
558, mValue(identifier)
559, mDefaultValue()
560{
561 this->InitializeNumberOfSteps();
562 this->SetToDefaultValue(); // WARNING: uninitialized default value
563}
564
565 template <typename T>
566 AAX_CParameter<T>::~AAX_CParameter()
567{
568 //Make sure to remove any registration with the token system.
569 SetAutomationDelegate(0);
570
571 delete mTaperDelegate;
572 mTaperDelegate = 0;
573 delete mDisplayDelegate;
574 mDisplayDelegate = 0;
575}
576
577 template <typename T>
578 AAX_IParameterValue* AAX_CParameter<T>::CloneValue() const
579{
580 return new AAX_CParameterValue<T>(mValue);
581}
582
583 template <typename T>
584 AAX_CParamID AAX_CParameter<T>::Identifier() const
585{
586 return mValue.Identifier();
587}
588
589 template <typename T>
590 void AAX_CParameter<T>::SetName(const AAX_CString& name)
591{
592 mNames.SetPrimary(name);
593 if (mAutomationDelegate) {
594 mAutomationDelegate->ParameterNameChanged(this->Identifier());
595 }
596}
597
598 template <typename T>
599 const AAX_CString& AAX_CParameter<T>::Name() const
600{
601 return mNames.Primary();
602}
603
604 template <typename T>
605 void AAX_CParameter<T>::AddShortenedName(const AAX_CString& name)
606{
607 mNames.Add(name);
608}
609
610 template <typename T>
611 const AAX_CString& AAX_CParameter<T>::ShortenedName(int32_t iNumCharacters) const
612{
613 return mNames.Get(iNumCharacters);
614}
615
616 template <typename T>
617 void AAX_CParameter<T>::ClearShortenedNames()
618{
619 mNames.Clear();
620}
621
622
623
624 template<typename T>
625 void AAX_CParameter<T>::SetValue( T newValue )
626{
627 double newNormalizedValue = mTaperDelegate->RealToNormalized(newValue);
628
629 // <DMT> Always go through the automation delegate even if the control isn't automatable to prevent fighting with other GUIs.
630 // Somewhere back in the automation delegate, or elsewhere in the system, it will determine the differences in behavior surrounding
631 // automation. The only reason that there wouldn't be an automation delegate is if this parameter has yet to be added to a
632 // ParameterManager. Let's put the null value guards in place, just in case, and also for unit tests.
633 if ( mAutomationDelegate )
634 {
635 //TODO: Create RAII utility class for touch/release
636
637 //Touch the control
638 Touch();
639
640 //Send that token.
641 mAutomationDelegate->PostSetValueRequest(Identifier(), newNormalizedValue );
642
643 //Release the control
644 Release();
645 }
646 else
647 {
648 mNeedNotify = true;
649
650 // In the rare case that an automation delegate doesn't exist, lets still set the value. It's possible that someone is trying to
651 // set the new value before adding the parameter to a parametermanager.
652 UpdateNormalizedValue(newNormalizedValue);
653 }
654}
655
656 template <typename T>
657 void AAX_CParameter<T>::UpdateNormalizedValue(double newNormalizedValue)
658{
659 T newValue = mTaperDelegate->NormalizedToReal(newNormalizedValue);
660 if (mNeedNotify || (mValue.Get() != newValue))
661 {
662 //Set the new value
663 mValue.Set(newValue);
664
665 //<DMT> Always notify that the value has changed through the automation delegate to guarantee that all control surfaces and other
666 // GUIs get their values updated.
667 if (mAutomationDelegate)
668 mAutomationDelegate->PostCurrentValue(Identifier(), newNormalizedValue);
669
670 // clear flag
671 mNeedNotify = false;
672 }
673}
674
675 template <typename T>
676 void AAX_CParameter<T>::InitializeNumberOfSteps()
677{
678 if (mNumSteps == 0) // If no explicit number of steps has been set...
679 {
680 switch (mControlType)
681 {
682 case AAX_eParameterType_Discrete:
683 {
684 // Discrete parameters default to binary unless
685 // otherwise specified
686 this->SetNumberOfSteps (eParameterDefaultNumStepsDiscrete);
687 break;
688 }
689 case AAX_eParameterType_Continuous:
690 {
691 // Defaulting to 128 steps to match one full rotation of
692 // Command|8 and similar surfaces, which query the num
693 // steps to determine tick values for rotary encoders
694 this->SetNumberOfSteps (eParameterDefaultNumStepsContinuous);
695 break;
696 }
697 default:
698 {
699 AAX_ASSERT (0); // Invalid type
700 break;
701 }
702 }
703 }
704}
705
706 template<typename T>
707T AAX_CParameter<T>::GetValue() const
708{
709 return mValue.Get();
710}
711
712
713 template<typename T>
714 bool AAX_CParameter<T>::GetValueAsBool(bool* value) const
715{
716 return mValue.GetValueAsBool(value);
717}
718
719 template<typename T>
720 bool AAX_CParameter<T>::GetValueAsInt32(int32_t* value) const
721{
722 return mValue.GetValueAsInt32(value);
723}
724
725 template<typename T>
726 bool AAX_CParameter<T>::GetValueAsFloat(float* value) const
727{
728 return mValue.GetValueAsFloat(value);
729}
730
731 template<typename T>
732 bool AAX_CParameter<T>::GetValueAsDouble(double* value) const
733{
734 return mValue.GetValueAsDouble(value);
735}
736
737 template<typename T>
738 bool AAX_CParameter<T>::GetValueAsString(AAX_IString* value) const
739{
740 bool result = false;
741 if (value)
742 {
743 AAX_CString valueString;
744 result = this->GetValueString(&valueString);
745 if (true == result)
746 {
747 *value = valueString;
748 }
749 }
750 return result;
751}
752
753 template<>
754 bool AAX_CParameter<AAX_CString>::GetValueAsString(AAX_IString* /*value*/) const;
755
756
757 template<typename T>
758 bool AAX_CParameter<T>::SetValueWithBool(bool /*value*/)
759{
760 return false;
761}
762 template<>
763 bool AAX_CParameter<bool>::SetValueWithBool(bool value);
764
765 template<typename T>
766 bool AAX_CParameter<T>::SetValueWithInt32(int32_t /*value*/)
767{
768 return false;
769}
770 template<>
771 bool AAX_CParameter<int32_t>::SetValueWithInt32(int32_t value);
772
773 template<typename T>
774 bool AAX_CParameter<T>::SetValueWithFloat(float /*value*/)
775{
776 return false;
777}
778 template<>
779 bool AAX_CParameter<float>::SetValueWithFloat(float value);
780
781 template<typename T>
782 bool AAX_CParameter<T>::SetValueWithDouble(double /*value*/)
783{
784 return false;
785}
786 template<>
787 bool AAX_CParameter<double>::SetValueWithDouble(double value);
788
789 template<typename T>
790 bool AAX_CParameter<T>::SetValueWithString(const AAX_IString& value)
791{
792 const AAX_CString valueString(value);
793 return this->SetValueFromString(valueString);
794}
795 template<>
796 bool AAX_CParameter<AAX_CString>::SetValueWithString(const AAX_IString& value);
797
798 template<typename T>
799 void AAX_CParameter<T>::SetNormalizedDefaultValue(double newNormalizedDefault)
800{
801 T newDefaultValue = mTaperDelegate->NormalizedToReal(newNormalizedDefault);
802 SetDefaultValue(newDefaultValue);
803}
804
805 template<typename T>
806 double AAX_CParameter<T>::GetNormalizedDefaultValue() const
807{
808 double normalizedDefault = mTaperDelegate->RealToNormalized(mDefaultValue);
809 return normalizedDefault;
810}
811
812 template<typename T>
813 void AAX_CParameter<T>::SetDefaultValue(T newDefaultValue)
814{
815 newDefaultValue = mTaperDelegate->ConstrainRealValue(newDefaultValue);
816 mDefaultValue = newDefaultValue;
817}
818
819 template<typename T>
820T AAX_CParameter<T>::GetDefaultValue() const
821{
822 return mDefaultValue;
823}
824
825 template<typename T>
826 void AAX_CParameter<T>::SetToDefaultValue()
827{
828 SetValue(mDefaultValue);
829}
830
831 template<typename T>
832 void AAX_CParameter<T>::SetNumberOfSteps(uint32_t numSteps)
833{
834 AAX_ASSERT(0 < numSteps);
835 if (0 < numSteps)
836 {
837 mNumSteps = numSteps;
838 }
839}
840
841 template<typename T>
842uint32_t AAX_CParameter<T>::GetNumberOfSteps() const
843{
844 return mNumSteps;
845}
846
847 template<typename T>
848uint32_t AAX_CParameter<T>::GetStepValue() const
849{
850 return GetStepValueFromNormalizedValue(this->GetNormalizedValue());
851}
852
853 template<typename T>
854 double AAX_CParameter<T>::GetNormalizedValueFromStep(uint32_t iStep) const
855{
856 double numSteps = (double) this->GetNumberOfSteps ();
857 if ( numSteps < 2.0 )
858 return 0.0;
859
860 double valuePerStep = 1.0 / ( numSteps - 1.0 );
861 double value = valuePerStep * (double) iStep;
862 if ( value < 0.0 )
863 value = 0.0;
864 else if ( value > 1.0 )
865 value = 1.0;
866
867 return value;
868}
869
870 template<typename T>
871uint32_t AAX_CParameter<T>::GetStepValueFromNormalizedValue(double normalizedValue) const
872{
873 double numSteps = (double) this->GetNumberOfSteps ();
874 if ( numSteps < 2.0 )
875 return 0;
876
877 double valuePerStep = 1.0 / ( numSteps - 1.0 );
878 double curStep = ( normalizedValue / valuePerStep ) + 0.5;
879 if ( curStep < 0.0 )
880 curStep = 0.0;
881 else if ( curStep > (double) ( numSteps - 1.0 ) )
882 curStep = (double) ( numSteps - 1.0 );
883
884 return (uint32_t) curStep;
885}
886
887 template<typename T>
888 void AAX_CParameter<T>::SetStepValue(uint32_t iStep)
889{
890 double numSteps = (double) this->GetNumberOfSteps ();
891 if ( numSteps < 2.0 )
892 return;
893
894 this->SetNormalizedValue ( GetNormalizedValueFromStep(iStep) );
895}
896
897 template<typename T>
898 void AAX_CParameter<T>::SetType(AAX_EParameterType iControlType)
899{
900 mControlType = iControlType;
901}
902
903 template<typename T>
904 AAX_EParameterType AAX_CParameter<T>::GetType() const
905{
906 return mControlType;
907}
908
909 template<typename T>
910 void AAX_CParameter<T>::SetOrientation(AAX_EParameterOrientation iOrientation)
911{
912 mOrientation = iOrientation;
913}
914
915 template<typename T>
916 AAX_EParameterOrientation AAX_CParameter<T>::GetOrientation() const
917{
918 return mOrientation;
919}
920
921 template<typename T>
922 void AAX_CParameter<T>::SetNormalizedValue(double normalizedNewValue)
923{
924 T newValue = mTaperDelegate->NormalizedToReal(normalizedNewValue);
925 this->SetValue(newValue);
926}
927
928 template<typename T>
929 double AAX_CParameter<T>::GetNormalizedValue() const
930{
931 T val = GetValue();
932 return mTaperDelegate->RealToNormalized(val);
933}
934
935
936 template<typename T>
937 bool AAX_CParameter<T>::GetValueString(AAX_CString* valueString) const
938{
939 return mDisplayDelegate->ValueToString(this->GetValue(), valueString);
940}
941
942 template<typename T>
943 bool AAX_CParameter<T>::GetValueString(int32_t /*iMaxNumChars*/, AAX_CString* valueString) const
944{
945 return mDisplayDelegate->ValueToString(this->GetValue(), valueString);
946}
947
948 template <typename T>
949 bool AAX_CParameter<T>::GetNormalizedValueFromBool(bool /*value*/, double * /*normalizedValue*/) const
950{
951 return false;
952}
953 template <>
954 bool AAX_CParameter<bool>::GetNormalizedValueFromBool(bool value, double *normalizedValue) const;
955
956 template <typename T>
957 bool AAX_CParameter<T>::GetNormalizedValueFromInt32(int32_t /*value*/, double * /*normalizedValue*/) const
958{
959 return false;
960}
961 template <>
962 bool AAX_CParameter<int32_t>::GetNormalizedValueFromInt32(int32_t value, double *normalizedValue) const;
963
964 template <typename T>
965 bool AAX_CParameter<T>::GetNormalizedValueFromFloat(float /*value*/, double * /*normalizedValue*/) const
966{
967 return false;
968}
969 template <>
970 bool AAX_CParameter<float>::GetNormalizedValueFromFloat(float value, double *normalizedValue) const;
971
972 template <typename T>
973 bool AAX_CParameter<T>::GetNormalizedValueFromDouble(double /*value*/, double * /*normalizedValue*/) const
974{
975 return false;
976}
977 template <>
978 bool AAX_CParameter<double>::GetNormalizedValueFromDouble(double value, double *normalizedValue) const;
979
980 template <typename T>
981 bool AAX_CParameter<T>::GetNormalizedValueFromString(const AAX_CString& valueString, double *normalizedValue) const
982{
983 //First, convert the string to a value using the wrapped parameter's display delegate.
984 T value;
985 if (!mDisplayDelegate->StringToValue(valueString, &value))
986 return false;
987
988 //Then use the wrapped parameter's taper delegate to convert to a normalized representation.
989 //If the parameter is out of range, the normalizedValue will be clamped just to be safe.
990 *normalizedValue = mTaperDelegate->RealToNormalized(value);
991 return true;
992}
993
994 template<typename T>
995 bool AAX_CParameter<T>::GetBoolFromNormalizedValue(double /*inNormalizedValue*/, bool* /*value*/) const
996{
997 return false;
998}
999 template <>
1000 bool AAX_CParameter<bool>::GetBoolFromNormalizedValue(double inNormalizedValue, bool* value) const;
1001
1002
1003 template<typename T>
1004 bool AAX_CParameter<T>::GetInt32FromNormalizedValue(double /*inNormalizedValue*/, int32_t* /*value*/) const
1005{
1006 return false;
1007}
1008 template<>
1009 bool AAX_CParameter<int32_t>::GetInt32FromNormalizedValue(double inNormalizedValue, int32_t* value) const;
1010
1011 template<typename T>
1012 bool AAX_CParameter<T>::GetFloatFromNormalizedValue(double /*inNormalizedValue*/, float* /*value*/) const
1013{
1014 return false;
1015}
1016 template<>
1017 bool AAX_CParameter<float>::GetFloatFromNormalizedValue(double inNormalizedValue, float* value) const;
1018
1019 template<typename T>
1020 bool AAX_CParameter<T>::GetDoubleFromNormalizedValue(double /*inNormalizedValue*/, double* /*value*/) const
1021{
1022 return false;
1023}
1024 template<>
1025 bool AAX_CParameter<double>::GetDoubleFromNormalizedValue(double inNormalizedValue, double* value) const;
1026
1027 template <typename T>
1028 bool AAX_CParameter<T>::GetStringFromNormalizedValue(double normalizedValue, AAX_CString& valueString) const
1029{
1030 T value = mTaperDelegate->NormalizedToReal(normalizedValue);
1031 if (!mDisplayDelegate->ValueToString(value, &valueString))
1032 return false;
1033
1034 //If the parameter is out of range, we should probably return false, even though we clamped the normalizedValue already just to be safe.
1035 if ((value > mTaperDelegate->GetMaximumValue()) || (value < mTaperDelegate->GetMinimumValue()))
1036 return false;
1037 return true;
1038}
1039
1040 template <typename T>
1041 bool AAX_CParameter<T>::GetStringFromNormalizedValue(double normalizedValue, int32_t iMaxNumChars, AAX_CString& valueString) const
1042{
1043 T value = mTaperDelegate->NormalizedToReal(normalizedValue);
1044 if (!mDisplayDelegate->ValueToString(value, iMaxNumChars, &valueString))
1045 return false;
1046
1047 //If the parameter is out of range, we should probably return false, even though we clamped the normalizedValue already just to be safe.
1048 if ((value > mTaperDelegate->GetMaximumValue()) || (value < mTaperDelegate->GetMinimumValue()))
1049 return false;
1050 return true;
1051}
1052
1053 template<typename T>
1054 bool AAX_CParameter<T>::SetValueFromString(const AAX_CString& newValueString)
1055{
1056 T newValue;
1057 if (!mDisplayDelegate->StringToValue(newValueString, &newValue))
1058 return false;
1059 SetValue(newValue);
1060 return true;
1061}
1062
1063 template<typename T>
1064 void AAX_CParameter<T>::SetTaperDelegate(AAX_ITaperDelegateBase& inTaperDelegate,bool inPreserveValue)
1065{
1066 double normalizeValue = this->GetNormalizedValue ();
1067
1068 AAX_ITaperDelegate<T>* oldDelegate = mTaperDelegate;
1069 mTaperDelegate = ((AAX_ITaperDelegate<T> &) inTaperDelegate).Clone();
1070 delete oldDelegate;
1071
1072 mNeedNotify = true;
1073 if ( inPreserveValue )
1074 this->SetValue ( mValue.Get() );
1075 else this->UpdateNormalizedValue ( normalizeValue );
1076}
1077
1078 template<typename T>
1079 void AAX_CParameter<T>::SetDisplayDelegate(AAX_IDisplayDelegateBase& inDisplayDelegate)
1080{
1081 AAX_IDisplayDelegate<T>* oldDelegate = mDisplayDelegate;
1082 mDisplayDelegate = ((AAX_IDisplayDelegate<T> &)inDisplayDelegate).Clone();
1083 delete oldDelegate;
1084
1085 if (mAutomationDelegate != 0)
1086 mAutomationDelegate->PostCurrentValue(this->Identifier(), this->GetNormalizedValue()); //<DMT> Make sure GUIs are all notified of the change.
1087}
1088
1089 template<typename T>
1090 const AAX_ITaperDelegate<T>* AAX_CParameter<T>::TaperDelegate() const
1091{
1092 return mTaperDelegate;
1093}
1094
1095 template<typename T>
1096 const AAX_IDisplayDelegate<T>* AAX_CParameter<T>::DisplayDelegate() const
1097{
1098 return mDisplayDelegate;
1099}
1100
1101 template<typename T>
1102 bool AAX_CParameter<T>::Automatable() const
1103{
1104 return mAutomatable;
1105}
1106
1107 template<typename T>
1108 void AAX_CParameter<T>::SetAutomationDelegate ( AAX_IAutomationDelegate * iAutomationDelegate )
1109{
1110 //Remove the old automation delegate
1111 if ( mAutomationDelegate )
1112 {
1113 mAutomationDelegate->UnregisterParameter ( this->Identifier() );
1114 }
1115
1116 //Add the new automation delegate, wrapped by the versioning layer.
1117 mAutomationDelegate = iAutomationDelegate;
1118 if ( mAutomationDelegate )
1119 mAutomationDelegate->RegisterParameter ( this->Identifier() );
1120}
1121
1122 template<typename T>
1123 void AAX_CParameter<T>::Touch()
1124{
1125 //<DT> Always send the touch command, even if the control isn't automatable.
1126 if (mAutomationDelegate)
1127 mAutomationDelegate->PostTouchRequest( this->Identifier() );
1128}
1129
1130 template<typename T>
1131 void AAX_CParameter<T>::Release()
1132{
1133 //<DT> Always send the release command, even if the control isn't automatable.
1134 if (mAutomationDelegate)
1135 mAutomationDelegate->PostReleaseRequest( this->Identifier() );
1136}
1137
1138
1140#if 0
1141#pragma mark -
1142#pragma mark AAX_CStatelessParameter
1143#endif
1145
1152 class AAX_CStatelessParameter : public AAX_IParameter
1153{
1154 public:
1155 AAX_CStatelessParameter(AAX_CParamID identifier, const AAX_IString& name, const AAX_IString& inValueString)
1156 : mNames(name)
1157 , mID(identifier)
1158 , mAutomationDelegate(NULL)
1159 , mValueString(inValueString)
1160 {
1161 }
1162
1163 AAX_CStatelessParameter(const AAX_IString& identifier, const AAX_IString& name, const AAX_IString& inValueString)
1164 : mNames(name)
1165 , mID(identifier)
1166 , mAutomationDelegate(NULL)
1167 , mValueString(inValueString)
1168 {
1169 }
1170
1171 AAX_DEFAULT_DTOR_OVERRIDE(AAX_CStatelessParameter);
1172
1173 AAX_IParameterValue* CloneValue() const AAX_OVERRIDE { return NULL; }
1174
1179 AAX_CParamID Identifier() const AAX_OVERRIDE { return mID.CString(); }
1180 void SetName(const AAX_CString& name) AAX_OVERRIDE
1181 {
1182 mNames.SetPrimary(name);
1183 if (mAutomationDelegate) {
1184 mAutomationDelegate->ParameterNameChanged(this->Identifier());
1185 }
1186 }
1187 const AAX_CString& Name() const AAX_OVERRIDE { return mNames.Primary(); }
1188 void AddShortenedName(const AAX_CString& name) AAX_OVERRIDE { mNames.Add(name); }
1189 const AAX_CString& ShortenedName(int32_t iNumCharacters) const AAX_OVERRIDE { return mNames.Get(iNumCharacters); }
1190 void ClearShortenedNames() AAX_OVERRIDE { mNames.Clear(); }
1192
1197 bool Automatable() const AAX_OVERRIDE { return false; }
1198 void SetAutomationDelegate( AAX_IAutomationDelegate * iAutomationDelegate ) AAX_OVERRIDE
1199 {
1200 //Remove the old automation delegate
1201 if ( mAutomationDelegate )
1202 {
1203 mAutomationDelegate->UnregisterParameter ( this->Identifier() );
1204 }
1205
1206 //Add the new automation delegate, wrapped by the versioning layer.
1207 mAutomationDelegate = iAutomationDelegate;
1208 if ( mAutomationDelegate )
1209 mAutomationDelegate->RegisterParameter ( this->Identifier() );
1210 }
1211 void Touch() AAX_OVERRIDE { if (mAutomationDelegate) mAutomationDelegate->PostTouchRequest( this->Identifier() ); }
1212 void Release() AAX_OVERRIDE { if (mAutomationDelegate) mAutomationDelegate->PostReleaseRequest( this->Identifier() ); }
1214
1219 void SetNormalizedValue(double /*newNormalizedValue*/) AAX_OVERRIDE {}
1220 double GetNormalizedValue() const AAX_OVERRIDE { return 0.; }
1221 void SetNormalizedDefaultValue(double /*normalizedDefault*/) AAX_OVERRIDE {}
1222 double GetNormalizedDefaultValue() const AAX_OVERRIDE { return 0.; }
1223 void SetToDefaultValue() AAX_OVERRIDE {}
1224 void SetNumberOfSteps(uint32_t /*numSteps*/) AAX_OVERRIDE {}
1225 uint32_t GetNumberOfSteps() const AAX_OVERRIDE { return 1; }
1226 uint32_t GetStepValue() const AAX_OVERRIDE { return 0; }
1227 double GetNormalizedValueFromStep(uint32_t /*iStep*/) const AAX_OVERRIDE { return 0.; }
1228 uint32_t GetStepValueFromNormalizedValue(double /*normalizedValue*/) const AAX_OVERRIDE { return 0; }
1229 void SetStepValue(uint32_t /*iStep*/) AAX_OVERRIDE {}
1231
1238 bool GetValueString(AAX_CString* valueString) const AAX_OVERRIDE { if (valueString) *valueString = mValueString; return true; }
1239 bool GetValueString(int32_t /*iMaxNumChars*/, AAX_CString* valueString) const AAX_OVERRIDE { return this->GetValueString(valueString); }
1240 bool GetNormalizedValueFromBool(bool /*value*/, double* normalizedValue) const AAX_OVERRIDE { if (normalizedValue) { *normalizedValue = 0.; } return true; }
1241 bool GetNormalizedValueFromInt32(int32_t /*value*/, double* normalizedValue) const AAX_OVERRIDE { if (normalizedValue) { *normalizedValue = 0.; } return true; }
1242 bool GetNormalizedValueFromFloat(float /*value*/, double* normalizedValue) const AAX_OVERRIDE { if (normalizedValue) { *normalizedValue = 0.; } return true; }
1243 bool GetNormalizedValueFromDouble(double /*value*/, double* normalizedValue) const AAX_OVERRIDE { if (normalizedValue) { *normalizedValue = 0.; } return true; }
1244 bool GetNormalizedValueFromString(const AAX_CString& /*valueString*/, double* normalizedValue) const AAX_OVERRIDE { if (normalizedValue) { *normalizedValue = 0.; } return true; }
1245 bool GetBoolFromNormalizedValue(double /*normalizedValue*/, bool* value) const AAX_OVERRIDE { if (value) { *value = false; } return true; }
1246 bool GetInt32FromNormalizedValue(double /*normalizedValue*/, int32_t* /*value*/) const AAX_OVERRIDE { return false; }
1247 bool GetFloatFromNormalizedValue(double /*normalizedValue*/, float* /*value*/) const AAX_OVERRIDE { return false; }
1248 bool GetDoubleFromNormalizedValue(double /*normalizedValue*/, double* /*value*/) const AAX_OVERRIDE { return false; }
1249 bool GetStringFromNormalizedValue(double /*normalizedValue*/, AAX_CString& valueString) const AAX_OVERRIDE { valueString = mValueString; return true; }
1250 bool GetStringFromNormalizedValue(double normalizedValue, int32_t /*iMaxNumChars*/, AAX_CString& valueString) const AAX_OVERRIDE { return this->GetStringFromNormalizedValue(normalizedValue, valueString); }
1251 bool SetValueFromString(const AAX_CString& newValueString) AAX_OVERRIDE { mValueString = newValueString; return true; }
1253
1258 bool GetValueAsBool(bool* value) const AAX_OVERRIDE { if (value) { *value = false; } return true; }
1259 bool GetValueAsInt32(int32_t* /*value*/) const AAX_OVERRIDE { return false; }
1260 bool GetValueAsFloat(float* /*value*/) const AAX_OVERRIDE { return false; }
1261 bool GetValueAsDouble(double* /*value*/) const AAX_OVERRIDE { return false; }
1262 bool GetValueAsString(AAX_IString* /*value*/) const AAX_OVERRIDE { return false; }
1263 bool SetValueWithBool(bool /*value*/) AAX_OVERRIDE { return true; }
1264 bool SetValueWithInt32(int32_t /*value*/) AAX_OVERRIDE { return false; }
1265 bool SetValueWithFloat(float /*value*/) AAX_OVERRIDE { return false; }
1266 bool SetValueWithDouble(double /*value*/) AAX_OVERRIDE { return false; }
1267 bool SetValueWithString(const AAX_IString& value) AAX_OVERRIDE { mValueString = value; return true; }
1269
1270 void SetType( AAX_EParameterType /*iControlType*/ ) AAX_OVERRIDE {};
1271 AAX_EParameterType GetType() const AAX_OVERRIDE { return AAX_eParameterType_Discrete; }
1272
1273 void SetOrientation( AAX_EParameterOrientation /*iOrientation*/ ) AAX_OVERRIDE {}
1274 AAX_EParameterOrientation GetOrientation() const AAX_OVERRIDE { return AAX_eParameterOrientation_Default; }
1275
1276 void SetTaperDelegate ( AAX_ITaperDelegateBase & /*inTaperDelegate*/, bool /*inPreserveValue*/ ) AAX_OVERRIDE {};
1277 void SetDisplayDelegate ( AAX_IDisplayDelegateBase & /*inDisplayDelegate*/ ) AAX_OVERRIDE {};
1278
1283 void UpdateNormalizedValue(double /*newNormalizedValue*/) AAX_OVERRIDE {};
1285
1286 protected:
1287 AAX_CStringAbbreviations mNames;
1288 AAX_CString mID;
1289 AAX_IAutomationDelegate * mAutomationDelegate;
1290 AAX_CString mValueString;
1291};
1292
1293
1294
1295
1296#endif //AAX_CParameter_H
AAX_CString.h
A generic AAX string class with similar functionality to std::string.
AAX_EParameterType
AAX_EParameterType
FIC stuff that I can't include without DAE library dependence.
Definition: AAX_Enums.h:852
AAX_eParameterType_Discrete
@ AAX_eParameterType_Discrete
Definition: AAX_Enums.h:853
AAX_eParameterType_Continuous
@ AAX_eParameterType_Continuous
Definition: AAX_Enums.h:854
AAX_EParameterOrientation
int32_t AAX_EParameterOrientation
Typedef for a bitfield of AAX_EParameterOrientationBits values.
Definition: AAX_Enums.h:885
AAX_eParameterOrientation_Default
@ AAX_eParameterOrientation_Default
Definition: AAX_Enums.h:864
AAX_IDisplayDelegate.h
Defines the display behavior for a parameter.
AAX_ITaperDelegate.h
Defines the taper conversion behavior for a parameter.
AAX_IAutomationDelegate.h
Interface allowing an AAX plug-in to interact with the host's automation system.
AAX_CParamID
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:349
kAAX_ParameterIdentifierMaxSize
AAX_CONSTEXPR size_t kAAX_ParameterIdentifierMaxSize
Definition: AAX.h:364
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
AAX_Assert.h
Declarations for cross-platform AAX_ASSERT, AAX_TRACE and related facilities.
AAX_ASSERT
#define AAX_ASSERT(condition)
Asserts that a condition is true and logs an error if the condition is false.
Definition: AAX_Assert.h:268
AAX_IParameter.h
The base interface for all normalizable plug-in parameters.
AAX_CParameterValue
Concrete implementation of AAX_IParameterValue.
Definition: AAX_CParameter.h:52
AAX_CParameterValue::AAX_DEFAULT_MOVE_OPER
AAX_DEFAULT_MOVE_OPER(AAX_CParameterValue)
AAX_CParameterValue::GetValueAsInt32
bool GetValueAsInt32(int32_t *value) const AAX_OVERRIDE
Retrieves the parameter's value as an int32_t.
Definition: AAX_CParameter.h:155
AAX_CParameterValue::GetValueAsDouble
bool GetValueAsDouble(double *value) const AAX_OVERRIDE
Retrieves the parameter's value as a double.
Definition: AAX_CParameter.h:171
AAX_CParameterValue::GetValueAsString
bool GetValueAsString(AAX_IString *value) const AAX_OVERRIDE
Retrieves the parameter's value as a string.
Definition: AAX_CParameter.h:179
AAX_CParameterValue::Defaults
Defaults
Definition: AAX_CParameter.h:54
AAX_CParameterValue::eParameterDefaultMaxIdentifierLength
@ eParameterDefaultMaxIdentifierLength
Definition: AAX_CParameter.h:56
AAX_CParameterValue::eParameterDefaultMaxIdentifierSize
@ eParameterDefaultMaxIdentifierSize
Definition: AAX_CParameter.h:55
AAX_CParameterValue::Set
void Set(const T &inValue)
Direct access to the template instance's value.
Definition: AAX_CParameter.h:95
AAX_CParameterValue::GetValueAsBool
bool GetValueAsBool(bool *value) const AAX_OVERRIDE
Retrieves the parameter's value as a bool.
Definition: AAX_CParameter.h:146
AAX_CParameterValue::Clone
AAX_IParameterValue * Clone() const AAX_OVERRIDE
Clones the parameter object.
Definition: AAX_CParameter.h:99
AAX_CParameterValue::AAX_DEFAULT_DTOR_OVERRIDE
AAX_DEFAULT_DTOR_OVERRIDE(AAX_CParameterValue)
AAX_CParameterValue::GetValueAsFloat
bool GetValueAsFloat(float *value) const AAX_OVERRIDE
Retrieves the parameter's value as a float.
Definition: AAX_CParameter.h:163
AAX_CParameterValue::AAX_CParameterValue
AAX_CParameterValue(AAX_CParamID identifier)
Constructs an AAX_CParameterValue object.
Definition: AAX_CParameter.h:125
AAX_CParameterValue::AAX_DELETE
AAX_DELETE(AAX_CParameterValue &operator=(const AAX_CParameterValue &))
AAX_CParameterValue::Identifier
AAX_CParamID Identifier() const AAX_OVERRIDE
Returns the parameter's unique identifier.
Definition: AAX_CParameter.h:100
AAX_CParameterValue::AAX_DEFAULT_MOVE_CTOR
AAX_DEFAULT_MOVE_CTOR(AAX_CParameterValue)
AAX_CParameterValue::Get
const T & Get() const
Direct access to the template instance's value.
Definition: AAX_CParameter.h:92
AAX_CParameter
Generic implementation of an AAX_IParameter.
Definition: AAX_CParameter.h:235
AAX_CParameter::SetValueWithString
bool SetValueWithString(const AAX_IString &value) AAX_OVERRIDE
Sets the parameter's value as a string.
Definition: AAX_CParameter.h:790
AAX_CParameter::mValue
AAX_CParameterValue< T > mValue
Definition: AAX_CParameter.h:483
AAX_CParameter::Type
Type
Definition: AAX_CParameter.h:238
AAX_CParameter::eParameterTypeUndefined
@ eParameterTypeUndefined
Definition: AAX_CParameter.h:239
AAX_CParameter::eParameterTypeInt32
@ eParameterTypeInt32
Definition: AAX_CParameter.h:241
AAX_CParameter::eParameterTypeCustom
@ eParameterTypeCustom
Definition: AAX_CParameter.h:243
AAX_CParameter::eParameterTypeFloat
@ eParameterTypeFloat
Definition: AAX_CParameter.h:242
AAX_CParameter::eParameterTypeBool
@ eParameterTypeBool
Definition: AAX_CParameter.h:240
AAX_CParameter::GetBoolFromNormalizedValue
bool GetBoolFromNormalizedValue(double normalizedValue, bool *value) const AAX_OVERRIDE
Converts a normalized parameter value to a bool representing the corresponding real value.
Definition: AAX_CParameter.h:995
AAX_CParameter::GetType
AAX_EParameterType GetType() const AAX_OVERRIDE
Returns the type of this parameter as an AAX_EParameterType.
Definition: AAX_CParameter.h:904
AAX_CParameter::Name
const AAX_CString & Name() const AAX_OVERRIDE
Returns the parameter's display name.
Definition: AAX_CParameter.h:599
AAX_CParameter::mOrientation
AAX_EParameterOrientation mOrientation
Definition: AAX_CParameter.h:477
AAX_CParameter::mControlType
AAX_EParameterType mControlType
Definition: AAX_CParameter.h:476
AAX_CParameter::mNames
AAX_CStringAbbreviations mNames
Definition: AAX_CParameter.h:473
AAX_CParameter::AAX_DELETE
AAX_DELETE(AAX_CParameter())
AAX_CParameter::mDefaultValue
T mDefaultValue
Definition: AAX_CParameter.h:484
AAX_CParameter::SetValueWithBool
bool SetValueWithBool(bool value) AAX_OVERRIDE
Sets the parameter's value as a bool.
Definition: AAX_CParameter.h:758
AAX_CParameter::mAutomationDelegate
AAX_IAutomationDelegate * mAutomationDelegate
Definition: AAX_CParameter.h:480
AAX_CParameter::AAX_CParameter
AAX_CParameter(AAX_CParamID identifier, const AAX_IString &name, T defaultValue, const AAX_ITaperDelegate< T > &taperDelegate, const AAX_IDisplayDelegate< T > &displayDelegate, bool automatable=false)
Constructs an AAX_CParameter object using the specified taper and display delegates.
Definition: AAX_CParameter.h:494
AAX_CParameter::ShortenedName
const AAX_CString & ShortenedName(int32_t iNumCharacters) const AAX_OVERRIDE
Returns the parameter's shortened display name.
Definition: AAX_CParameter.h:611
AAX_CParameter::mNeedNotify
bool mNeedNotify
Definition: AAX_CParameter.h:481
AAX_CParameter::GetNormalizedValue
double GetNormalizedValue() const AAX_OVERRIDE
Returns the normalized representation of the parameter's current real value.
Definition: AAX_CParameter.h:929
AAX_CParameter::GetDefaultValue
T GetDefaultValue() const
Returns the parameter's default value.
Definition: AAX_CParameter.h:820
AAX_CParameter::GetNormalizedValueFromFloat
bool GetNormalizedValueFromFloat(float value, double *normalizedValue) const AAX_OVERRIDE
Converts a float to a normalized parameter value.
Definition: AAX_CParameter.h:965
AAX_CParameter::mNumSteps
uint32_t mNumSteps
Definition: AAX_CParameter.h:475
AAX_CParameter::GetValueAsFloat
bool GetValueAsFloat(float *value) const AAX_OVERRIDE
Retrieves the parameter's value as a float.
Definition: AAX_CParameter.h:726
AAX_CParameter::SetValue
void SetValue(T newValue)
Initiates a host request to set the parameter's value.
Definition: AAX_CParameter.h:625
AAX_CParameter::~AAX_CParameter
~AAX_CParameter() AAX_OVERRIDE
Virtual destructor used to delete all locally allocated pointers.
Definition: AAX_CParameter.h:566
AAX_CParameter::Release
void Release() AAX_OVERRIDE
Signals the automation system that a control has been released.
Definition: AAX_CParameter.h:1131
AAX_CParameter::AAX_DEFAULT_MOVE_CTOR
AAX_DEFAULT_MOVE_CTOR(AAX_CParameter)
AAX_CParameter::GetNormalizedValueFromBool
bool GetNormalizedValueFromBool(bool value, double *normalizedValue) const AAX_OVERRIDE
Converts a bool to a normalized parameter value.
Definition: AAX_CParameter.h:949
AAX_CParameter::DisplayDelegate
const AAX_IDisplayDelegate< T > * DisplayDelegate() const
Returns a reference to the parameter's display delegate.
Definition: AAX_CParameter.h:1096
AAX_CParameter::Defaults
Defaults
Definition: AAX_CParameter.h:246
AAX_CParameter::eParameterDefaultNumStepsDiscrete
@ eParameterDefaultNumStepsDiscrete
Definition: AAX_CParameter.h:247
AAX_CParameter::eParameterDefaultNumStepsContinuous
@ eParameterDefaultNumStepsContinuous
Definition: AAX_CParameter.h:248
AAX_CParameter::GetNormalizedValueFromInt32
bool GetNormalizedValueFromInt32(int32_t value, double *normalizedValue) const AAX_OVERRIDE
Converts an integer to a normalized parameter value.
Definition: AAX_CParameter.h:957
AAX_CParameter::GetValueAsBool
bool GetValueAsBool(bool *value) const AAX_OVERRIDE
Retrieves the parameter's value as a bool.
Definition: AAX_CParameter.h:714
AAX_CParameter::SetTaperDelegate
void SetTaperDelegate(AAX_ITaperDelegateBase &inTaperDelegate, bool inPreserveValue=true) AAX_OVERRIDE
Sets the parameter's taper delegate.
Definition: AAX_CParameter.h:1064
AAX_CParameter::SetValueWithDouble
bool SetValueWithDouble(double value) AAX_OVERRIDE
Sets the parameter's value as a double.
Definition: AAX_CParameter.h:782
AAX_CParameter::SetDisplayDelegate
void SetDisplayDelegate(AAX_IDisplayDelegateBase &inDisplayDelegate) AAX_OVERRIDE
Sets the parameter's display delegate.
Definition: AAX_CParameter.h:1079
AAX_CParameter::CloneValue
AAX_IParameterValue * CloneValue() const AAX_OVERRIDE
Clone the parameter's value to a new AAX_IParameterValue object.
Definition: AAX_CParameter.h:578
AAX_CParameter::GetValueAsString
bool GetValueAsString(AAX_IString *value) const AAX_OVERRIDE
Retrieves the parameter's value as a string.
Definition: AAX_CParameter.h:738
AAX_CParameter::GetNormalizedValueFromDouble
bool GetNormalizedValueFromDouble(double value, double *normalizedValue) const AAX_OVERRIDE
Converts a double to a normalized parameter value.
Definition: AAX_CParameter.h:973
AAX_CParameter::SetStepValue
void SetStepValue(uint32_t iStep) AAX_OVERRIDE
Returns the current step for the current value of the parameter.
Definition: AAX_CParameter.h:888
AAX_CParameter::GetValue
T GetValue() const
Returns the parameter's value.
Definition: AAX_CParameter.h:707
AAX_CParameter::GetOrientation
AAX_EParameterOrientation GetOrientation() const AAX_OVERRIDE
Returns the orientation of this parameter.
Definition: AAX_CParameter.h:916
AAX_CParameter::UpdateNormalizedValue
void UpdateNormalizedValue(double newNormalizedValue) AAX_OVERRIDE
Sets the parameter's state given a normalized value.
Definition: AAX_CParameter.h:657
AAX_CParameter::AAX_DEFAULT_MOVE_OPER
AAX_DEFAULT_MOVE_OPER(AAX_CParameter)
AAX_CParameter::SetName
void SetName(const AAX_CString &name) AAX_OVERRIDE
Sets the parameter's display name.
Definition: AAX_CParameter.h:590
AAX_CParameter::GetStepValue
uint32_t GetStepValue() const AAX_OVERRIDE
Returns the current step for the current value of the parameter.
Definition: AAX_CParameter.h:848
AAX_CParameter::GetNormalizedDefaultValue
double GetNormalizedDefaultValue() const AAX_OVERRIDE
Returns the normalized representation of the parameter's real default value.
Definition: AAX_CParameter.h:806
AAX_CParameter::SetOrientation
void SetOrientation(AAX_EParameterOrientation iOrientation) AAX_OVERRIDE
Sets the orientation of this parameter.
Definition: AAX_CParameter.h:910
AAX_CParameter::SetToDefaultValue
void SetToDefaultValue() AAX_OVERRIDE
Restores the state of this parameter to its default value.
Definition: AAX_CParameter.h:826
AAX_CParameter::AAX_DELETE
AAX_DELETE(AAX_CParameter(const AAX_CParameter &other))
AAX_CParameter::SetType
void SetType(AAX_EParameterType iControlType) AAX_OVERRIDE
Sets the type of this parameter.
Definition: AAX_CParameter.h:898
AAX_CParameter::SetNormalizedDefaultValue
void SetNormalizedDefaultValue(double normalizedDefault) AAX_OVERRIDE
Sets the parameter's default value using its normalized representation.
Definition: AAX_CParameter.h:799
AAX_CParameter::TaperDelegate
const AAX_ITaperDelegate< T > * TaperDelegate() const
Returns a reference to the parameter's taper delegate.
Definition: AAX_CParameter.h:1090
AAX_CParameter::GetNormalizedValueFromStep
double GetNormalizedValueFromStep(uint32_t iStep) const AAX_OVERRIDE
Returns the normalized value for a given step.
Definition: AAX_CParameter.h:854
AAX_CParameter::AddShortenedName
void AddShortenedName(const AAX_CString &name) AAX_OVERRIDE
Sets the parameter's shortened display name.
Definition: AAX_CParameter.h:605
AAX_CParameter::SetValueFromString
bool SetValueFromString(const AAX_CString &newValueString) AAX_OVERRIDE
Converts a string to a real parameter value and sets the parameter to this value.
Definition: AAX_CParameter.h:1054
AAX_CParameter::GetInt32FromNormalizedValue
bool GetInt32FromNormalizedValue(double normalizedValue, int32_t *value) const AAX_OVERRIDE
Converts a normalized parameter value to an integer representing the corresponding real value.
Definition: AAX_CParameter.h:1004
AAX_CParameter::GetDoubleFromNormalizedValue
bool GetDoubleFromNormalizedValue(double normalizedValue, double *value) const AAX_OVERRIDE
Converts a normalized parameter value to a double representing the corresponding real value.
Definition: AAX_CParameter.h:1020
AAX_CParameter::SetValueWithInt32
bool SetValueWithInt32(int32_t value) AAX_OVERRIDE
Sets the parameter's value as an int32_t.
Definition: AAX_CParameter.h:766
AAX_CParameter::ClearShortenedNames
void ClearShortenedNames() AAX_OVERRIDE
Clears the internal list of shortened display names.
Definition: AAX_CParameter.h:617
AAX_CParameter::mTaperDelegate
AAX_ITaperDelegate< T > * mTaperDelegate
Definition: AAX_CParameter.h:478
AAX_CParameter::SetValueWithFloat
bool SetValueWithFloat(float value) AAX_OVERRIDE
Sets the parameter's value as a float.
Definition: AAX_CParameter.h:774
AAX_CParameter::GetStepValueFromNormalizedValue
uint32_t GetStepValueFromNormalizedValue(double normalizedValue) const AAX_OVERRIDE
Returns the step value for a normalized value of the parameter.
Definition: AAX_CParameter.h:871
AAX_CParameter::SetNumberOfSteps
void SetNumberOfSteps(uint32_t numSteps) AAX_OVERRIDE
Sets the number of discrete steps for this parameter.
Definition: AAX_CParameter.h:832
AAX_CParameter::SetNormalizedValue
void SetNormalizedValue(double newNormalizedValue) AAX_OVERRIDE
Sets a parameter value using it's normalized representation.
Definition: AAX_CParameter.h:922
AAX_CParameter::SetAutomationDelegate
void SetAutomationDelegate(AAX_IAutomationDelegate *iAutomationDelegate) AAX_OVERRIDE
Sets the automation delegate (if one is required)
Definition: AAX_CParameter.h:1108
AAX_CParameter::AAX_DELETE
AAX_DELETE(AAX_CParameter &operator=(const AAX_CParameter &other))
AAX_CParameter::GetValueString
bool GetValueString(AAX_CString *valueString) const AAX_OVERRIDE
Serializes the parameter value into a string.
Definition: AAX_CParameter.h:937
AAX_CParameter::GetStringFromNormalizedValue
bool GetStringFromNormalizedValue(double normalizedValue, AAX_CString &valueString) const AAX_OVERRIDE
Converts a normalized parameter value to a string representing the corresponding real value.
Definition: AAX_CParameter.h:1028
AAX_CParameter::GetFloatFromNormalizedValue
bool GetFloatFromNormalizedValue(double normalizedValue, float *value) const AAX_OVERRIDE
Converts a normalized parameter value to a float representing the corresponding real value.
Definition: AAX_CParameter.h:1012
AAX_CParameter::GetValueAsDouble
bool GetValueAsDouble(double *value) const AAX_OVERRIDE
Retrieves the parameter's value as a double.
Definition: AAX_CParameter.h:732
AAX_CParameter::Automatable
bool Automatable() const AAX_OVERRIDE
Returns true if the parameter is automatable, false if it is not.
Definition: AAX_CParameter.h:1102
AAX_CParameter::Identifier
AAX_CParamID Identifier() const AAX_OVERRIDE
Returns the parameter's unique identifier.
Definition: AAX_CParameter.h:584
AAX_CParameter::GetNormalizedValueFromString
bool GetNormalizedValueFromString(const AAX_CString &valueString, double *normalizedValue) const AAX_OVERRIDE
Converts a given string to a normalized parameter value.
Definition: AAX_CParameter.h:981
AAX_CParameter::mDisplayDelegate
AAX_IDisplayDelegate< T > * mDisplayDelegate
Definition: AAX_CParameter.h:479
AAX_CParameter::SetDefaultValue
void SetDefaultValue(T newDefaultValue)
Set the parameter's default value.
Definition: AAX_CParameter.h:813
AAX_CParameter::mAutomatable
bool mAutomatable
Definition: AAX_CParameter.h:474
AAX_CParameter::GetValueAsInt32
bool GetValueAsInt32(int32_t *value) const AAX_OVERRIDE
Retrieves the parameter's value as an int32_t.
Definition: AAX_CParameter.h:720
AAX_CParameter::Touch
void Touch() AAX_OVERRIDE
Signals the automation system that a control has been touched.
Definition: AAX_CParameter.h:1123
AAX_CParameter::GetNumberOfSteps
uint32_t GetNumberOfSteps() const AAX_OVERRIDE
Returns the number of discrete steps used by the parameter.
Definition: AAX_CParameter.h:842
AAX_CStatelessParameter
A stateless parameter implementation.
Definition: AAX_CParameter.h:1153
AAX_CStatelessParameter::SetValueWithDouble
bool SetValueWithDouble(double) AAX_OVERRIDE
Sets the parameter's value as a double.
Definition: AAX_CParameter.h:1266
AAX_CStatelessParameter::GetStepValueFromNormalizedValue
uint32_t GetStepValueFromNormalizedValue(double) const AAX_OVERRIDE
Returns the step value for a normalized value of the parameter.
Definition: AAX_CParameter.h:1228
AAX_CStatelessParameter::GetValueAsInt32
bool GetValueAsInt32(int32_t *) const AAX_OVERRIDE
Retrieves the parameter's value as an int32_t.
Definition: AAX_CParameter.h:1259
AAX_CStatelessParameter::ClearShortenedNames
void ClearShortenedNames() AAX_OVERRIDE
Clears the internal list of shortened display names.
Definition: AAX_CParameter.h:1190
AAX_CStatelessParameter::GetNormalizedDefaultValue
double GetNormalizedDefaultValue() const AAX_OVERRIDE
Returns the normalized representation of the parameter's real default value.
Definition: AAX_CParameter.h:1222
AAX_CStatelessParameter::GetStringFromNormalizedValue
bool GetStringFromNormalizedValue(double, AAX_CString &valueString) const AAX_OVERRIDE
Converts a normalized parameter value to a string representing the corresponding real value.
Definition: AAX_CParameter.h:1249
AAX_CStatelessParameter::GetNormalizedValue
double GetNormalizedValue() const AAX_OVERRIDE
Returns the normalized representation of the parameter's current real value.
Definition: AAX_CParameter.h:1220
AAX_CStatelessParameter::GetNormalizedValueFromStep
double GetNormalizedValueFromStep(uint32_t) const AAX_OVERRIDE
Returns the normalized value for a given step.
Definition: AAX_CParameter.h:1227
AAX_CStatelessParameter::SetTaperDelegate
void SetTaperDelegate(AAX_ITaperDelegateBase &, bool) AAX_OVERRIDE
Sets the parameter's taper delegate.
Definition: AAX_CParameter.h:1276
AAX_CStatelessParameter::GetBoolFromNormalizedValue
bool GetBoolFromNormalizedValue(double, bool *value) const AAX_OVERRIDE
Converts a normalized parameter value to a bool representing the corresponding real value.
Definition: AAX_CParameter.h:1245
AAX_CStatelessParameter::AddShortenedName
void AddShortenedName(const AAX_CString &name) AAX_OVERRIDE
Sets the parameter's shortened display name.
Definition: AAX_CParameter.h:1188
AAX_CStatelessParameter::GetValueString
bool GetValueString(int32_t, AAX_CString *valueString) const AAX_OVERRIDE
Serializes the parameter value into a string, size hint included.
Definition: AAX_CParameter.h:1239
AAX_CStatelessParameter::GetStepValue
uint32_t GetStepValue() const AAX_OVERRIDE
Returns the current step for the current value of the parameter.
Definition: AAX_CParameter.h:1226
AAX_CStatelessParameter::GetInt32FromNormalizedValue
bool GetInt32FromNormalizedValue(double, int32_t *) const AAX_OVERRIDE
Converts a normalized parameter value to an integer representing the corresponding real value.
Definition: AAX_CParameter.h:1246
AAX_CStatelessParameter::mNames
AAX_CStringAbbreviations mNames
Definition: AAX_CParameter.h:1287
AAX_CStatelessParameter::GetType
AAX_EParameterType GetType() const AAX_OVERRIDE
Returns the type of this parameter as an AAX_EParameterType.
Definition: AAX_CParameter.h:1271
AAX_CStatelessParameter::GetNormalizedValueFromBool
bool GetNormalizedValueFromBool(bool, double *normalizedValue) const AAX_OVERRIDE
Converts a bool to a normalized parameter value.
Definition: AAX_CParameter.h:1240
AAX_CStatelessParameter::UpdateNormalizedValue
void UpdateNormalizedValue(double) AAX_OVERRIDE
Sets the parameter's state given a normalized value.
Definition: AAX_CParameter.h:1283
AAX_CStatelessParameter::SetNumberOfSteps
void SetNumberOfSteps(uint32_t) AAX_OVERRIDE
Sets the number of discrete steps for this parameter.
Definition: AAX_CParameter.h:1224
AAX_CStatelessParameter::SetDisplayDelegate
void SetDisplayDelegate(AAX_IDisplayDelegateBase &) AAX_OVERRIDE
Sets the parameter's display delegate.
Definition: AAX_CParameter.h:1277
AAX_CStatelessParameter::GetOrientation
AAX_EParameterOrientation GetOrientation() const AAX_OVERRIDE
Returns the orientation of this parameter.
Definition: AAX_CParameter.h:1274
AAX_CStatelessParameter::GetNormalizedValueFromInt32
bool GetNormalizedValueFromInt32(int32_t, double *normalizedValue) const AAX_OVERRIDE
Converts an integer to a normalized parameter value.
Definition: AAX_CParameter.h:1241
AAX_CStatelessParameter::Release
void Release() AAX_OVERRIDE
Signals the automation system that a control has been released.
Definition: AAX_CParameter.h:1212
AAX_CStatelessParameter::SetValueWithString
bool SetValueWithString(const AAX_IString &value) AAX_OVERRIDE
Sets the parameter's value as a string.
Definition: AAX_CParameter.h:1267
AAX_CStatelessParameter::AAX_CStatelessParameter
AAX_CStatelessParameter(const AAX_IString &identifier, const AAX_IString &name, const AAX_IString &inValueString)
Definition: AAX_CParameter.h:1163
AAX_CStatelessParameter::GetNormalizedValueFromString
bool GetNormalizedValueFromString(const AAX_CString &, double *normalizedValue) const AAX_OVERRIDE
Converts a given string to a normalized parameter value.
Definition: AAX_CParameter.h:1244
AAX_CStatelessParameter::GetValueAsFloat
bool GetValueAsFloat(float *) const AAX_OVERRIDE
Retrieves the parameter's value as a float.
Definition: AAX_CParameter.h:1260
AAX_CStatelessParameter::GetStringFromNormalizedValue
bool GetStringFromNormalizedValue(double normalizedValue, int32_t, AAX_CString &valueString) const AAX_OVERRIDE
Converts a normalized parameter value to a string representing the corresponding real,...
Definition: AAX_CParameter.h:1250
AAX_CStatelessParameter::Name
const AAX_CString & Name() const AAX_OVERRIDE
Returns the parameter's display name.
Definition: AAX_CParameter.h:1187
AAX_CStatelessParameter::Touch
void Touch() AAX_OVERRIDE
Signals the automation system that a control has been touched.
Definition: AAX_CParameter.h:1211
AAX_CStatelessParameter::SetNormalizedValue
void SetNormalizedValue(double) AAX_OVERRIDE
Sets a parameter value using it's normalized representation.
Definition: AAX_CParameter.h:1219
AAX_CStatelessParameter::SetNormalizedDefaultValue
void SetNormalizedDefaultValue(double) AAX_OVERRIDE
Sets the parameter's default value using its normalized representation.
Definition: AAX_CParameter.h:1221
AAX_CStatelessParameter::SetToDefaultValue
void SetToDefaultValue() AAX_OVERRIDE
Restores the state of this parameter to its default value.
Definition: AAX_CParameter.h:1223
AAX_CStatelessParameter::Automatable
bool Automatable() const AAX_OVERRIDE
Returns true if the parameter is automatable, false if it is not.
Definition: AAX_CParameter.h:1197
AAX_CStatelessParameter::SetValueWithInt32
bool SetValueWithInt32(int32_t) AAX_OVERRIDE
Sets the parameter's value as an int32_t.
Definition: AAX_CParameter.h:1264
AAX_CStatelessParameter::Identifier
AAX_CParamID Identifier() const AAX_OVERRIDE
Returns the parameter's unique identifier.
Definition: AAX_CParameter.h:1179
AAX_CStatelessParameter::GetDoubleFromNormalizedValue
bool GetDoubleFromNormalizedValue(double, double *) const AAX_OVERRIDE
Converts a normalized parameter value to a double representing the corresponding real value.
Definition: AAX_CParameter.h:1248
AAX_CStatelessParameter::GetNormalizedValueFromFloat
bool GetNormalizedValueFromFloat(float, double *normalizedValue) const AAX_OVERRIDE
Converts a float to a normalized parameter value.
Definition: AAX_CParameter.h:1242
AAX_CStatelessParameter::SetValueWithBool
bool SetValueWithBool(bool) AAX_OVERRIDE
Sets the parameter's value as a bool.
Definition: AAX_CParameter.h:1263
AAX_CStatelessParameter::mID
AAX_CString mID
Definition: AAX_CParameter.h:1288
AAX_CStatelessParameter::AAX_CStatelessParameter
AAX_CStatelessParameter(AAX_CParamID identifier, const AAX_IString &name, const AAX_IString &inValueString)
Definition: AAX_CParameter.h:1155
AAX_CStatelessParameter::SetValueWithFloat
bool SetValueWithFloat(float) AAX_OVERRIDE
Sets the parameter's value as a float.
Definition: AAX_CParameter.h:1265
AAX_CStatelessParameter::SetValueFromString
bool SetValueFromString(const AAX_CString &newValueString) AAX_OVERRIDE
Converts a string to a real parameter value and sets the parameter to this value.
Definition: AAX_CParameter.h:1251
AAX_CStatelessParameter::GetNormalizedValueFromDouble
bool GetNormalizedValueFromDouble(double, double *normalizedValue) const AAX_OVERRIDE
Converts a double to a normalized parameter value.
Definition: AAX_CParameter.h:1243
AAX_CStatelessParameter::GetValueAsString
bool GetValueAsString(AAX_IString *) const AAX_OVERRIDE
Retrieves the parameter's value as a string.
Definition: AAX_CParameter.h:1262
AAX_CStatelessParameter::SetAutomationDelegate
void SetAutomationDelegate(AAX_IAutomationDelegate *iAutomationDelegate) AAX_OVERRIDE
Sets the automation delegate (if one is required)
Definition: AAX_CParameter.h:1198
AAX_CStatelessParameter::GetValueString
bool GetValueString(AAX_CString *valueString) const AAX_OVERRIDE
Serializes the parameter value into a string.
Definition: AAX_CParameter.h:1238
AAX_CStatelessParameter::SetStepValue
void SetStepValue(uint32_t) AAX_OVERRIDE
Returns the current step for the current value of the parameter.
Definition: AAX_CParameter.h:1229
AAX_CStatelessParameter::SetType
void SetType(AAX_EParameterType) AAX_OVERRIDE
Sets the type of this parameter.
Definition: AAX_CParameter.h:1270
AAX_CStatelessParameter::mValueString
AAX_CString mValueString
Definition: AAX_CParameter.h:1290
AAX_CStatelessParameter::SetName
void SetName(const AAX_CString &name) AAX_OVERRIDE
Sets the parameter's display name.
Definition: AAX_CParameter.h:1180
AAX_CStatelessParameter::GetFloatFromNormalizedValue
bool GetFloatFromNormalizedValue(double, float *) const AAX_OVERRIDE
Converts a normalized parameter value to a float representing the corresponding real value.
Definition: AAX_CParameter.h:1247
AAX_CStatelessParameter::ShortenedName
const AAX_CString & ShortenedName(int32_t iNumCharacters) const AAX_OVERRIDE
Returns the parameter's shortened display name.
Definition: AAX_CParameter.h:1189
AAX_CStatelessParameter::GetValueAsBool
bool GetValueAsBool(bool *value) const AAX_OVERRIDE
Retrieves the parameter's value as a bool.
Definition: AAX_CParameter.h:1258
AAX_CStatelessParameter::mAutomationDelegate
AAX_IAutomationDelegate * mAutomationDelegate
Definition: AAX_CParameter.h:1289
AAX_CStatelessParameter::AAX_DEFAULT_DTOR_OVERRIDE
AAX_DEFAULT_DTOR_OVERRIDE(AAX_CStatelessParameter)
AAX_CStatelessParameter::GetNumberOfSteps
uint32_t GetNumberOfSteps() const AAX_OVERRIDE
Returns the number of discrete steps used by the parameter.
Definition: AAX_CParameter.h:1225
AAX_CStatelessParameter::SetOrientation
void SetOrientation(AAX_EParameterOrientation) AAX_OVERRIDE
Sets the orientation of this parameter.
Definition: AAX_CParameter.h:1273
AAX_CStatelessParameter::CloneValue
AAX_IParameterValue * CloneValue() const AAX_OVERRIDE
Clone the parameter's value to a new AAX_IParameterValue object.
Definition: AAX_CParameter.h:1173
AAX_CStatelessParameter::GetValueAsDouble
bool GetValueAsDouble(double *) const AAX_OVERRIDE
Retrieves the parameter's value as a double.
Definition: AAX_CParameter.h:1261
AAX_CString
A generic AAX string class with similar functionality to std::string
Definition: AAX_CString.h:44
AAX_CString::CString
const char * CString() const
AAX_CString::Get
const char * Get() const AAX_OVERRIDE
AAX_CStringAbbreviations
Helper class to store a collection of name abbreviations.
Definition: AAX_CString.h:173
AAX_CStringAbbreviations::Clear
void Clear()
Definition: AAX_CString.h:207
AAX_CStringAbbreviations::Add
void Add(const AAX_CString &inAbbreviation)
Definition: AAX_CString.h:184
AAX_CStringAbbreviations::Primary
const AAX_CString & Primary() const
Definition: AAX_CString.h:182
AAX_CStringAbbreviations::Get
const AAX_CString & Get(int32_t inNumCharacters) const
Definition: AAX_CString.h:190
AAX_CStringAbbreviations::SetPrimary
void SetPrimary(const AAX_CString &inPrimary)
Definition: AAX_CString.h:181
AAX_IAutomationDelegate
Interface allowing an AAX plug-in to interact with the host's event system.
Definition: AAX_IAutomationDelegate.h:44
AAX_IAutomationDelegate::PostTouchRequest
virtual AAX_Result PostTouchRequest(AAX_CParamID iParameterID)=0
AAX_IAutomationDelegate::RegisterParameter
virtual AAX_Result RegisterParameter(AAX_CParamID iParameterID)=0
AAX_IAutomationDelegate::PostReleaseRequest
virtual AAX_Result PostReleaseRequest(AAX_CParamID iParameterID)=0
AAX_IAutomationDelegate::UnregisterParameter
virtual AAX_Result UnregisterParameter(AAX_CParamID iParameterID)=0
AAX_IAutomationDelegate::ParameterNameChanged
virtual AAX_Result ParameterNameChanged(AAX_CParamID iParameterID)=0
AAX_IDisplayDelegateBase
Defines the display behavior for a parameter.
Definition: AAX_IDisplayDelegate.h:50
AAX_IDisplayDelegate
Definition: AAX_IDisplayDelegate.h:66
AAX_IDisplayDelegate::Clone
virtual AAX_IDisplayDelegate * Clone() const =0
Constructs and returns a copy of the display delegate.
AAX_IParameterValue
An abstract interface representing a parameter value of arbitrary type.
Definition: AAX_IParameter.h:42
AAX_IParameter
The base interface for all normalizable plug-in parameters.
Definition: AAX_IParameter.h:137
AAX_IString
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38
AAX_ITaperDelegateBase
Defines the taper conversion behavior for a parameter.
Definition: AAX_ITaperDelegate.h:70
AAX_ITaperDelegate
Definition: AAX_ITaperDelegate.h:86
AAX_ITaperDelegate::Clone
virtual AAX_ITaperDelegate * Clone() const =0
Constructs and returns a copy of the taper delegate.