コード例 #1
0
 private void amazonWS_FindCoverArtDone(AmazonWebservice aws, EventArgs e)
 {
     if (FindCoverArtDone != null)
     {
         FindCoverArtDone(amazonWS, e);
     }
 }
コード例 #2
0
        private void OnFindCoverArtDone(AmazonWebservice aws, EventArgs e)
        {
            string progressText = string.Format("{0}% -- Done", 100);

            SetCurrentCoverArtProgressLabel(progressText, 100);
            progCurrent.Percentage = 100;
            Application.DoEvents();
            GUIWindowManager.Process();
        }
コード例 #3
0
        private void OnAlbumNotFoundRetryingFiltered(AmazonWebservice aws, string origAlbumName, string filteredAlbumName)
        {
            lblCurrentAlbum.Label     = string.Format(GrabbingAlbumNameFormatString, filteredAlbumName);
            lblFilteredSearch.Label   = string.Format("{0} not found", origAlbumName);
            lblFilteredSearch.Visible = true;
            string progressText = GetCurrentProgressString(0, filteredAlbumName);

            SetCurrentProgressPercentage(0);
            SetCurrentCoverArtProgressLabel(progressText, 0);
            GUIWindowManager.Process();
        }
コード例 #4
0
        private void OnFindCoverArtProgress(AmazonWebservice aws, int progressPercent)
        {
            string albumName = aws.AlbumName;

            if (albumName.Length == 0)
            {
                albumName = GUILocalizeStrings.Get(4506);
            }

            string progressText = GetCurrentProgressString(progressPercent, albumName);

            SetCurrentProgressPercentage(progressPercent);
            SetCurrentCoverArtProgressLabel(progressText, progressPercent);
            Application.DoEvents();
            GUIWindowManager.Process();
        }
コード例 #5
0
        private void amazonWS_GetAlbumInfoProgress(AmazonWebservice aws, int progressPercent)
        {
            if (SearchMode == SearchDepthMode.Album)
            {
                GUIDialogProgress dlgProgress =
                    (GUIDialogProgress)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_PROGRESS);

                if (dlgProgress != null)
                {
                    dlgProgress.ShowProgressBar(true);
                    dlgProgress.SetPercentage(progressPercent);
                    dlgProgress.Progress();
                }
            }

            else
            {
                // The GUICoverArtGrabberProgress window will manage showing cover art grabber progress
                if (FindCoverArtProgress != null)
                {
                    FindCoverArtProgress(amazonWS, progressPercent);
                }
            }
        }
コード例 #6
0
        public void GetAlbumCovers(string artist, string album, string strPath, int parentWindowID,
                                   bool checkForCompilationAlbum)
        {
            _SelectedAlbum     = null;
            IsCompilationAlbum = false;

            if (checkForCompilationAlbum)
            {
                IsCompilationAlbum = GetIsCompilationAlbum(strPath, -1);
            }

            _Artist    = artist;
            _Album     = album;
            _AlbumPath = strPath;
            string origAlbumName             = _Album;
            string filteredAlbumFormatString = GUILocalizeStrings.Get(4518);

            if (filteredAlbumFormatString.Length == 0)
            {
                filteredAlbumFormatString = "Album title not found\r\nTrying: {0}";
            }

            _ThumbPath = GetCoverArtThumbPath(artist, album, strPath);
            amazonWS   = new AmazonWebservice();
            amazonWS.MaxSearchResultItems = MAX_SEARCH_ITEMS;

            amazonWS.FindCoverArtProgress += new AmazonWebservice.FindCoverArtProgressHandler(amazonWS_GetAlbumInfoProgress);
            amazonWS.FindCoverArtDone     += new AmazonWebservice.FindCoverArtDoneHandler(amazonWS_FindCoverArtDone);

            Log.Info("Cover art grabber:getting cover art for [{0}-{1}]...", _Artist, _Album);

            if (IsCompilationAlbum)
            {
                Log.Info("Cover art grabber:compilation album found", _Artist, _Album);

                amazonWS.MaxSearchResultItems = MAX_UNFILTERED_SEARCH_ITEMS;
                _Artist = "";
                string filterString = string.Format("{0} = \"{1}\"", GUILocalizeStrings.Get(484), " ");
                string filter       = string.Format(filteredAlbumFormatString, filterString);

                Log.Info("Cover art grabber:trying again with blank artist name...");
                InternalGetAlbumCovers(_Artist, _Album, filter);
            }

            else
            {
                InternalGetAlbumCovers(_Artist, _Album, string.Empty);
            }

            // Did we fail to find any albums?
            if (!amazonWS.HasAlbums && !amazonWS.AbortGrab)
            {
                // Check if the album title includes a disk number description that might
                // be altering the proper album title such as: White album (Disk 2)

                string cleanAlbumName = string.Empty;

                if (StripDiskNumberFromAlbumName(_Album, ref cleanAlbumName))
                {
                    amazonWS.MaxSearchResultItems = MAX_UNFILTERED_SEARCH_ITEMS;

                    if (AlbumNotFoundRetryingFiltered != null)
                    {
                        AlbumNotFoundRetryingFiltered(amazonWS, origAlbumName, cleanAlbumName);
                    }

                    Log.Info("Cover art grabber:[{0}-{1}] not found. Trying [{0}-{2}]...", _Artist, _Album, cleanAlbumName);

                    string filter = string.Format(filteredAlbumFormatString, cleanAlbumName);
                    origAlbumName = _Album;
                    InternalGetAlbumCovers(_Artist, cleanAlbumName, filter);
                }

                else if (GetProperAlbumName(_Album, ref cleanAlbumName))
                {
                    amazonWS.MaxSearchResultItems = MAX_UNFILTERED_SEARCH_ITEMS;

                    if (AlbumNotFoundRetryingFiltered != null)
                    {
                        AlbumNotFoundRetryingFiltered(amazonWS, origAlbumName, cleanAlbumName);
                    }

                    Log.Info("Cover art grabber:[{0}-{1}] not found. Trying album name without sub-title [{0}-{2}]...", _Artist,
                             _Album, cleanAlbumName);

                    string filter = string.Format(filteredAlbumFormatString, cleanAlbumName);
                    origAlbumName = _Album;
                    InternalGetAlbumCovers(_Artist, cleanAlbumName, filter);
                }
            }

            // Still no albums?
            if (!IsCompilationAlbum && !amazonWS.HasAlbums && !amazonWS.AbortGrab)
            {
                amazonWS.MaxSearchResultItems = MAX_UNFILTERED_SEARCH_ITEMS;

                if (AlbumNotFoundRetryingFiltered != null)
                {
                    AlbumNotFoundRetryingFiltered(amazonWS, origAlbumName, GUILocalizeStrings.Get(4506));
                }

                string filterString = string.Format("{0} = \"{1}\"", GUILocalizeStrings.Get(483), " ");
                string filter       = string.Format(filteredAlbumFormatString, filterString);

                // Try searching by artist only to get all albums for this artist...
                Log.Info("Cover art grabber:[{0}-{1}] not found. Trying again with blank album name...", _Artist, _Album);
                InternalGetAlbumCovers(_Artist, "", filter);
            }

            // if we're searching for a single album the progress dialog will
            // be displayed so we need to close it...
            if (SearchMode == SearchDepthMode.Album)
            {
                GUIDialogProgress dlgProgress =
                    (GUIDialogProgress)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_PROGRESS);
                if (dlgProgress != null)
                {
                    dlgProgress.SetPercentage(100);
                    dlgProgress.Progress();
                    dlgProgress.Close();
                }
            }

            amazonWS.FindCoverArtProgress -= new AmazonWebservice.FindCoverArtProgressHandler(amazonWS_GetAlbumInfoProgress);
            amazonWS.FindCoverArtDone     -= new AmazonWebservice.FindCoverArtDoneHandler(amazonWS_FindCoverArtDone);
        }