private void PlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState, BassAudioEngine.PlayState newState) { if (_visParam.VisHandle != 0) { Log.Debug("WMPViz: 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; _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; } } }
public MixerStream(BassAudioEngine bassPlayer) { _bassPlayer = bassPlayer; }
public VisualizationManager(BassAudioEngine bass, VisualizationWindow vizWindow) { Bass = bass; VisualizationBase.Bass = Bass; VizRenderWindow = vizWindow; GetVisualizationPluginsInfo(); 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; } }
public MixerStream(BassAudioEngine bassPlayer) { _bassPlayer = bassPlayer; _playbackEndProcDelegate = new SYNCPROC(PlaybackEndProc); }