MLButton* MLPluginView::addToggleButton(const char * displayName, const MLRect & r, const char * paramName, const Colour& color, const float sizeMultiplier) { MLButton* b = MLAppView::addToggleButton(displayName, r, paramName, color, sizeMultiplier); MLPluginProcessor* const filter = getProcessor(); int idx = filter->getParameterIndex(paramName); if (idx >= 0) { MLPublishedParamPtr p = filter->getParameterPtr(idx); if (p) { b->setToggleValues(p->getRangeLo(), p->getRangeHi()); } } else { debug() << "MLPluginView::addToggleButton: parameter " << paramName << " not found!\n"; } return b; }
MLMultiSlider* MLPluginView::addMultiSlider(const char * displayName, const MLRect & r, const MLSymbol paramName, int numSliders, const Colour& color) { MLMultiSlider* dial = MLAppView::addMultiSlider(displayName, r, paramName, numSliders, color); MLPluginProcessor* const filter = getProcessor(); if(filter) { int paramIdx = filter->getParameterIndex(paramName.withFinalNumber(0)); if (paramIdx >= 0) { MLPublishedParamPtr p = filter->getParameterPtr(paramIdx); if (p) { dial->setRange(p->getRangeLo(), p->getRangeHi(), p->getInterval()); } } else { debug() << "MLPluginView::addMultiSlider: parameter " << paramName << " not found!\n"; } } return dial; }
MLDial* MLPluginView::addDial(const char * displayName, const MLRect & r, const MLSymbol paramName, const Colour& color) { MLDial* dial = MLAppView::addDial(displayName, r, paramName, color); // setup dial properties based on the filter parameter MLPluginProcessor* const filter = getProcessor(); int idx = filter->getParameterIndex(paramName); if (idx >= 0) { MLPublishedParamPtr p = filter->getParameterPtr(idx); if (p) { dial->setRange(p->getRangeLo(), p->getRangeHi(), p->getInterval(), p->getZeroThresh(), p->getWarpMode()); dial->setDoubleClickReturnValue(true, p->getDefault()); } } else { debug() << "MLPluginView::addDial: parameter " << paramName << " not found!\n"; } return dial; }