private void InitializeParameters() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Gain", Label = "Db", ShortLabel = "Db", MinInteger = -100, MaxInteger = 100, LargeStepFloat = 20.0f, SmallStepFloat = 1.0f, StepFloat = 10.0f, DefaultValue = 0.0f }; GainMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }
private void InitializeParameters() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Transp."; paramInfo.Label = "Halfs"; paramInfo.ShortLabel = "#"; paramInfo.MinInteger = -100; paramInfo.MaxInteger = 100; paramInfo.LargeStepFloat = 5.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 2.0f; paramInfo.DefaultValue = 0.0f; TransposeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }
private void InitializeParameters() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Gain"; paramInfo.Label = "Db"; paramInfo.ShortLabel = "Db"; paramInfo.MinInteger = -100; paramInfo.MaxInteger = 100; paramInfo.LargeStepFloat = 20.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 10.0f; paramInfo.DefaultValue = 0.0f; _gainMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { // Параметр типа фильтра. FilterTypeManager = factory.CreateParameterManager( name: "TYPE", valueChangedHandler: SetFilterType); // Параметр множителя частоты среза фильтра. CutoffManager = factory.CreateParameterManager( name: "CUT", defaultValue: 1, valueChangedHandler: SetCutoffMultiplierTarget); cutoffMultiplierFilter = new ParameterFilter(UpdateCutoffMultiplier, 1, 10); // Параметр коэффициента отслеживания частоты играющей ноты. TrackingCoeffManager = factory.CreateParameterManager( name: "TRK", defaultValue: 1, valueChangedHandler: SetTrackingCoeff); // Параметр "ширины" фильтра. CurveManager = factory.CreateParameterManager( name: "CRV", defaultValue: 0.5f, valueChangedHandler: SetCurve); }
private void InitializeParameters(PluginParameters parameters) { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = parameters.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = parameters.GetParameterCategory(ParameterCategoryName); // delay time parameter var paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Transp.", Label = "Halfs", ShortLabel = "#", MinInteger = -100, MaxInteger = 100, LargeStepFloat = 5.0f, SmallStepFloat = 1.0f, StepFloat = 2.0f, DefaultValue = 0.0f }; TransposeMgr = paramInfo .Normalize() .ToManager(); parameterInfos.Add(paramInfo); }
private void InitializeParameters() { // all parameter definitions are added to a central list. var parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all delay parameters. var paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); // delay time parameter var paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Down/Up"; paramInfo.Label = "D/U"; paramInfo.ShortLabel = "D/U"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1; paramInfo.LargeStepFloat = 1.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 1.0f; paramInfo.DefaultValue = 1.0f; CascadeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }
public override void SetUpParameter(PropertyInfo property, SynthParameter param) { var catName = param.Category ?? "Default"; if (!(Categories.Contains(catName))) { Categories.Add(new VstParameterCategory() { Name = catName }); } var category = Categories[catName]; var paramInfo = new VstParameterInfo(); paramInfo.Category = category; paramInfo.CanBeAutomated = true; paramInfo.Name = param.Name; paramInfo.Label = property.Name; paramInfo.ShortLabel = param.ShortLabel; paramInfo.MinInteger = param.Lo; paramInfo.MaxInteger = param.Hi; paramInfo.DefaultValue = param.DefaultValue; VstParameterNormalizationInfo.AttachTo(paramInfo); var manager = new VstParameterManager(paramInfo); _managers.Add(manager); if (property.PropertyType == typeof(float) || property.PropertyType == typeof(double)) { manager.PropertyChanged += (object sender, PropertyChangedEventArgs e) => { if (e.PropertyName == "CurrentValue") { VstParameterManager paramMgr = (VstParameterManager)sender; property.SetValue(this, paramMgr.CurrentValue); OnPropertyChanged(property.Name); } } } ; else if (property.PropertyType == typeof(int)) { manager.PropertyChanged += (object sender, PropertyChangedEventArgs e) => { if (e.PropertyName == "CurrentValue") { VstParameterManager paramMgr = (VstParameterManager)sender; property.SetValue(this, (int)(paramMgr.CurrentValue + 0.5f)); OnPropertyChanged(property.Name); } } } ; else { throw new InvalidOperationException($"Parameter type {property.PropertyType} is not supported (yet?)"); } ParameterInfos.Add(paramInfo); }
private void DelayTimeMgr_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "CurrentValue") { VstParameterManager paramMgr = (VstParameterManager)sender; _bufferLength = (int)(paramMgr.CurrentValue * _sampleRate / 1000); } }
/// <summary> /// Event de changement de la propriété de temps du délai /// </summary> private void _delayTimeMgr_PropertyChanged(object sender, PropertyChangedEventArgs e) { // Recalcule la longueur du buffer si la valeur du paramètre a changé if (e.PropertyName == "CurrentValue") { VstParameterManager paramMgr = (VstParameterManager)sender; _bufferLength = (int)(paramMgr.CurrentValue * _sampleRate / 1000); } }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { // Параметр типа дилэя. ModeManager = factory.CreateParameterManager( name: "MODE", valueChangedHandler: SetMode); // Параметр времени задержки. TimeManager = factory.CreateParameterManager( name: "TIME", defaultValue: 0.8f, valueChangedHandler: SetTimeTarget); timeFilter = new ParameterFilter(UpdateTime, 0, 100); TimeManager.PropertyChanged += (sender, e) => { if (e.PropertyName == "ActiveParameter") { currentDelay?.Reset(); } }; // Параметр коэффициента обратной связи. FeedbackManager = factory.CreateParameterManager( name: "FB", defaultValue: 0.5f, valueChangedHandler: SetFeedback); // Параметр стерео-эффекта. StereoAmountManager = factory.CreateParameterManager( name: "STER", defaultValue: 0.5f, valueChangedHandler: SetStereoAmountTarget); stereoAmountFilter = new ParameterFilter(UpdateStereoAmount, 0, 100); // Параметр количества выходного и входного сигналов. MixManager = factory.CreateParameterManager( name: "MIX", defaultValue: 0.5f, valueChangedHandler: SetMixTarget); mixFilter = new ParameterFilter(UpdateMix, 0); // Параметр инвертирования выходного сигнала. InvertManager = factory.CreateParameterManager( name: "INV", valueChangedHandler: SetInvert); // Параметр частоты генератора низких частот. LfoRateManager = factory.CreateParameterManager( name: "RATE", valueChangedHandler: SetLfoRate); // Параметр амплитуды генератора низких частот. LfoDepthManager = factory.CreateParameterManager( name: "DEPTH", valueChangedHandler: SetLfoDepth); }
public PresetsManager(ApplicationBase creator) { this.creator = creator; thresholdParameterInfo = new VstParameterInfo { CanBeAutomated = true, CanRamp = true, DefaultValue = 0.125f, Label = "Threshold" }; var thresholdParamMgr = new VstParameterManager(thresholdParameterInfo); thresholdParamMgr.PropertyChanged += onThresholdChanged; }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { OversamplingOrderManager = factory.CreateParameterManager( name: "OVSMP", valueChangedHandler: SetOversamplingOrder); MasterVolumeManager = factory.CreateParameterManager( name: "VOL", defaultValue: 0.5f, valueChangedHandler: x => masterVolumeFilter.SetTarget(x)); masterVolumeFilter = new ParameterFilter(UpdateMasterVolume, 1); }
private void BindParameter(VstParameterManager paramMgr, Label label, TrackBar trackBar, Label shortLabel) { label.Text = paramMgr.ParameterInfo.Name; shortLabel.Text = paramMgr.ParameterInfo.ShortLabel; var factor = InitTrackBar(trackBar, paramMgr.ParameterInfo); var paramState = new ParameterControlState(paramMgr, factor); // use databinding for VstParameter/Manager changed notifications. trackBar.DataBindings.Add("Value", paramState, nameof(ParameterControlState.Value)); trackBar.ValueChanged += TrackBar_ValueChanged; trackBar.Tag = paramState; }
/// <summary> /// Listens to changes made to VstParameterManagers. This method is used to keep /// VstParameter_Changed up to date with the active parameter for each VstParameterManager. /// The active parameter can change when the user changes the program from the host. /// </summary> /// <param name="sender">The VstParameterManager that changed.</param> /// <param name="e">Specifies the type of change made to a VstParameterManager</param> private void VstParameterManager_PropertyChanged(object sender, PropertyChangedEventArgs e) { VstParameterManager paramMgr = (VstParameterManager)sender; if (e.PropertyName == VstParameterManager.ActiveParameterPropertyName) { if (paramMgr.ActiveParameter != null) { paramMgr.ActiveParameter.PropertyChanged += new PropertyChangedEventHandler(VstParameter_Changed); } } }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { PitchSemiManager = factory.CreateParameterManager( name: "SEMI", defaultValue: 0.5f, valueChangedHandler: SetPitchSemi); PitchFineManager = factory.CreateParameterManager( name: "FINE", defaultValue: 0.5f, valueChangedHandler: SetPitchFine); pitchMultiplierFilter = new ParameterFilter(UpdatePitchMultiplier, 0); WaveTableManager = factory.CreateParameterManager( name: "TYPE", defaultValue: 0, valueChangedHandler: SetWaveTable); }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { // Параметр длительности стадии атаки. AttackTimeManager = factory.CreateParameterManager( name: "AT", defaultValue: 0.001f, valueChangedHandler: SetAttackTime); // Параметр длительности стадии спада. DecayTimeManager = factory.CreateParameterManager( name: "DT", valueChangedHandler: SetDecayTime); // Параметр уровня стадии поддержки. SustainLevelManager = factory.CreateParameterManager( name: "SL", defaultValue: 1, valueChangedHandler: SetSustainLevel); // Параметр длительности стадии затухания. ReleaseTimeManager = factory.CreateParameterManager( name: "RT", defaultValue: 0.001f, valueChangedHandler: SetReleaseTime); // Параметр изгиба стадии атаки. AttackCurveManager = factory.CreateParameterManager( name: "AC", defaultValue: 1, valueChangedHandler: SetAttackCurve); // Параметр изгиба стадий спада и затухания. DecayReleaseCurveManager = factory.CreateParameterManager( name: "DRC", valueChangedHandler: SetDecayReleaseCurve); // Параметр амплитуды огибающей. EnvelopeAmplitudeManager = factory.CreateParameterManager( name: "AMP", defaultValue: 1f, valueChangedHandler: x => envelopeAmplitudeFilter.SetTarget(x)); envelopeAmplitudeFilter = new ParameterFilter(UpdateEnvelopeAmplitude, 1); }
/// <summary> /// Sets up a parameter that can be learned or mapped to. /// </summary> private void InitializeParameters() { _plugin.PluginPrograms.ParameterCategories = new VstParameterCategoryCollection(); _plugin.PluginPrograms.ParameterCategories.Add(new VstParameterCategory() { Name = "Transposer" }); // Create parameter information: VstParameterInfo p = new VstParameterInfo() { Name = "Trans", CanBeAutomated = false, // false for now. I don't know how to make the automatin respond to these changes. CanRamp = true, DefaultValue = 0.5f, IsSwitch = false, Category = _plugin.PluginPrograms.ParameterCategories[0], Label = "Transpose", LargeStepFloat = 1.0f, LargeStepInteger = 1, MaxInteger = 12, MinInteger = -12, ShortLabel = "semitone", // max 8 characters! StepFloat = 1.0f, StepInteger = 1, SmallStepFloat = 1 }; // ... // Create Parameter Managers: VstParameterNormalizationInfo.AttachTo(p); SemitonesManager = new VstParameterManager(p); // ... // Add ParameterInfos to the global collection in the plugin. _plugin.PluginPrograms.ParameterInfos = new VstParameterInfoCollection(); _plugin.PluginPrograms.ParameterInfos.Add(p); // ... }
/// <summary> /// Initialized VstParameterManagerDict by createing a VstParameterManager for each MSS /// parameter. /// </summary> protected void InitializeVstParams() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = this.pluginPrograms.ParameterInfos; //itterate over each MssParameterID foreach (MssParameterID paramId in MssParameterID.GetValues(typeof(MssParameterID))) { VstParameterInfo paramInfo = MssToVstParameterInfo(paramId); parameterInfos.Add(paramInfo); VstParameterManager paramMgr = new VstParameterManager(paramInfo); //Adds listener to changes made to a parameter from the host paramMgr.PropertyChanged += new PropertyChangedEventHandler(VstParameterManager_PropertyChanged); VstParameterManagerDict.Add(paramId, paramMgr); } }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { // Параметр типа дисторшна. ModeManager = factory.CreateParameterManager( name: "TYPE", valueChangedHandler: SetMode); // Параметр силы эффекта. AmountManager = factory.CreateParameterManager( name: "AMNT", defaultValue: 0.5f, valueChangedHandler: SetAmount); // Параметр постоянного амплитудного сдвига. AsymmetryManager = factory.CreateParameterManager( name: "ASYM", defaultValue: 0.5f, valueChangedHandler: SetAsymmetryTarget); asymmetryFilter = new ParameterFilter(UpdateAsymmetry, 0); // Параметр уровня громкости входного сигнала. AmpManager = factory.CreateParameterManager( name: "AMP", defaultValue: 0.25f, valueChangedHandler: SetAmpTarget); ampFilter = new ParameterFilter(UpdateAmp, 1); // Параметр частоты среза фильтра низких частот для входного сигнала. LowPassCutoffManager = factory.CreateParameterManager( name: "LP", defaultValue: 1, valueChangedHandler: SetLowPassCutoff); // Параметр количества выходного и входного сигналов. MixManager = factory.CreateParameterManager( name: "MIX", defaultValue: 0.5f, valueChangedHandler: x => mixFilter.SetTarget(x)); mixFilter = new ParameterFilter(UpdateMix, 0); }
/// <summary> /// Создаёт новый параметр и регистрирует его. /// </summary> /// <param name="name">Имя параметра.</param> /// <param name="defaultValue">Начальное значение.</param> /// <param name="valueChangedHandler">Обработчик изменения значения параметра.</param> /// <returns>Объект, управляющий созданным параметром.</returns> public VstParameterManager CreateParameterManager( string name = null, float defaultValue = 0, Action <float> valueChangedHandler = null) { var parameterInfo = new VstParameterInfo() { Category = parameterCategory, Name = namePrefix + name, DefaultValue = defaultValue, }; VstParameterNormalizationInfo.AttachTo(parameterInfo); programs.ParameterInfos.Add(parameterInfo); var manager = new VstParameterManager(parameterInfo); plugin.Opened += (sender, e) => { manager.HostAutomation = plugin.Host.GetInstance <IVstHostAutomation>(); }; if (valueChangedHandler != null) { manager.PropertyChanged += (sender, e) => { if (e.PropertyName == "CurrentValue" || e.PropertyName == "ActiveParameter") { plugin.AudioProcessor.ProcessingMutex.WaitOne(); valueChangedHandler(manager.CurrentValue); plugin.AudioProcessor.ProcessingMutex.ReleaseMutex(); } } } ; return(manager); } }
private void BindParameter(VstParameterManager paramMgr, Label label, TrackBar trackBar, Label shortLabel) { // NOTE: This code works best with integer parameter values. label.Text = paramMgr.ParameterInfo.Name; shortLabel.Text = paramMgr.ParameterInfo.ShortLabel; if (paramMgr.ParameterInfo.IsStepIntegerValid) { trackBar.LargeChange = paramMgr.ParameterInfo.LargeStepInteger; trackBar.SmallChange = paramMgr.ParameterInfo.StepInteger; } if (paramMgr.ParameterInfo.IsMinMaxIntegerValid) { trackBar.Minimum = paramMgr.ParameterInfo.MinInteger; trackBar.Maximum = paramMgr.ParameterInfo.MaxInteger; } // use databinding for VstParameter/Manager changed notifications. trackBar.DataBindings.Add("Value", paramMgr, "ActiveParameter.Value"); trackBar.ValueChanged += new System.EventHandler(TrackBar_ValueChanged); trackBar.Tag = paramMgr; }
/// <summary> /// Инициализирует параметры с помощью переданной фабрики параметров. /// </summary> /// <param name="factory">Фабрика параметров</param> protected override void InitializeParameters(ParameterFactory factory) { ModulationTypeManager = factory.CreateParameterManager( name: "_MT", valueChangedHandler: SetModulationType); }
private void InitializeParameters() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all melter parameters. VstParameterCategory paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); var paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Tap"; paramInfo.Label = "Tap"; paramInfo.ShortLabel = "|"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 2; paramInfo.LargeStepFloat = 1.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 1.0f; paramInfo.CanRamp = true; paramInfo.DefaultValue = 0f; InputTapMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "LeftGain"; paramInfo.Label = "LftGn"; paramInfo.ShortLabel = "%"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1; paramInfo.LargeStepFloat = 0.10f; paramInfo.SmallStepFloat = 0.03f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 1.0f; LeftVolumeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "RghtGain"; paramInfo.Label = "RghtGn"; paramInfo.ShortLabel = "%"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1; paramInfo.LargeStepFloat = 0.10f; paramInfo.SmallStepFloat = 0.03f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 1.0f; RightVolumeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Invert"; paramInfo.Label = "Invert"; paramInfo.ShortLabel = "!"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1; paramInfo.LargeStepFloat = 1f; paramInfo.SmallStepFloat = 1f; paramInfo.StepFloat = 1f; paramInfo.IsSwitch = true; paramInfo.DefaultValue = 0f; this.InverterMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Balance"; paramInfo.Label = "Balance"; paramInfo.ShortLabel = "Bal"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 240; paramInfo.LargeStepFloat = 10f; paramInfo.SmallStepFloat = 3f; paramInfo.StepFloat = 5f; paramInfo.DefaultValue = 120f; this.OutputBalanceMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }
// This method initializes the plugin parameters this Dsp component owns. private void InitializeParameters(PluginParameters parameters) { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = parameters.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = parameters.GetParameterCategory(ParameterCategoryName); // delay time parameter var paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Time", Label = "MilSecs", ShortLabel = "ms", MinInteger = 0, MaxInteger = 1000, LargeStepInteger = 100, StepInteger = 10, DefaultValue = 200f }; DelayTimeMgr = paramInfo .Normalize() .ToManager(); parameterInfos.Add(paramInfo); // feedback parameter paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Feedbck", Label = "Factor", ShortLabel = "*", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.4f }; FeedbackMgr = paramInfo .Normalize() .ToManager(); parameterInfos.Add(paramInfo); // dry Level parameter paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Dry Lvl", Label = "Decibel", ShortLabel = "Db", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.8f }; DryLevelMgr = paramInfo .Normalize() .ToManager(); parameterInfos.Add(paramInfo); // wet Level parameter paramInfo = new VstParameterInfo { Category = paramCategory, CanBeAutomated = true, Name = "Wet Lvl", Label = "Decibel", ShortLabel = "Db", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.4f }; WetLevelMgr = paramInfo .Normalize() .ToManager(); parameterInfos.Add(paramInfo); }
/// <summary> /// Initialized VstParameterManagerDict by createing a VstParameterManager for each MSS /// parameter. /// </summary> protected void InitializeVstParams() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = this.pluginPrograms.ParameterInfos; //itterate over each MssParameterID foreach(MssParameterID paramId in MssParameterID.GetValues(typeof(MssParameterID))) { VstParameterInfo paramInfo = MssToVstParameterInfo(paramId); parameterInfos.Add(paramInfo); VstParameterManager paramMgr = new VstParameterManager(paramInfo); //Adds listener to changes made to a parameter from the host paramMgr.PropertyChanged += new PropertyChangedEventHandler(VstParameterManager_PropertyChanged); VstParameterManagerDict.Add(paramId, paramMgr); } }
public PressorParameters() { Parameters = new VstParameterInfoCollection(); #region params var threshInfo = new VstParameterInfo { CanBeAutomated = true, Name = "Thrshld", Label = "Threshold", ShortLabel = "-db", MinInteger = 0, MaxInteger = 60, SmallStepFloat = 0.1f, StepFloat = 1f, LargeStepFloat = 3f, DefaultValue = 12, }; Parameters.Add(threshInfo); var ratInfo = new VstParameterInfo { CanBeAutomated = true, Name = "Ratio", Label = "Ratio", ShortLabel = ": 1", MinInteger = 1, MaxInteger = 60, StepInteger = 1, LargeStepInteger = 3, DefaultValue = 4f, }; Parameters.Add(ratInfo); var attInfo = new VstParameterInfo { CanBeAutomated = true, Name = "Attack", Label = "Attack", ShortLabel = "ms", MinInteger = 1, MaxInteger = 1000, StepInteger = 1, LargeStepInteger = 10, DefaultValue = 50f, }; Parameters.Add(attInfo); var relInfo = new VstParameterInfo { CanBeAutomated = true, CanRamp = true, Name = "Release", Label = "Release", ShortLabel = "ms", MinInteger = 1, MaxInteger = 1000, StepInteger = 1, LargeStepInteger = 10, DefaultValue = 50f, }; Parameters.Add(relInfo); var kneeInfo = new VstParameterInfo { CanBeAutomated = true, CanRamp = true, Name = "Knee", Label = "Knee", ShortLabel = "", MinInteger = 0, MaxInteger = 10, StepInteger = 1, LargeStepInteger = 1, DefaultValue = 0, }; Parameters.Add(kneeInfo); var mGainInfo = new VstParameterInfo { CanBeAutomated = true, CanRamp = true, Name = "MkGain", Label = "MakeUpGain", ShortLabel = "db", MinInteger = 0, MaxInteger = 60, StepInteger = 1, LargeStepInteger = 1, DefaultValue = 0, }; Parameters.Add(mGainInfo); #endregion _thresholdMgr = Parameters.ElementAt(0).Normalize().ToManager(); _ratioMgr = Parameters.ElementAt(1).Normalize().ToManager(); _attackMgr = Parameters.ElementAt(2).Normalize().ToManager(); _releaseMgr = Parameters.ElementAt(3).Normalize().ToManager(); _kneeMgr = Parameters.ElementAt(4).Normalize().ToManager(); _makeupMgr = Parameters.ElementAt(5).Normalize().ToManager(); SetUpInitialValues(); SetUpPropertyChangedEvents(); }
/// <summary> /// Constructeur /// </summary> public Delay() { // On instancie une nouvelle collection d'informations pour les paramètres du délai _paramInfos = new VstParameterInfoCollection(); #region Initialize Parameters // Paramètres du temps du délai VstParameterInfo paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "dt"; paramInfo.Label = "Delay Time"; paramInfo.ShortLabel = "T-Dly:"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1000; paramInfo.LargeStepFloat = 100.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 10.0f; paramInfo.DefaultValue = 200f; _delayTimeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // Paramètre de feedback du délai paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "fb"; paramInfo.Label = "Feedback"; paramInfo.ShortLabel = "Feedbk:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.2f; _feedbackMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // Paramètre de "dry" du délai (à quel niveau est le signal d'origine) paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "dl"; paramInfo.Label = "Dry Level"; paramInfo.ShortLabel = "DryLvl:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.8f; _dryLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // Paramètre de "wet" du délai (à quel niveau est le signal traité) paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "wl"; paramInfo.Label = "Wet Level"; paramInfo.ShortLabel = "WetLvl:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.4f; _wetLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); #endregion // On s'abonne à l'event de changement de la propriété de temps du délai _delayTimeMgr.PropertyChanged += new PropertyChangedEventHandler(_delayTimeMgr_PropertyChanged); }
/// <summary> /// Constructs a new instance. /// </summary> public Delay() { _paramInfos = new VstParameterInfoCollection(); #region Initialize Parameters // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "dt"; paramInfo.Label = "Delay Time"; paramInfo.ShortLabel = "T-Dly:"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1000; paramInfo.LargeStepFloat = 100.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 10.0f; paramInfo.DefaultValue = 200f; _delayTimeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // feedback parameter paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "fb"; paramInfo.Label = "Feedback"; paramInfo.ShortLabel = "Feedbk:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.2f; _feedbackMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // dry Level parameter paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "dl"; paramInfo.Label = "Dry Level"; paramInfo.ShortLabel = "DryLvl:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.8f; _dryLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // wet Level parameter paramInfo = new VstParameterInfo(); paramInfo.CanBeAutomated = true; paramInfo.Name = "wl"; paramInfo.Label = "Wet Level"; paramInfo.ShortLabel = "WetLvl:"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.4f; _wetLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); #endregion //_delayTimeMgr.ValueChanged += new System.EventHandler<System.EventArgs>(_delayTimeMgr_ValueChanged); _delayTimeMgr.PropertyChanged += new PropertyChangedEventHandler(_delayTimeMgr_PropertyChanged); }
/// <summary> /// Constructs a new instance. /// </summary> public Delay() { _paramInfos = new VstParameterInfoCollection(); #region Initialize Parameters // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo { CanBeAutomated = true, Name = "dt", Label = "Delay Time", ShortLabel = "T-Dly:", MinInteger = 0, MaxInteger = 1000, LargeStepFloat = 100.0f, SmallStepFloat = 1.0f, StepFloat = 10.0f, DefaultValue = 200f }; _delayTimeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // feedback parameter paramInfo = new VstParameterInfo { CanBeAutomated = true, Name = "fb", Label = "Feedback", ShortLabel = "Feedbk:", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.2f }; _feedbackMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // dry Level parameter paramInfo = new VstParameterInfo { CanBeAutomated = true, Name = "dl", Label = "Dry Level", ShortLabel = "DryLvl:", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.8f }; _dryLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); // wet Level parameter paramInfo = new VstParameterInfo { CanBeAutomated = true, Name = "wl", Label = "Wet Level", ShortLabel = "WetLvl:", LargeStepFloat = 0.1f, SmallStepFloat = 0.01f, StepFloat = 0.05f, DefaultValue = 0.4f }; _wetLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); _paramInfos.Add(paramInfo); #endregion _delayTimeMgr.PropertyChanged += new PropertyChangedEventHandler(_delayTimeMgr_PropertyChanged); }
public ParameterControlState(VstParameterManager parameterManager, float valueFactor) { ParameterManager = parameterManager; ValueFactor = valueFactor; }
// This method initializes the plugin parameters this Dsp component owns. private void InitializeParameters() { // all parameter definitions are added to a central list. VstParameterInfoCollection parameterInfos = _plugin.PluginPrograms.ParameterInfos; // retrieve the category for all delay parameters. VstParameterCategory paramCategory = _plugin.PluginPrograms.GetParameterCategory(ParameterCategoryName); // delay time parameter VstParameterInfo paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Time"; paramInfo.Label = "MilSecs"; paramInfo.ShortLabel = "ms"; paramInfo.MinInteger = 0; paramInfo.MaxInteger = 1000; paramInfo.LargeStepFloat = 100.0f; paramInfo.SmallStepFloat = 1.0f; paramInfo.StepFloat = 10.0f; paramInfo.DefaultValue = 200f; DelayTimeMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); // feedback parameter paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Feedbck"; paramInfo.Label = "Factor"; paramInfo.ShortLabel = "*"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.2f; FeedbackMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); // dry Level parameter paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Dry Lvl"; paramInfo.Label = "Decibel"; paramInfo.ShortLabel = "Db"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.8f; DryLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); // wet Level parameter paramInfo = new VstParameterInfo(); paramInfo.Category = paramCategory; paramInfo.CanBeAutomated = true; paramInfo.Name = "Wet Lvl"; paramInfo.Label = "Decibel"; paramInfo.ShortLabel = "Db"; paramInfo.LargeStepFloat = 0.1f; paramInfo.SmallStepFloat = 0.01f; paramInfo.StepFloat = 0.05f; paramInfo.DefaultValue = 0.4f; WetLevelMgr = new VstParameterManager(paramInfo); VstParameterNormalizationInfo.AttachTo(paramInfo); parameterInfos.Add(paramInfo); }