public override void InitializeComponent(ICore core) { this.Output = core.Components.Output as IBassOutput; this.Output.Init += this.OnInit; this.Output.Free += this.OnFree; this.Configuration = core.Components.Configuration; this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassOutputConfiguration.MODE_ELEMENT ).ConnectValue(value => this.Enabled = string.Equals(value.Id, BassAsioStreamOutputConfiguration.MODE_ASIO_OPTION, StringComparison.OrdinalIgnoreCase)); this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassAsioStreamOutputConfiguration.ELEMENT_ASIO_DEVICE ).ConnectValue(value => this.AsioDevice = BassAsioStreamOutputConfiguration.GetAsioDevice(value)); this.Configuration.GetElement <BooleanConfigurationElement>( BassOutputConfiguration.SECTION, BassAsioStreamOutputConfiguration.DSD_RAW_ELEMENT ).ConnectValue(value => this.DsdDirect = value); this.BassStreamPipelineFactory = ComponentRegistry.Instance.GetComponent <IBassStreamPipelineFactory>(); if (this.BassStreamPipelineFactory != null) { this.BassStreamPipelineFactory.QueryingPipeline += this.OnQueryingPipeline; this.BassStreamPipelineFactory.CreatingPipeline += this.OnCreatingPipeline; } base.InitializeComponent(core); }
public IEnumerable <ConfigurationSection> GetConfigurationSections() { return(BassAsioStreamOutputConfiguration.GetConfigurationSections()); }