public PartyDiagnostics GetDiagnostics() { return(new PartyDiagnostics { Host = _host, Listeners = _listeners.Select(pair => pair.Value).ToList(), PartyCode = _partyCode, Queue = _queue.GetAllTracks(), History = _history, CurrentTrack = _currentTrack.GetTrackWithoutFeelings(), LikedSongs = _queue.GetLikedTrackUris() }); }
public Track GetCurrentSong() { return(_currentTrack?.GetTrackWithoutFeelings()); }
private async Task StartQueueAsync() { _currentTrack = _queue.NextTrack(); UpdateTimerWithNewTrack(); await DomainEvents.RaiseAsync(new ChangeTrack { PartyCode = _partyCode, Listeners = _listeners.Values.ToList(), Track = _currentTrack.GetTrackWithoutFeelings(), ProgressMs = 0 }); }
private async Task NextTrackAsync() { AddCurrentTrackToHistory(); if (_queue.HasNextTrack()) { _currentTrack = _queue.NextTrack(); UpdateTimerWithNewTrack(); await DomainEvents.RaiseAsync(new ChangeTrack { PartyCode = _partyCode, Listeners = _listeners.Values.ToList(), Track = _currentTrack.GetTrackWithoutFeelings(), ProgressMs = 0 }); } else { _currentTrack = null; var seeds = GetSeedUris(5); await DomainEvents.RaiseAsync(new QueueEnded { PartyCode = _partyCode, SeedTracksUris = seeds.Item1, SeedArtistUris = seeds.Item2 }); } }