示例#1
0
        private async Task StartQueueAsync()
        {
            _currentTrack = _queue.NextTrack();

            UpdateTimerWithNewTrack();

            await DomainEvents.RaiseAsync(new ChangeTrack { PartyCode = _partyCode, Listeners = _listeners.Values.ToList(), Track = _currentTrack.GetTrackWithoutFeelings(), ProgressMs = 0 });
        }
示例#2
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 });
            }
        }