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 }); } }