コード例 #1
0
        public List <RPMusicArtist> GetAllArtists()
        {
            if (!Settings.Default.EnableMusicLibrary)
            {
                return(new List <RPMusicArtist>());
            }

            WindowsMediaPlayer WMPlayer = new WindowsMediaPlayer();

            List <RPMusicArtist> output     = new List <RPMusicArtist>();
            List <RPMusicArtist> outputList = new List <RPMusicArtist>();
            IWMPStringCollection scArtists  = WMPlayer.mediaCollection.getAttributeStringCollection("Author", "Audio");

            for (int i = 0; i < scArtists.count; i++)
            {
                string strArtistName = scArtists.Item(i);
                if (string.IsNullOrEmpty(strArtistName))
                {
                    continue;                                      // Believe it or not WMP sometimes returns an empty artist name
                }
                RPMusicArtist artist = new RPMusicArtist(strArtistName);
                output.Add(artist);
            }

            WMPlayer.close();

            // Sort output A-Z
            CommonEPG.Comparers.RPMusicArtistNameComparer myComparer = new CommonEPG.Comparers.RPMusicArtistNameComparer();
            output.Sort(myComparer);

            return(output);
        }
コード例 #2
0
ファイル: MusicCache.cs プロジェクト: piet5211/RPLiveTV
        public static string ArtistName(this RPMusicAlbum al)
        {
            RPMusicArtist ar = al.Artist();

            if (ar != null)
            {
                return(ar.Name);
            }
            else
            {
                return("Unknown Artist");
            }
        }
コード例 #3
0
ファイル: MusicCache.cs プロジェクト: piet5211/RPLiveTV
        // Artist =>
        public static List <RPMusicAlbum> Albums(this RPMusicArtist ar)
        {
            List <RPMusicAlbum> output = new List <RPMusicAlbum>();

            foreach (RPMusicAlbum al in MusicCache.Default.Framework.Albums)
            {
                if (al.ArtistID == ar.ID)
                {
                    output.Add(al);
                }
            }

            return(output);
        }
コード例 #4
0
ファイル: MusicCache.cs プロジェクト: piet5211/RPLiveTV
 public static Uri ThumbnailUriOrNull(this RPMusicArtist ar)
 {
     return(null);
 }