private IVstHostShell CreateShell(IVstHostShell instance) { if (instance == null) { return(new VstHostShell(_host)); } return(instance); }
/// <summary> /// Constructs a new instance of the host class based on the <paramref name="hostCmdProxy"/> /// (from Interop) and a reference to the current <paramref name="plugin"/>. /// </summary> /// <param name="hostCmdProxy">Must not be null.</param> /// <param name="plugin">Must not be null.</param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="hostCmdProxy"/> or /// <paramref name="plugin"/> is not set to an instance of an object.</exception> public VstHost(IVstHostCommandProxy hostCmdProxy, IVstPlugin plugin) { Throw.IfArgumentIsNull(hostCmdProxy, nameof(hostCmdProxy)); Throw.IfArgumentIsNull(plugin, nameof(plugin)); HostCommandProxy = hostCmdProxy; Plugin = plugin; _automation = new VstHostAutomation(this); _sequencer = new VstHostSequencer(this); _shell = new VstHostShell(this); _midiProcessor = new VstHostMidiProcessor(this); }