//Removes current playing song then adds to play history. private Song DequeueToHistory(PlayOperation operationType) { if (_playlist.Count > 0) { var song = _playlist.Dequeue(); _history.AddSong(song, operationType); if (_playlist.Count == 1) { PlaylistRequest request = new PlaylistRequest( _status, _history, PlayOperation.PlayingLast, CurrentChannel, CurrentSong); var resp = request.GetResponse(); ExtractPlaylist(resp, false); } return(song); } else { return(null); } }
internal static string ToTypeCode(PlayOperation operation) { switch (operation) { case PlayOperation.NewList: return("n"); case PlayOperation.Skip: return("s"); case PlayOperation.Bin: return("b"); case PlayOperation.PlaysToEnd: return("e"); case PlayOperation.PlayingLast: return("p"); case PlayOperation.Like: return("r"); case PlayOperation.Unlike: return("u"); default: return(String.Empty); } }
public PlaylistRequest(UserStatus userStatus, PlayHistory history, PlayOperation operation, Channel channel, Song lastPlay) { UserStatus = userStatus; History = history; Operation = operation; RequestChannel = channel; LastPlay = lastPlay; }
public void AddSong(Song song, PlayOperation operation) { _history.Enqueue(new HistoryItem() { SongID = song.SongID, TypeCode = DataConvert.ToTypeCode(operation) }); if (_history.Count > 20) _history.Dequeue(); }
public void AddSong(Song song, PlayOperation operation) { _history.Enqueue(new HistoryItem() { SongID = song.SongID, TypeCode = DataConvert.ToTypeCode(operation) }); if (_history.Count > 20) { _history.Dequeue(); } }
internal static string ToTypeCode(PlayOperation operation) { switch (operation) { case PlayOperation.NewList: return "n"; case PlayOperation.Skip: return "s"; case PlayOperation.Bin: return "b"; case PlayOperation.PlaysToEnd: return "e"; case PlayOperation.PlayingLast: return "p"; case PlayOperation.Like: return "r"; case PlayOperation.Unlike: return "u"; default: return String.Empty; } }
//Removes current playing song then adds to play history. private Song DequeueToHistory(PlayOperation operationType) { if (_playlist.Count > 0) { var song = _playlist.Dequeue(); _history.AddSong(song, operationType); if (_playlist.Count == 1) { PlaylistRequest request = new PlaylistRequest( _status, _history, PlayOperation.PlayingLast, CurrentChannel, CurrentSong); var resp = request.GetResponse(); ExtractPlaylist(resp, false); } return song; } else { return null; } }