private void PlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState, BassAudioEngine.PlayState newState) { if (_visParam.VisHandle != 0) { Log.Debug("SoniqueViz: 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; _OldCurrentFile = 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; } } }