public void ClearVstPlugin(int index) { if (index >= VstPlugins.Count() || VstPlugins[index] == null) { return; } RemoveVstPlugin(VstPlugins[index]); VstPlugins[index] = null; }
public void ApplyVstSettings(VstSettings vstSettings) { foreach (var plugin in VstPlugins) { ClearVstPlugin(VstPlugins.IndexOf(plugin)); } foreach (var settings in vstSettings.Plugins) { var index = vstSettings.Plugins.IndexOf(settings); var plugin = LoadVstPlugin(settings.Key, index); PluginHelper.SetVstPluginParameters(plugin, settings.Value); } }
public VstPlugin LoadVstPlugin(string location, int index) { if (VstPlugins.Count() > index && VstPlugins[index] != null && VstPlugins[index].Location == location) { return(VstPlugins[index]); } ClearVstPlugin(index); for (var i = VstPlugins.Count(); i < index + 1; i++) { VstPlugins.Add(null); } VstPlugins[index] = LoadAndApplyVstPlugin(location, index + 1); SetPluginBpm(VstPlugins[index]); return(VstPlugins[index]); }