/// <summary> /// Initializes all plugin parameters (one component at a time). /// </summary> public PluginParameters(IVstPluginEvents pluginEvents) { // register the parameters of all plugin (sub) components DelayParameters = new DelayParameters(this); pluginEvents.Opened += Plugin_Opened; }
/// <summary> /// Constructs a new Midi Processor. /// </summary> /// <param name="plugin">Must not be null.</param> public MidiProcessor(IVstPluginEvents pluginEvents, PluginParameters parameters) { Gain = new Gain(parameters.GainParameters); Transpose = new Transpose(parameters.TransposeParameters); // for most hosts, midi output is expected during the audio processing cycle. SyncWithAudioProcessor = true; pluginEvents.Opened += Plugin_Opened; }
/// <summary> /// Default constructor. /// </summary> public AudioProcessor(IVstPluginEvents pluginEvents, PluginParameters parameters) : base(AudioInputCount, AudioOutputCount, InitialTailSize, noSoundInStop: false) { Throw.IfArgumentIsNull(pluginEvents, nameof(pluginEvents)); Throw.IfArgumentIsNull(parameters, nameof(parameters)); // one set of parameters is shared for both channels. Left = new Delay(parameters.DelayParameters); Right = new Delay(parameters.DelayParameters); pluginEvents.Opened += Plugin_Opened; }
/// <summary> /// Constructs a new instance. /// </summary> /// <param name="plugin">Must not be null.</param> public AudioProcessor(IVstPluginEvents pluginEvents) : base(0, 0, 0, noSoundInStop: true) { pluginEvents.Opened += Plugin_Opened; }