Esempio n. 1
0
        public void GetAlbumArt(string artist)
        {
            _currentThumbFileName = Utils.GetCoverArtName(Thumbs.MusicArtists, artist);

            if (_currentThumbFileName.Length > 0)
            {
                // let us test if there is a larger cover art image
                var strLarge = Utils.ConvertToLargeCoverArt(_currentThumbFileName);
                if (File.Exists(strLarge))
                {
                    _currentThumbFileName = strLarge;
                }
                AddImageToImagePathContainer(_currentThumbFileName);
            }

            UpdateImagePathContainer();
        }
Esempio n. 2
0
        public void GetAlbumArt()
        {
            _currentTrackFileName = g_Player.CurrentFile;
            _nextTrackFileName    = PlayListPlayer.SingletonPlayer.GetNext();
            GetTrackTags();

            _currentThumbFileName = GUIMusicBaseWindow.GetCoverArt(false, _currentTrackFileName, _currentTrackTag);
            if (_currentThumbFileName.Length > 0)
            {
                // let us test if there is a larger cover art image
                var strLarge = Utils.ConvertToLargeCoverArt(_currentThumbFileName);
                if (File.Exists(strLarge))
                {
                    _currentThumbFileName = strLarge;
                }
                AddImageToImagePathContainer(_currentThumbFileName);
            }

            UpdateImagePathContainer();
        }
Esempio n. 3
0
        private void GetTrackTags()
        {
            if (!g_Player.Playing)
            {
                _currentTrackTag = null;
                _nextTrackTag    = null;
                return;
            }

            var isCurSongCdTrack  = IsCdTrack();
            var isNextSongCdTrack = IsCdTrack();
            var isInternetStream  = Utils.IsAVStream(_currentTrackFileName);
            var dbs = MusicDatabase.Instance;


            if (!isCurSongCdTrack && !isInternetStream)
            {
                var currentTitle  = GUIPropertyManager.GetProperty("#Play.Current.Title");
                var currentArtist = GUIPropertyManager.GetProperty("#Play.Current.Artist");
                _currentTrackTag = GetTrackTag(dbs, _currentTrackFileName, true, currentTitle, currentArtist);
            }

            if (!isNextSongCdTrack && !isInternetStream)
            {
                var nextTitle  = GUIPropertyManager.GetProperty("#Play.Next.Title");
                var nextArtist = GUIPropertyManager.GetProperty("#Play.Next.Artist");
                _nextTrackTag = GetTrackTag(dbs, _nextTrackFileName, true, nextTitle, nextArtist);
            }

            if (isCurSongCdTrack || isNextSongCdTrack)
            {
                var curPlaylist = _playlistPlayer.GetPlaylist(PlayListType.PLAYLIST_MUSIC);

                var iCurItemIndex   = _playlistPlayer.CurrentSong;
                var curPlaylistItem = curPlaylist[iCurItemIndex];

                if (curPlaylistItem == null)
                {
                    _currentTrackTag = null;
                    _nextTrackTag    = null;
                    return;
                }

                var playListItemCount = curPlaylist.Count;
                var nextItemIndex     = 0;

                if (iCurItemIndex < playListItemCount - 1)
                {
                    nextItemIndex = iCurItemIndex + 1;
                }

                var nextPlaylistItem = curPlaylist[nextItemIndex];

                if (isCurSongCdTrack)
                {
                    _currentTrackTag = (MusicTag)curPlaylistItem.MusicTag;
                }

                if (isNextSongCdTrack && nextPlaylistItem != null)
                {
                    _nextTrackTag = (MusicTag)nextPlaylistItem.MusicTag;
                }

                // There's no MusicTag info in the Playlist so check is we have a valid
                // GUIMusicFiles.MusicCD object
                if ((_currentTrackTag == null || _nextTrackTag == null) && GUIMusicFiles.MusicCD != null)
                {
                    var curCDTrackNum  = GetCDATrackNumber(_currentTrackFileName);
                    var nextCDTrackNum = GetCDATrackNumber(_nextTrackFileName);

                    if (curCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length)
                    {
                        var curTrack = GUIMusicFiles.MusicCD.getTrack(curCDTrackNum);
                        _currentTrackTag = GetTrackTag(curTrack);
                    }
                    if (nextCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length)
                    {
                        var nextTrack = GUIMusicFiles.MusicCD.getTrack(nextCDTrackNum);
                        _nextTrackTag = GetTrackTag(nextTrack);
                    }
                }
            }

            // If we got an Internetstream and are playing via BASS Player
            // then receive the MusicTags from the stream
            if (isInternetStream && BassMusicPlayer.IsDefaultMusicPlayer)
            {
                _nextTrackTag    = null;
                _currentTrackTag = BassMusicPlayer.Player.GetStreamTags();
            }

            // Update _artist & _title
            UpdateArtistAndTitleFromTrackTag();
        }