/// <summary> /// Called when any parameter managed by this instance has changed the <see cref="IActivatable.IsActive"/> property. /// </summary> /// <param name="parameter">Must not be null.</param> protected virtual void HandleParameterActivityChanged(VstParameter parameter) { if (parameter == ActiveParameter && !parameter.IsActive) { ActiveParameter = null; ChangeValue(ParameterInfo.NullValue); } if (ActiveParameter == null && parameter.IsActive) { ActiveParameter = parameter; ChangeValue(parameter.Value); } }
/// <summary> /// Called when any parameter managed by this instance has changed value. /// </summary> /// <param name="parameter">Must not be null.</param> protected virtual void HandleParameterValueChanged(VstParameter parameter) { if (parameter != ActiveParameter) return; ChangeValue(parameter.Value); }
/// <summary> /// Subscribes to the events of the <paramref name="parameter"/>. /// </summary> /// <param name="parameter">Must not be null.</param> public void SubscribeTo(VstParameter parameter) { Throw.IfArgumentIsNull(parameter, "parameter"); parameter.PropertyChanged += new PropertyChangedEventHandler(Parameter_PropertyChanged); }