示例#1
0
 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);
 }
示例#2
0
 public IEnumerable <ConfigurationSection> GetConfigurationSections()
 {
     return(BassAsioStreamOutputConfiguration.GetConfigurationSections());
 }