Exemple #1
0
 private static MusicItem fromStatus(StatusPimpResponse status)
 {
     if (!hasTrack(status))
     {
         return(null);
     }
     return(AudioConversions.PimpTrackToMusicItem(status.track, null, null, null, null));
 }
Exemple #2
0
 private static TimeSpan position(StatusPimpResponse status)
 {
     if (!hasTrack(status))
     {
         return(TimeSpan.FromSeconds(0));
     }
     else
     {
         return(TimeSpan.FromSeconds(status.position));
     }
 }
Exemple #3
0
        public static PlaybackStatus ToPlaybackStatus(StatusPimpResponse status)
        {
            var playlist = status.playlist
                           .Select(track => AudioConversions.PimpTrackToMusicItem(track, null, null, null, null))
                           .ToList();

            return(new PlaybackStatus(
                       fromStatus(status),
                       position(status),
                       status.index,
                       playlist,
                       volume(status),
                       playerState(status),
                       status.mute));
        }
Exemple #4
0
 private static PlayerState playerState(StatusPimpResponse status)
 {
     return(PimpWebSocket.FromName(status.state));
 }
Exemple #5
0
 private static int volume(StatusPimpResponse status)
 {
     return(status.volume);
 }
Exemple #6
0
 private static bool hasTrack(StatusPimpResponse status)
 {
     return(status.state != "NoMedia" && status.state != PlayerState.Closed.ToString());
 }
Exemple #7
0
        public override async Task <PlaybackStatus> Status()
        {
            StatusPimpResponse status = await GetStatusAsync();

            return(ToPlaybackStatus(status));
        }