Example #1
0
        private void ActivateStationProgrammingMode(SongMetadata songMetadata, StationStream currentStream, StationProgram currentProgram)
        {
            StationRadioProgramStarted?.Invoke(this, new NepAppStationProgramStartedEventArgs()
            {
                RadioProgram = currentProgram,
                Metadata     = songMetadata,
                Station      = currentStream?.ParentStation
            });

            CurrentProgram = currentProgram;
            SetCurrentMetadataToUnknownInternal(currentProgram.Name);
        }
Example #2
0
        private async void CheckForStationBlockRightNow()
        {
            await blockProgrammingLock.WaitAsync();

            if (CurrentStation.Programs.Any(FilterStationBlockPrograms))
            {
                var currentBlock = CurrentStation.Programs.First(FilterStationBlockPrograms);

                if (CurrentProgram == currentBlock)
                {
                    return;                                 //prevent duplicate events.
                }
                CurrentProgram = currentBlock;

                StationRadioProgramStarted?.Invoke(this, new NepAppStationProgramStartedEventArgs()
                {
                    RadioProgram = currentBlock,
                    Metadata     = CurrentSong,
                    Station      = CurrentStation.Name
                });
            }
            blockProgrammingLock.Release();
        }