public IDisposable BeginEditParameter(VstParameter parameter) { Throw.IfArgumentIsNull(parameter, "parameter"); if (host.HostCommandStub.BeginEdit(parameter.Index)) return new EditParameterScope(host, parameter.Index); return null; }
/// <summary> /// Fills the <paramref name="parameters"/> collection with all parameters. /// </summary> /// <param name="parameters">Must not be null.</param> /// <remarks>A <see cref="VstParameter"/> instance is created and linked up for each /// <see cref="VstParameterInfo"/> instance found in the <see cref="ParameterInfos"/> collection.</remarks> public void CreateParameters(VstParameterCollection parameters) { foreach (VstParameterInfo paramInfo in ParameterInfos) { if (Categories.Count > 0 && paramInfo.Category == null) { paramInfo.Category = Categories[0]; } var param = new VstParameter(paramInfo); parameters.Add(param); } }
/// <summary> /// Listens to changes made to parameter values from the host and sends those changes to /// MssParameters. /// </summary> /// <param name="sender">The VstParameter that changed.</param> private void VstParameter_Changed(object sender, PropertyChangedEventArgs e) { VstParameter changedParam = (VstParameter)sender; MssParameterID paramID; //Gets the MssParameterID associated with the changed parameter. VstParameterManagerDict.TryGetLeftByRight(out paramID, changedParam.Info.ParameterManager); if (this.parametersBeingModified.Contains(paramID) == false) { if (e.PropertyName == VstParameter.ValuePropertyName) { this.parametersBeingModified.Add(paramID); //Notifies MssParameters of the change. this.mssParameters.SetParameterRelativeValue(paramID, changedParam.Value); this.parametersBeingModified.Remove(paramID); } } }
/// <summary> /// Fills the <paramref name="parameters"/> collection with Parameters. /// </summary> /// <param name="parameters">Must not be null.</param> protected virtual void ReadParameters(VstParameterCollection parameters) { int count = ReadParameterHeader(parameters); for (int i = 0; i < count; i++) { string name = Reader.ReadString(); float value = Reader.ReadSingle(); if (parameters.Contains(name)) { VstParameter parameter = parameters[name]; parameter.Value = value; } else { OnParameterNotFound(parameters, name, value); } } }
// create one parameter private VstParameter CreateParameter(VstParameterInfo parameterInfo) { VstParameter parameter = new VstParameter(parameterInfo); return(parameter); }
// create one parameter private VstParameter CreateParameter(VstParameterInfo parameterInfo) { VstParameter parameter = new VstParameter(parameterInfo); return parameter; }
/// <summary> /// Writes the <paramref name="parameter"/> to the output stream. /// </summary> /// <param name="parameter">Must not be null.</param> protected virtual void Write(VstParameter parameter) { Writer.Write(parameter.Info.Name); Writer.Write(parameter.Value); }
public void NotifyParameterValueChanged(VstParameter parameter) { Throw.IfArgumentIsNull(parameter, "parameter"); host.HostCommandStub.SetParameterAutomated(parameter.Index, parameter.Value); }
public void NotifyParameterValueChanged(VstParameter parameter) { Throw.IfArgumentIsNull(parameter, nameof(parameter)); _commands.SetParameterAutomated(parameter.Index, parameter.Value); }
public void NotifyParameterValueChanged(VstParameter parameter) { Throw.IfArgumentIsNull(parameter, "parameter"); _host.HostCommandStub.SetParameterAutomated(parameter.Index, parameter.Value); }