| @@ -471,7 +471,7 @@ public: | |||||
| DefineMasterBypassControlIndex (bypassControlIndex); | DefineMasterBypassControlIndex (bypassControlIndex); | ||||
| for (int i = 0; i < juceFilter->getNumParameters(); ++i) | for (int i = 0; i < juceFilter->getNumParameters(); ++i) | ||||
| AddControl (new JucePluginControl (juceFilter, i)); | |||||
| AddControl (new JucePluginControl (*juceFilter, i)); | |||||
| // we need to do this midi log-in to get timecode, regardless of whether | // we need to do this midi log-in to get timecode, regardless of whether | ||||
| // the plugin actually uses midi... | // the plugin actually uses midi... | ||||
| @@ -807,17 +807,17 @@ private: | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| JucePluginControl (AudioProcessor* const juceFilter_, const int index_) | |||||
| : juceFilter (juceFilter_), | |||||
| index (index_) | |||||
| JucePluginControl (AudioProcessor& p, const int i) | |||||
| : processor (p), index (i) | |||||
| { | { | ||||
| CPluginControl::SetValue (GetDefaultValue()); | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| OSType GetID() const { return index + 1; } | OSType GetID() const { return index + 1; } | ||||
| long GetDefaultValue() const { return floatToLong (juceFilter->getParameterDefaultValue (index)); } | |||||
| long GetDefaultValue() const { return floatToLong (processor.getParameterDefaultValue (index)); } | |||||
| void SetDefaultValue (long) {} | void SetDefaultValue (long) {} | ||||
| long GetNumSteps() const { return juceFilter->getParameterNumSteps (index); } | |||||
| long GetNumSteps() const { return processor.getParameterNumSteps (index); } | |||||
| long ConvertStringToValue (const char* valueString) const | long ConvertStringToValue (const char* valueString) const | ||||
| { | { | ||||
| @@ -829,16 +829,16 @@ private: | |||||
| void GetNameOfLength (char* name, int maxLength, OSType inControllerType) const | void GetNameOfLength (char* name, int maxLength, OSType inControllerType) const | ||||
| { | { | ||||
| // Pro-tools expects all your parameters to have valid names! | // Pro-tools expects all your parameters to have valid names! | ||||
| jassert (juceFilter->getParameterName (index, maxLength).isNotEmpty()); | |||||
| jassert (processor.getParameterName (index, maxLength).isNotEmpty()); | |||||
| juceFilter->getParameterName (index, maxLength).copyToUTF8 (name, (size_t) maxLength + 1); | |||||
| processor.getParameterName (index, maxLength).copyToUTF8 (name, (size_t) maxLength + 1); | |||||
| } | } | ||||
| long GetPriority() const { return kFicCooperativeTaskPriority; } | long GetPriority() const { return kFicCooperativeTaskPriority; } | ||||
| long GetOrientation() const | long GetOrientation() const | ||||
| { | { | ||||
| return juceFilter->isParameterOrientationInverted (index) | |||||
| return processor.isParameterOrientationInverted (index) | |||||
| ? kDAE_RightMinLeftMax | kDAE_TopMinBottomMax | kDAE_RotarySingleDotMode | kDAE_RotaryRightMinLeftMax | ? kDAE_RightMinLeftMax | kDAE_TopMinBottomMax | kDAE_RotarySingleDotMode | kDAE_RotaryRightMinLeftMax | ||||
| : kDAE_LeftMinRightMax | kDAE_BottomMinTopMax | kDAE_RotarySingleDotMode | kDAE_RotaryLeftMinRightMax; | : kDAE_LeftMinRightMax | kDAE_BottomMinTopMax | kDAE_RotarySingleDotMode | kDAE_RotaryLeftMinRightMax; | ||||
| } | } | ||||
| @@ -847,17 +847,17 @@ private: | |||||
| void GetValueString (char* valueString, int maxLength, long value) const | void GetValueString (char* valueString, int maxLength, long value) const | ||||
| { | { | ||||
| juceFilter->getParameterText (index, maxLength).copyToUTF8 (valueString, (size_t) maxLength + 1); | |||||
| processor.getParameterText (index, maxLength).copyToUTF8 (valueString, (size_t) maxLength + 1); | |||||
| } | } | ||||
| Cmn_Bool IsAutomatable() const | Cmn_Bool IsAutomatable() const | ||||
| { | { | ||||
| return juceFilter->isParameterAutomatable (index); | |||||
| return processor.isParameterAutomatable (index); | |||||
| } | } | ||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| AudioProcessor* const juceFilter; | |||||
| AudioProcessor& processor; | |||||
| const int index; | const int index; | ||||
| JUCE_DECLARE_NON_COPYABLE (JucePluginControl) | JUCE_DECLARE_NON_COPYABLE (JucePluginControl) | ||||