public void InsertItemButNotStartPlayingGivesNull() { PlayListPlayer player = new PlayListPlayer(); player.CurrentPlaylistType = PlayListType.PLAYLIST_MUSIC; PlayList playlist = player.GetPlaylist(PlayListType.PLAYLIST_MUSIC); PlayListItem item1 = new PlayListItem(); playlist.Add(item1); Assert.IsNull(player.GetCurrentItem()); }
public void PlayMovesCurrentToItem() { PlayListPlayer player = new PlayListPlayer(); player.g_Player = this; //fake g_Player player.CurrentPlaylistType = PlayListType.PLAYLIST_MUSIC; PlayList playlist = player.GetPlaylist(PlayListType.PLAYLIST_MUSIC); PlayListItem item1 = new PlayListItem(); playlist.Add(item1); player.PlayNext(); Assert.AreEqual(item1, player.GetCurrentItem()); Assert.IsTrue(hasPlayBeenCalled); }
public override int RenderVisualization() { try { if (VisualizationWindow == null || !VisualizationWindow.Visible || _visParam.VisHandle == 0) { return 0; } // Any is wrong with PlaybackStateChanged, if the songfile automatically changed // so i have create a new variable which fix this problem if (Bass != null) { if (Bass.CurrentFile != _OldCurrentFile && !Bass.IsRadio) { trackTag = TagReader.TagReader.ReadTag(Bass.CurrentFile); if (trackTag != null) { _songTitle = String.Format("{0} - {1}", trackTag.Artist, trackTag.Title); _OldCurrentFile = Bass.CurrentFile; } else { _songTitle = " "; } } // Set Song information, so that the plugin can display it if (trackTag != null && !Bass.IsRadio) { _playlistPlayer = PlayListPlayer.SingletonPlayer; PlayListItem curPlaylistItem = _playlistPlayer.GetCurrentItem(); MusicStream streams = Bass.GetCurrentStream(); // Do not change this line many Plugins search for Songtitle with a number before. _mediaInfo.SongFile = Bass.CurrentFile; _mediaInfo.SongTitle = (_playlistPlayer.CurrentPlaylistPos + 1) + ". " + _songTitle; _mediaInfo.Position = (int)(1000 * Bass.CurrentPosition); _mediaInfo.Duration = (int)Bass.Duration; _mediaInfo.PlaylistLen = 1; _mediaInfo.PlaylistPos = _playlistPlayer.CurrentPlaylistPos; } else { if (Bass.IsRadio) { // Change TrackTag to StreamTag for Radio trackTag = Bass.GetStreamTags(); if (trackTag != null) { // Artist and Title show better i think _songTitle = trackTag.Artist + ": " + trackTag.Title; _mediaInfo.SongTitle = _songTitle; } else { _songTitle = " "; } _mediaInfo.Position = (int)(1000 * Bass.CurrentPosition); } else { _mediaInfo.Position = 0; _mediaInfo.Duration = 0; _mediaInfo.PlaylistLen = 0; _mediaInfo.PlaylistPos = 0; } } } if (IsPreviewVisualization) { _mediaInfo.SongTitle = "Mediaportal Preview"; } BassVis.BASSVIS_SetInfo(_visParam, _mediaInfo); if (RenderStarted) { return 1; } int stream = 0; if (Bass != null) { stream = (int)Bass.GetCurrentVizStream(); } // ckeck is playing int nReturn = BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.IsPlaying); if (nReturn == Convert.ToInt32(BASSVIS_PLAYSTATE.Play) && (_visParam.VisHandle != 0)) { // Do not Render without playing if (MusicPlayer.BASS.Config.MusicPlayer == AudioPlayer.WasApi) { RenderStarted = BassVis.BASSVIS_RenderChannel(_visParam, stream, true); } else { RenderStarted = BassVis.BASSVIS_RenderChannel(_visParam, stream, false); } } } catch (Exception) {} return 1; }
public override int RenderVisualization() { try { if (VisualizationWindow == null || !VisualizationWindow.Visible || _visParam.VisHandle == 0) { return 0; } // Set Song information, so that the plugin can display it if (trackTag != null && Bass != null) { _playlistPlayer = PlayListPlayer.SingletonPlayer; PlayListItem curPlaylistItem = _playlistPlayer.GetCurrentItem(); _mediaInfo.Position = (int)Bass.CurrentPosition; _mediaInfo.Duration = (int)Bass.Duration; _mediaInfo.PlaylistLen = 1; _mediaInfo.PlaylistPos = _playlistPlayer.CurrentPlaylistPos; } else { _mediaInfo.Position = 0; _mediaInfo.Duration = 0; _mediaInfo.PlaylistLen = 0; _mediaInfo.PlaylistPos = 0; } if (IsPreviewVisualization) { _mediaInfo.SongTitle = "Mediaportal Preview"; } BassVis.BASSVIS_SetInfo(_visParam, _mediaInfo); if (RenderStarted) { return 1; } int stream = 0; if (Bass != null) { stream = (int)Bass.GetCurrentVizStream(); } BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Play); RenderStarted = BassVis.BASSVIS_RenderChannel(_visParam, stream); } catch (Exception) {} return 1; }