public static string Conductor(upnpObject aObject) { string result = string.Empty; if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; foreach (artist a in item.Artist) { if (a.Role != null && a.Role.ToLower() == "conductor") { result = a.Artist; } } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; foreach (artist a in item.Artist) { if (a.Role != null && a.Role.ToLower() == "conductor") { result = a.Artist; } } } // always return a non-null string return(NonNullString(result)); }
public static string Album(upnpObject aObject) { string result = string.Empty; if (aObject is musicAlbum) { musicAlbum album = aObject as musicAlbum; result = album.Title; } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; if (item.Album.Count > 0) { result = item.Album[0]; } } else if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; if (item.Album.Count > 0) { result = item.Album[0]; } } // always return a non-null string return(NonNullString(result)); }
public static string Director(upnpObject aObject) { string result = string.Empty; if (aObject is videoItem) { videoItem item = aObject as videoItem; for (int i = 0; i < item.Director.Count; ++i) { if (i > 0 && i < item.Director.Count - 1) { result += ", "; } result += item.Director[i]; } } else if (aObject is videoBroadcast) { videoBroadcast item = aObject as videoBroadcast; for (int i = 0; i < item.Director.Count; ++i) { if (i > 0 && i < item.Director.Count - 1) { result += ", "; } result += item.Director[i]; } } else if (aObject is movie) { movie item = aObject as movie; for (int i = 0; i < item.Director.Count; ++i) { if (i > 0 && i < item.Director.Count - 1) { result += ", "; } result += item.Director[i]; } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; for (int i = 0; i < item.Director.Count; ++i) { if (i > 0 && i < item.Director.Count - 1) { result += ", "; } result += item.Director[i]; } } // always return a non-null string return(NonNullString(result)); }
public static string Artist(upnpObject aObject) { string result = string.Empty; if (aObject is person) { person person = aObject as person; result = person.Title; } else if (aObject is musicAlbum) { // Artist and ALbum Artist are the same for musicAlbums return(AlbumArtist(aObject)); } else if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; foreach (artist a in item.Artist) { if (a.Role == null || (a.Role != null && a.Role.ToLower() == "performer")) { result = a.Artist; if (a.Role != null) { break; } } } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; foreach (artist a in item.Artist) { if (a.Role == null || (a.Role != null && a.Role.ToLower() == "performer")) { result = a.Artist; if (a.Role != null) { break; } } } } // always return a non-null string return(NonNullString(result)); }
public static string ReleaseYear(upnpObject aObject) { string result = string.Empty; if (aObject is playlistContainer) { playlistContainer container = aObject as playlistContainer; result = container.Date; } else if (aObject is album) { album album = aObject as album; result = album.Date; } else if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; result = item.Date; } else if (aObject is audioBook) { audioBook item = aObject as audioBook; result = item.Date; } if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; result = item.Date; } if (!string.IsNullOrEmpty(result)) { try { DateTime t = DateTime.Parse(result); result = t.Year.ToString().Trim(); } catch (FormatException) { } } // always return a non-null string return(NonNullString(result)); }
public static string Contributor(upnpObject aObject) { string result = string.Empty; if (aObject is album) { album album = aObject as album; if (album.Contributor.Count > 0) { result = album.Contributor[0]; } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; if (item.Contributor.Count > 0) { result = item.Contributor[0]; } } else if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; if (item.Contributor.Count > 0) { result = item.Contributor[0]; } } else if (aObject is audioBook) { audioBook item = aObject as audioBook; if (item.Contributor.Count > 0) { result = item.Contributor[0]; } } // always return a non-null string return(NonNullString(result)); }
public static string AlbumArtist(upnpObject aObject) { string result = string.Empty; if (aObject is person) { person person = aObject as person; result = person.Title; } else if (aObject is musicAlbum) { // Album Artist for a musicAlbum object is, in order of preference, // - the <artist role="albumArtist"> value // - the <artist> value // - the <creator> value musicAlbum album = aObject as musicAlbum; string roleAlbumArtist = null; string roleNull = null; foreach (artist a in album.Artist) { if (string.IsNullOrEmpty(a.Role)) { roleNull = a.Artist; } else if (a.Role.ToLower() == "albumartist") { roleAlbumArtist = a.Artist; } } if (!string.IsNullOrEmpty(roleAlbumArtist)) { result = roleAlbumArtist; } else if (!string.IsNullOrEmpty(roleNull)) { result = roleNull; } else { result = album.Creator; } } else if (aObject is musicTrack) { // Album Artist for a track is unambiguous - it is the <artist role="albumArtist"> value or nothing musicTrack item = aObject as musicTrack; foreach (artist a in item.Artist) { if (a.Role != null && a.Role.ToLower() == "albumartist") { result = a.Artist; break; } } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; foreach (artist a in item.Artist) { if (a.Role != null && a.Role.ToLower() == "albumartist") { result = a.Artist; break; } } } // always return a non-null string return(NonNullString(result)); }
public static string Publisher(upnpObject aObject) { string result = string.Empty; if (aObject is album) { album item = aObject as album; for (int i = 0; i < item.Publisher.Count; ++i) { if (i > 0 && i < item.Publisher.Count - 1) { result += ", "; } result += item.Publisher[i]; } } else if (aObject is musicVideoClip) { musicVideoClip item = aObject as musicVideoClip; result = item.Publisher; } else if (aObject is musicTrack) { musicTrack item = aObject as musicTrack; for (int i = 0; i < item.Publisher.Count; ++i) { if (i > 0 && i < item.Publisher.Count - 1) { result += ", "; } result += item.Publisher[i]; } } else if (aObject is audioBook) { audioBook item = aObject as audioBook; for (int i = 0; i < item.Publisher.Count; ++i) { if (i > 0 && i < item.Publisher.Count - 1) { result += ", "; } result += item.Publisher[i]; } } else if (aObject is videoItem) { videoItem item = aObject as videoItem; result = item.Publisher; } else if (aObject is videoBroadcast) { videoBroadcast item = aObject as videoBroadcast; result = item.Publisher; } else if (aObject is movie) { movie item = aObject as movie; result = item.Publisher; } // always return a non-null string return(NonNullString(result)); }