public override void InitializeComponent(ICore core)
 {
     this.Core          = core;
     this.Output        = ComponentRegistry.Instance.GetComponent <IBassOutput>();
     this.Configuration = core.Components.Configuration;
     this.Configuration.GetElement <BooleanConfigurationElement>(
         BassOutputConfiguration.SECTION,
         BassSkipSilenceStreamAdvisorBehaviourConfiguration.ENABLED_ELEMENT
         ).ConnectValue(value => this.Enabled = value);
     this.Configuration.GetElement <SelectionConfigurationElement>(
         BassOutputConfiguration.SECTION,
         BassSkipSilenceStreamAdvisorBehaviourConfiguration.SENSITIVITY_ELEMENT
         ).ConnectValue(option => this.Threshold = BassSkipSilenceStreamAdvisorBehaviourConfiguration.GetSensitivity(option));
     this.BassStreamPipelineFactory = ComponentRegistry.Instance.GetComponent <IBassStreamPipelineFactory>();
     if (this.BassStreamPipelineFactory != null)
     {
         this.BassStreamPipelineFactory.CreatingPipeline += this.OnCreatingPipeline;
     }
     base.InitializeComponent(core);
 }
 public IEnumerable <ConfigurationSection> GetConfigurationSections()
 {
     return(BassSkipSilenceStreamAdvisorBehaviourConfiguration.GetConfigurationSections());
 }