コード例 #1
0
ファイル: musicCmd.cs プロジェクト: paulhemels/MceController
            public void add_song_to_album(WMPLib.IWMPMedia media_item)
            {
                if (albumYear == "" || albumYear.Length < 4) albumYear = media_item.getItemInfo("WM/OriginalReleaseYear");
                if (albumYear == "" || albumYear.Length < 4) albumYear = media_item.getItemInfo("WM/Year");
                genre = media_item.getItemInfo("WM/Genre");
                albumGenre_add(genre);

                if (albumImage.Length == 0) findAlbumCover(media_item.sourceURL);
                albumTrackCount++;
                artistTrackCount++;
                trackCount++;

                song = media_item.getItemInfo("Title");
                songLocation = media_item.sourceURL;
                songTrackNumber = media_item.getItemInfo("WM/TrackNumber");
                songLength = media_item.durationString;

                string s = media_item.getItemInfo("WM/AlbumTitle");
                if (album != s) nextAlbum = s;

                s = media_item.getItemInfo("WM/AlbumArtist");
                if (s == "") s = media_item.getItemInfo("Author");
                if (artist != s) nextArtist = s;

                return;
            }
コード例 #2
0
ファイル: musicCmd.cs プロジェクト: paulhemels/MceController
        private OpResult do_detailed_list(OpResult or, WMPLib.IWMPMedia media_item, int idx, string template)
        {
            string artist = "";
            string album = "";
            string letter = "";
            bool added = false;

            int index = idx;
            if (index < 0)
                index = the_state.trackCount;

            if (media_item != null)
            {
                artist = media_item.getItemInfo("WM/AlbumArtist");
                if (artist == "") artist = media_item.getItemInfo("Author");
                album = media_item.getItemInfo("WM/AlbumTitle");
                letter = first_letter(artist);
            }

            // End of artist?
            if (artist != the_state.artist)
            {
                if (the_state.album.Length > 0)
                {
                    var s_out = replacer(getTemplate(template + ".Album-", DEFAULT_DETAIL_ALBUM_END), index);
                    if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                }
                if (the_state.artist.Length > 0)
                {
                    var s_out = replacer(getTemplate(template + ".Artist-", DEFAULT_DETAIL_ARTIST_END), index);
                    if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                }
                // End of current aplha?
                if (letter != the_state.letter && the_state.letter.Length == 1)
                {
                    var s_out = replacer(getTemplate(template + ".Alpha-", ""), index);
                    if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                }

                if (index >= 0)
                {
                    the_state.resetArtist(artist);
                    the_state.resetAlbum(album);
                }

                if (media_item != null)
                {
                    the_state.add_song_to_album(media_item);
                    added = true;
                    // Start new aplha?
                    if (letter != the_state.letter)
                    {
                        the_state.letter = letter;
                        var s_out = replacer(getTemplate(template + ".Alpha+", ""), index);
                        if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                    }
                    // Start new artist
                    if (the_state.artist.Length > 0)
                    {
                        var s_out = replacer(getTemplate(template + ".Artist+", DEFAULT_DETAIL_ARTIST_START), index);
                        if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                    }
                    // Start new album
                    if (the_state.album.Length > 0)
                    {
                        var s_out = replacer(getTemplate(template + ".Album+", DEFAULT_DETAIL_ALBUM_START), index);
                        if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                    }
                }
            }
            // End of album?
            else if (album != the_state.album)
            {
                if (the_state.album.Length > 0)
                {
                    var s_out = replacer(getTemplate(template + ".Album-", DEFAULT_DETAIL_ALBUM_END), index);
                    if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                }
                if (index >= 0) the_state.resetAlbum(album);
                if (media_item != null)
                {
                    the_state.add_song_to_album(media_item);
                    added = true;
                    if (the_state.album.Length > 0)
                    {
                        var s_out = replacer(getTemplate(template + ".Album+", DEFAULT_DETAIL_ALBUM_START), index);
                        if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
                    }
                }
            }

            // Do track:
            if (media_item != null)
            {
                if (!added) the_state.add_song_to_album(media_item);
                var s_out = replacer(getTemplate(template + ".Entry", DEFAULT_DETAIL_SONG), index);
                if (s_out.Length > 0) or.AppendFormat("{0}", s_out);
            }

            return or;
        }
コード例 #3
0
ファイル: photoCmd.cs プロジェクト: paulhemels/MceController
 public OpResult getPhoto(WMPLib.IWMPMedia photo, int r_w, int r_h, int r_s, int r_l)
 {
     string filename = photo.getItemInfo("SourceURL");
     string filetype = "";
     try
     {
         filetype = photo.getItemInfo("FileType");
     }
     catch (Exception)
     {
         filetype = "jpeg";
     }
     return getPhoto(filename, filetype, r_w, r_h, r_s, r_l);
 }