private void InitialiseSharpPlugins() { _sharpControlProxy = new SharpControlProxy(this); var sharpPlugins = (NameValueCollection) ConfigurationManager.GetSection("sharpPlugins"); if (sharpPlugins == null) { MessageBox.Show( "Configuration section 'sharpPlugins' was not found. Please check 'SDRSharp.exe.config'.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } foreach (string key in sharpPlugins.Keys) { try { var fullyQualifiedTypeName = sharpPlugins[key]; var patterns = fullyQualifiedTypeName.Split(','); var typeName = patterns[0]; var assemblyName = patterns[1]; var objectHandle = Activator.CreateInstance(assemblyName, typeName); var plugin = (ISharpPlugin) objectHandle.Unwrap(); _sharpPlugins.Add(key, plugin); plugin.Initialize(_sharpControlProxy); if (plugin.HasGui) { CreatePluginCollapsiblePanel(plugin); } } catch (Exception ex) { MessageBox.Show("Error loading '" + sharpPlugins[key] + "' - " + ex.Message); } } var collapsiblePanelStates = Utils.GetIntArraySetting("collapsiblePanelStates", null); if (collapsiblePanelStates != null) { CollapsiblePanel.CollapsiblePanel currentPanel = radioCollapsiblePanel; for (var i = 0; i < collapsiblePanelStates.Length && currentPanel != null; i++) { currentPanel.PanelState = (CollapsiblePanel.PanelStateOptions)collapsiblePanelStates[i]; currentPanel = currentPanel.NextPanel; } } }
public MainForm() { this._hookManager = new HookManager(); this._hookManager.RegisterStreamHook((object) this._iqBalancerProcessor, ProcessorType.RawIQ); this._streamControl = new StreamControl(this._hookManager); this._vfo = new Vfo(this._hookManager); this._sharpControlProxy = new SharpControlProxy(this); this.InitializeComponent(); this.InitializeGUI(); }