/// <summary> /// Thread for Creating the BASS Audio Engine objects. /// </summary> private static void InternalCreatePlayerAsync() { if (_Player == null) { _Player = new BassAudioEngine(); } }
public VisualizationWindow(BassAudioEngine bass) { Bass = bass; Init(); }
public VisualizationManager(BassAudioEngine bass, VisualizationWindow vizWindow) { Bass = bass; VisualizationBase.Bass = Bass; VizRenderWindow = vizWindow; if (bass != null) { Bass.PlaybackStateChanged += new BassAudioEngine.PlaybackStateChangedDelegate(OnPlaybackStateChanged); } SetVisualizationFPS(_TargetFPS); }
private void OnPlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState, BassAudioEngine.PlayState newState) { if (Viz == null) { return; } // Start the visualization render thread the first time an audio file starts playing. // Subsequent play state changes will be managed by the VisualizationWindow. if (!Viz.Initialized || newState == BassAudioEngine.PlayState.Playing) { VizRenderWindow.Run = true; } }
private void PlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState, BassAudioEngine.PlayState newState) { Log.Debug("WinampViz: BassPlayer_PlaybackStateChanged from {0} to {1}", oldState.ToString(), newState.ToString()); if (newState == BassAudioEngine.PlayState.Playing) { RenderStarted = false; trackTag = TagReader.TagReader.ReadTag(Bass.CurrentFile); if (trackTag != null) { _songTitle = String.Format("{0} - {1}", trackTag.Artist, trackTag.Title); } else { _songTitle = " "; } _mediaInfo.SongTitle = _songTitle; _mediaInfo.SongFile = Bass.CurrentFile; BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Play); } else if (newState == BassAudioEngine.PlayState.Paused) { BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Pause); } else if (newState == BassAudioEngine.PlayState.Ended) { BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Stop); RenderStarted = false; } }