public override void InitializeComponent(ICore core) { this.Core = core; this.Output = core.Components.Output as IBassOutput; this.Configuration = core.Components.Configuration; this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassOutputConfiguration.INPUT_ELEMENT ).ConnectValue(value => this.Enabled = string.Equals(value.Id, BassCrossfadeStreamInputConfiguration.INPUT_CROSSFADE_OPTION, StringComparison.OrdinalIgnoreCase)); this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.MODE_ELEMENT ).ConnectValue(option => this.Mode = BassCrossfadeStreamInputConfiguration.GetMode(option)); this.Configuration.GetElement <IntegerConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.PERIOD_IN_ELEMENT ).ConnectValue(value => this.InPeriod = value); this.Configuration.GetElement <IntegerConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.PERIOD_OUT_ELEMENT ).ConnectValue(value => this.OutPeriod = value); this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.TYPE_IN_ELEMENT ).ConnectValue(option => this.InType = BassCrossfadeStreamInputConfiguration.GetType(option)); this.Configuration.GetElement <SelectionConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.TYPE_OUT_ELEMENT ).ConnectValue(option => this.OutType = BassCrossfadeStreamInputConfiguration.GetType(option)); this.Configuration.GetElement <BooleanConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.MIX_ELEMENT ).ConnectValue(value => this.Mix = value); this.Configuration.GetElement <BooleanConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.START_ELEMENT ).ConnectValue(value => this.Start = value); this.Configuration.GetElement <BooleanConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.PAUSE_RESUME_ELEMENT ).ConnectValue(value => this.PauseResume = value); this.Configuration.GetElement <BooleanConfigurationElement>( BassOutputConfiguration.SECTION, BassCrossfadeStreamInputConfiguration.STOP_ELEMENT ).ConnectValue(value => this.Stop = value); this.BassStreamPipelineFactory = ComponentRegistry.Instance.GetComponent <IBassStreamPipelineFactory>(); if (this.BassStreamPipelineFactory != null) { this.BassStreamPipelineFactory.CreatingPipeline += this.OnCreatingPipeline; } base.InitializeComponent(core); }
public IEnumerable <ConfigurationSection> GetConfigurationSections() { return(BassCrossfadeStreamInputConfiguration.GetConfigurationSections()); }