コード例 #1
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #2
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #3
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #4
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #5
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #6
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #7
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }
コード例 #8
0
ファイル: DidlLiteAdapter.cs プロジェクト: daviddw/oss-public
        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));
        }