void MLPluginProcessor::setDefaultParameters() { if (mEngine.getCompileStatus() == MLProc::OK) { // set default for each parameter. const unsigned numParams = getNumParameters(); for(unsigned i=0; i<numParams; ++i) { MLPublishedParamPtr paramPtr = getParameterPtr(i); MLSymbol paramType = paramPtr->getType(); if(paramType == "float") { float defaultVal = getParameterDefaultValue(i); setPropertyImmediate(getParameterAlias(i), defaultVal); } else if (paramType == "string") { // unimplemented } else if (paramType == "signal") { const MLProperty& p = getProperty(getParameterAlias(i)); if (p.getType() == MLProperty::kSignalProperty) { // TODO set up defaults for signal params once we are loading from JSON // right now we clear to zero MLSignal defaultSignal(p.getSignalValue()); defaultSignal.clear(); setPropertyImmediate(getParameterAlias(i), defaultSignal); } } } } }