internal PodcastEpisode(string aId, string aName, string aDate, string aAlbumArtUri, string aAudioUri, string aDuration) { iId = aId; iName = aName; iAlbumArtUri = aAlbumArtUri; iAudioUri = aAudioUri; DateTime date; try { date = DateTime.Parse(aDate); iDate = date; } catch (FormatException) { } iMetadata = new audioItem(); iMetadata.Id = iId; iMetadata.Title = iName; iMetadata.AlbumArtUri.Add(iAlbumArtUri); resource res = new resource(); res.Uri = iAudioUri; res.ProtocolInfo = "http-get:*:audio/x-mpeg:*"; if (aDuration != null) { res.Duration = new Time(aDuration).ToString(); } iMetadata.Res.Add(res); }
public ModelSourceMediaRendererUpnpAv(Source aSource) { DidlLite didl = new DidlLite(); audioItem itemAudio = new audioItem(); itemAudio.Title = "Unknown"; didl.Add(itemAudio); kUnknownPlaylistItem = new MrItem(0, null, didl); iSource = aSource; iInstanceId = 0; iTrackId = 0; try { iServiceConnectionManager = new ServiceConnectionManager(iSource.Device, iSource.House.EventServer); } catch (ServiceException) { throw new ModelSourceException(301, "Service failure"); } iActionGetProtocolInfo = iServiceConnectionManager.CreateAsyncActionGetProtocolInfo(); iActionGetProtocolInfo.EventResponse += EventResponseGetProtocolInfo; try { iServiceAVTransport = new ServiceAVTransport(iSource.Device, iSource.House.EventServer); } catch (ServiceException) { throw new ModelSourceException(301, "Service failure"); } iActionPlay = iServiceAVTransport.CreateAsyncActionPlay(); iActionPause = iServiceAVTransport.CreateAsyncActionPause(); iActionStop = iServiceAVTransport.CreateAsyncActionStop(); iActionSeek = iServiceAVTransport.CreateAsyncActionSeek(); iActionNext = iServiceAVTransport.CreateAsyncActionNext(); iActionPrevious = iServiceAVTransport.CreateAsyncActionPrevious(); iActionSetAVTransportURI = iServiceAVTransport.CreateAsyncActionSetAVTransportURI(); iActionGetPositionInfo = iServiceAVTransport.CreateAsyncActionGetPositionInfo(); iActionGetTransportSettings = iServiceAVTransport.CreateAsyncActionGetTransportSettings(); iActionSetPlayMode = iServiceAVTransport.CreateAsyncActionSetPlayMode(); iActionGetPositionInfo.EventResponse += EventResponseGetPositionInfo; iActionGetTransportSettings.EventResponse += EventResponseGetTransportSettings; iActionSetAVTransportURI.EventResponse += EventResponseSetAVTransportURI; iTimer = new Linn.Timer(); // Sets the timer interval to 1 second. iTimer.Interval = 1000; iTimer.Elapsed += TimerElapsed; iTimer.AutoReset = false; iMutex = new Mutex(false); iPlaylist = new List <MrItem>(); }
public static string Description(upnpObject aObject) { string result = string.Empty; if (aObject is audioItem) { audioItem item = aObject as audioItem; result = item.Description; } else if (aObject is videoItem) { videoItem item = aObject as videoItem; result = item.Description; } else if (aObject is album) { album item = aObject as album; result = item.Description; } else if (aObject is playlistContainer) { playlistContainer item = aObject as playlistContainer; result = item.Description; } // always return a non-null string return(NonNullString(result)); }
private upnpObject CreateUpnpObject(IFeed aFeed, IEntry aEntry) { audioItem item = new audioItem(); resource resource = new resource(); resource.Uri = aEntry.Audio.Uri; resource.Bitrate = (int)aEntry.Audio.Bitrate * 1000; item.Res.Add(resource); item.Id = aEntry.Audio.Uri; item.Title = aEntry.Title; item.Genre.Add(aEntry.Category); item.ArtworkUri.Add(aEntry.LogoUri); return(item); }
private upnpObject CreateUpnpObject(Team aTeam) { audioItem item = new audioItem(); resource resource = new resource(); resource.Uri = aTeam.Uri; resource.Bitrate = 128000 / 8; item.Res.Add(resource); item.Id = aTeam.Uri; item.Title = aTeam.Name; item.Genre.Add("Ceremonial"); item.ArtworkUri.Add(aTeam.FlagUri); return(item); }
private void UpdateMetadata() { iMetadata = new audioItem(); iMetadata.Id = iId; iMetadata.Title = iName; iMetadata.Description = iDescription; iMetadata.AlbumArtUri.Add(iAlbumArtUri); resource res = new resource(); res.Uri = iAudioUri; res.NrAudioChannels = 2; res.Bitrate = iKbps; res.ProtocolInfo = "http-get:*:audio/x-mpeg:*"; iMetadata.Res.Add(res); }
internal LiveStation(string aId, string aName, string aAlbumArtUri, string aAudioUri, int aKbps) { iId = aId; iName = aName; iAlbumArtUri = aAlbumArtUri; iAudioUri = aAudioUri; iKbps = aKbps * 125; iMetadata = new audioItem(); iMetadata.Id = iId; iMetadata.Title = iName; iMetadata.AlbumArtUri.Add(iAlbumArtUri); resource res = new resource(); res.Uri = iAudioUri; res.NrAudioChannels = 2; res.Bitrate = iKbps; res.ProtocolInfo = "http-get:*:audio/x-mpeg:*"; iMetadata.Res.Add(res); }
public static string Info(upnpObject aObject) { string result = string.Empty; if (aObject is audioItem) { audioItem item = aObject as audioItem; result = item.LongDescription; } else if (aObject is videoItem) { videoItem item = aObject as videoItem; result = item.LongDescription; } else if (aObject is album) { album item = aObject as album; result = item.LongDescription; } // always return a non-null string return(NonNullString(result)); }
public static string Genre(upnpObject aObject) { string result = string.Empty; if (aObject is genre) { genre genre = aObject as genre; result = genre.Title; } else if (aObject is musicArtist) { musicArtist artist = aObject as musicArtist; for (int i = 0; i < artist.Genre.Count; ++i) { if (i > 0 && i < artist.Genre.Count - 1) { result += ", "; } result += artist.Genre[i]; } } else if (aObject is musicAlbum) { musicAlbum album = aObject as musicAlbum; for (int i = 0; i < album.Genre.Count; ++i) { if (i > 0 && i < album.Genre.Count - 1) { result += ", "; } result += album.Genre[i]; } } else if (aObject is audioItem) { audioItem item = aObject as audioItem; for (int i = 0; i < item.Genre.Count; ++i) { if (i > 0 && i < item.Genre.Count - 1) { result += ", "; } result += item.Genre[i]; } } else if (aObject is videoItem) { videoItem item = aObject as videoItem; for (int i = 0; i < item.Genre.Count; ++i) { if (i > 0 && i < item.Genre.Count - 1) { result += ", "; } result += item.Genre[i]; } } // always return a non-null string return(NonNullString(result)); }