public IVisualizationProvider CreateVisualizationProvider(VisualizationIndex visualizationIndex, VisualizationType visualizationType) { IVisualizationProvider visualizationProvider = default; switch (visualizationType) { case VisualizationType.FrequencyBars: MultiBandEqualizer equalizer = new MultiBandEqualizer(); ApplicationManager.Instance.Settings[visualizationIndex].EqualizerConfiguration.LoadInto(equalizer); equalizer.PropertyChanged += (sender, args) => ApplicationManager.Instance.Settings[visualizationIndex].EqualizerConfiguration.SaveFrom(equalizer); visualizationProvider = new FrequencyBarsVisualizationProvider(ApplicationManager.Instance.Settings[visualizationIndex].GetConfiguration <FrequencyBarsVisualizationProviderConfiguration>(visualizationType), GetAudioProcessor <FourierSpectrumProvider>()) { Equalizer = equalizer }; break; case VisualizationType.Level: visualizationProvider = new LevelVisualizationProvider(ApplicationManager.Instance.Settings[visualizationIndex].GetConfiguration <LevelVisualizationProviderConfiguration>(visualizationType), _audioBuffer); break; case VisualizationType.Beat: visualizationProvider = new BeatVisualizationProvider(ApplicationManager.Instance.Settings[visualizationIndex].GetConfiguration <BeatVisualizationProviderConfiguration>(visualizationType), GetAudioProcessor <FourierSpectrumProvider>()); break; } visualizationProvider?.Initialize(); return(visualizationProvider); }
public LevelBarDecorator(IVisualizationProvider visualizationProvider, LevelBarDirection direction, int dataIndex, LinearGradient gradient) { this._visualizationProvider = visualizationProvider; this.Direction = direction; this.DataIndex = dataIndex; this.Gradient = gradient; }
public BeatDecorator(IVisualizationProvider visualizationProvider) { this._visualizationProvider = visualizationProvider; }
public FrequencyBarsDecorator(IVisualizationProvider visualizationProvider) { this._visualizationProvider = visualizationProvider; }
public HangmanGame(IWordsProvider wordsProvider, IVisualizationProvider visualizationProvider) { _wordsProvider = wordsProvider; _visualizationProvider = visualizationProvider; }