void IGraphics::SetParameterFromPlug(int paramIdx, double value, bool normalized) { if (!normalized) { IParam* pParam = mPlug->GetParam(paramIdx); value = pParam->GetNormalized(value); } int i, n = mControls.GetSize(); IControl** ppControl = mControls.GetList(); for (i = 0; i < n; ++i, ++ppControl) { IControl* pControl = *ppControl; if (pControl->ParamIdx() == paramIdx) { //WDL_MutexLock lock(&mMutex); pControl->SetValueFromPlug(value); // Could be more than one, don't break until we check them all. } // now look for any auxilliary parameters int auxParamIdx = pControl->AuxParamIdx(paramIdx); if (auxParamIdx > -1) // there are aux params { pControl->SetAuxParamValueFromPlug(auxParamIdx, value); } } }