IPB

Welcome Guest ( Log In | Register )

Album Art Downloader XUI, A tool for downloading cover art
AlexVallat
post Sep 9 2007, 09:06
Post #1





Group: Developer
Posts: 1067
Joined: 31-July 06
Member No.: 33465











AlbumArtDownloader XUI - You know you want it...

This project is a rewrite of the Album Art Downloader code, using .NET Framework 3.5.

Features:
  • Dynamically resizeable thumbnails
  • Thumbnail information
  • Sort by Name, Size, Source, Type, and Page
  • Filter results under or over a specified size, or by type (front, back, etc.), or by maximum results for each source
  • Substitution syntax path to save images
  • Local files search that matches save pattern
  • Enable or disable scripts from the command line
  • New strongly typed interface-based script model; write compiled scripts in any .net language
  • Backwards compatible with existing scripts
  • Backwards compatible with existing command line parameters, including old CoverDownloader parameters.
  • Analyse files to find Artists and Albums from tags, and check if album art is already present.
  • Analyse folder and file names to find Artist and Album names based on a path pattern, and check for album art.
  • Read your foobar2000 media library or playlists to find Artists and Albums, and check for album art.
  • Checks for existing album art embedded in file tags.
  • Queue up multiple searches to occur sequentially.
  • Automatically download album art that matches set criteria for several albums as a batch.
  • Show previews windows to compare art side by side, zooming and panning to check details.
  • Many, many scripts included. (I would seriously not recommend using all of them at once, choose the ones that suit you best.)
  • Prioritised searching - can set some sources to always search, and some to only search if the first ones didn't find anything.
For the graphically-minded out there, although this app isn't skinnable, the UI is all created in XAML, so if you want to grab the source and start editing the UI, please feel free. It is under the XUI folder in the SVN Repository

Links:
SourceForge project page
Wiki and reference guide (incomplete)
Donations

Download:
AlbumArtDownloaderXUI.exe (Installer. Recommended)
AlbumArtDownloaderXUI.zip (zip archive for those who don't like installers)
.NET Framework 3.5 SP1 (required, except for Windows 7)

This post has been edited by AlexVallat: Jun 27 2011, 20:19
Go to the top of the page
+Quote Post
 
Start new topic
Replies
~*McoreD*~
post Sep 23 2007, 10:12
Post #2





Group: Members
Posts: 568
Joined: 10-July 03
From: Australia
Member No.: 7693



Alex, but did you try his alternative method using Album URL?

CODE
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=262406609&s=143460


That's great info, I'd luv to have a dev chat with you online if you don't mind.. smile.gif

Currently I am working on trying to get 50 Cent - Curtis searchable.

Passed the TIF challenge.

Code here is an example to search the artwork from all the iTunes Stores around the world.

CODE
    Public Function GetArtworkPath() As String

        ' Usage :
        'Dim itms As New cITMSArt("4 Strings", "Turn It Around")
        'Process.Start(itms.GetArtworkPath)

        Try
            Dim iTMSdir As String = My.Settings.ArtworkDir + Me.artist + Path.DirectorySeparatorChar + Me.album
            Dim iTMSpath As String = iTMSdir + Path.DirectorySeparatorChar + "iTMS.jpg"

            If Directory.Exists(iTMSdir) = False Then
                Directory.CreateDirectory(iTMSdir)
            End If

            If File.Exists(iTMSpath) Then
                sWriteDebugLog("Found saved iTMS Artwork: " & iTMSpath)
                Return iTMSpath
            Else
                Dim wc As New WebClient
                For Each storeID As String In My.Settings.ListStoresID
                    Dim url As String = GetArtworkURL(storeID.Trim)
                    If url <> String.Empty Then
                        ' now we konw the url is valid
                        Try
                            wc.DownloadFile(url, iTMSpath)
                        Catch ex As System.Net.WebException
                            ' see if tif is availble
                            url = Path.ChangeExtension(url, ".tif")
                            iTMSpath = Path.ChangeExtension(iTMSpath, ".tif")
                            wc.DownloadFile(url, iTMSpath)
                            Try
                                Dim img As Image = Image.FromFile(iTMSpath)
                                ' save the jpg convert
                                Dim iTMSpathJPG As String = Path.ChangeExtension(iTMSpath, ".jpg")
                                img.Save(iTMSpathJPG, System.Drawing.Imaging.ImageFormat.Jpeg)
                                sWriteDebugLog(String.Format("Successfully converted {0} to JPG", iTMSpath))
                                iTMSpath = iTMSpathJPG
                            Catch errSave As Exception
                                ' Error converting
                            End Try
                        End Try
                        sWriteDebugLog("Fetched " & url)
                        Return iTMSpath
                    End If
                Next
                sWriteDebugLog("Could not get iTMS Artwork Path")
                Return String.Empty

            End If
        Catch ex As Exception
            sWriteDebugLog("Error getting iTMS Artwork Path")
            Return String.Empty
        End Try

    End Function


CODE
   Public Function GetArtworkURL(ByVal id As String) As String

        Dim x As New XmlDocument

        Dim search As String = "http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZSearch.woa/wa/coverArtMatch?an=" + artist + "&pn=" + album
        Console.WriteLine(search + " with " + id)
        Dim t As Stream = GetPageSecret(search, id)
        Try
            Dim gzi As New GZip.GZipInputStream(t)
            x.Load(gzi)
            sWriteDebugLog("Accessed iTMS ID: " & id)
        Catch ex As Exception
            sWriteDebugLog(String.Format("Error getting iTMS Artwork URL with Store ID: {0}. {1}", id, ex.Message))
            Return String.Empty
        End Try

        Dim tags As XmlNodeList = x.GetElementsByTagName("dict")
        If tags.Count = 0 Then
            Return Nothing
        Else
            Dim url As String = String.Empty
            Dim albumname As String = String.Empty
            Dim whichTag As Integer = 0

            For Each tag As Xml.XmlNode In tags(0).ChildNodes
                If tag.InnerText = "cover-art-url" Then
                    url = tag.NextSibling.InnerText
                ElseIf tag.InnerText = "playlistName" Then
                    albumname = tag.NextSibling.InnerText
                    Exit For
                End If
            Next

            If url.Length > 0 Then
                ' url is ' http://a1.phobos.apple.com/r10/Music/y2004/m08/d02/h11/s05.egorzxul.enc.jpg?downloadKey2=1190559591_ff0a61272432c71f489474b1a5712f97
                ' now just have to remove ".enc" and everything after the question make so you get
                ' http://a1.phobos.apple.com/r10/Music/y2004/m08/d02/h11/s05.egorzxul.jpg
                ' which is a valid artwork file!
                Return url.Substring(0, url.IndexOf("?")).Replace(".enc", "")
            Else
                sWriteDebugLog("iTMS artwork was not found")
            End If

        End If

        Return String.Empty

    End Function


Insight to how the scripts work was really great. Thank you for that!

This post has been edited by ~*McoreD*~: Sep 23 2007, 10:16
Go to the top of the page
+Quote Post

Posts in this topic
- AlexVallat   Album Art Downloader XUI   Sep 9 2007, 09:06
- - TheTravis   First! Finally I got .NET Framework succesfull...   Sep 9 2007, 10:25
- - Max Spicer   Does Album Art Downloader XUI only work with mp3s?...   Sep 9 2007, 18:02
|- - AlexVallat   QUOTE (Max Spicer @ Sep 9 2007, 18:02) Do...   Sep 9 2007, 18:39
|- - entrecour   QUOTE (AlexVallat @ Sep 9 2007, 18:39) QU...   Sep 20 2007, 21:14
- - SmilerSmiles   Does it handle more than 50 albums at a time yet?   Sep 9 2007, 20:42
|- - AlexVallat   QUOTE (SmilerSmiles @ Sep 9 2007, 20:42) ...   Sep 10 2007, 08:36
- - fooruncle   Hi, I still use the old version on my old noteboo...   Sep 10 2007, 09:47
|- - AlexVallat   QUOTE (fooruncle @ Sep 10 2007, 09:47) Hi...   Sep 10 2007, 10:47
|- - fooruncle   QUOTE (AlexVallat @ Sep 10 2007, 10:47) D...   Sep 10 2007, 12:34
|- - AlexVallat   QUOTE (fooruncle @ Sep 10 2007, 12:34) Th...   Sep 10 2007, 14:29
|- - fooruncle   QUOTE (AlexVallat @ Sep 10 2007, 14:29) Y...   Sep 10 2007, 19:09
- - Jojo   can this be used with iTunes? http://www.thejosher...   Sep 11 2007, 05:43
|- - david_dl   QUOTE (Jojo @ Sep 11 2007, 16:43) can thi...   Sep 11 2007, 06:22
|- - AlexVallat   QUOTE (david_dl @ Sep 11 2007, 06:22) Als...   Sep 11 2007, 08:16
||- - david_dl   QUOTE (AlexVallat @ Sep 11 2007, 19:16) I...   Sep 11 2007, 10:12
||- - AlexVallat   QUOTE (david_dl @ Sep 11 2007, 10:12) Tha...   Sep 11 2007, 11:30
||- - fooruncle   Hmmm, using it with the old version (again...), I ...   Sep 11 2007, 12:37
||- - AlexVallat   QUOTE (fooruncle @ Sep 11 2007, 12:37) Hm...   Sep 11 2007, 13:16
|- - Jojo   QUOTE (david_dl @ Sep 10 2007, 22:22) Hmm...   Sep 18 2007, 03:07
|- - david_dl   QUOTE (Jojo @ Sep 18 2007, 14:07) QUOTE (...   Sep 18 2007, 07:41
- - AlexVallat   Turns out, adding thumbnail support only needs a s...   Sep 11 2007, 14:57
- - david_dl   Thanks, it seems to work for most albums, however ...   Sep 12 2007, 01:34
|- - AlexVallat   QUOTE (david_dl @ Sep 12 2007, 01:34) Tha...   Sep 12 2007, 08:26
|- - david_dl   QUOTE (AlexVallat @ Sep 12 2007, 19:26) I...   Sep 12 2007, 09:42
- - david_dl   A few changes to the headers sent in the initial r...   Sep 13 2007, 01:19
- - phunkydizco   Performance of the new version is really great. Go...   Sep 13 2007, 19:17
- - masterrossi   I have the album art in the folders of my albums. ...   Sep 13 2007, 19:25
- - AlexVallat   QUOTE (david_dl @ Sep 13 2007, 01:19) A f...   Sep 14 2007, 08:11
|- - phunkydizco   QUOTE (AlexVallat @ Sep 14 2007, 09:11) T...   Sep 14 2007, 08:49
||- - AlexVallat   QUOTE (phunkydizco @ Sep 14 2007, 08:49) ...   Sep 14 2007, 09:32
|- - masterrossi   QUOTE (AlexVallat @ Sep 14 2007, 09:11) T...   Sep 14 2007, 09:07
- - mobyduck   I just had the following crash:CODEAlbum Art Downl...   Sep 15 2007, 07:50
|- - AlexVallat   QUOTE (mobyduck @ Sep 15 2007, 07:50) I j...   Sep 15 2007, 09:06
- - AlexVallat   QUOTE (iElectric @ Sep 16 2007, 16:22) I ...   Sep 16 2007, 20:18
- - fuffi   hi, i were looking after artist "Joe Bataan...   Sep 16 2007, 23:26
|- - AlexVallat   QUOTE (fuffi @ Sep 16 2007, 23:26) hi, i ...   Sep 17 2007, 08:22
|- - fuffi   QUOTE (AlexVallat @ Sep 17 2007, 07:22) Q...   Sep 17 2007, 19:46
- - iElectric   Sorry, I wasn't careful about that info. I wil...   Sep 16 2007, 23:54
- - fuffi   hi, another *small* issue :-) my settings: ...   Sep 17 2007, 19:26
|- - AlexVallat   QUOTE (fuffi @ Sep 17 2007, 19:26) cant w...   Sep 17 2007, 20:46
|- - fuffi   QUOTE (AlexVallat @ Sep 17 2007, 19:46) F...   Sep 17 2007, 22:43
- - fuffi   hi, an addition to my/your last post: i use foobar...   Sep 17 2007, 22:29
- - fuffi   hi, you could add an icon file (AlbumArt.ico/bmp/p...   Sep 18 2007, 04:02
- - fuffi   ok, it crashed again. did not done alot with AAD m...   Sep 18 2007, 04:27
- - AlexVallat   QUOTE (fuffi @ Sep 17 2007, 22:29) do you...   Sep 18 2007, 08:36
|- - fuffi   QUOTE david_dl is correct in that you can copy you...   Sep 18 2007, 22:57
- - Blueinferno   Fantastic app. But I'm wondering, is there a w...   Sep 18 2007, 15:38
|- - kockroach   QUOTE (Blueinferno @ Sep 18 2007, 09:38) ...   Sep 18 2007, 15:43
|- - AlexVallat   QUOTE (Blueinferno @ Sep 18 2007, 15:38) ...   Sep 18 2007, 15:45
|- - Blueinferno   QUOTE (AlexVallat @ Sep 18 2007, 15:45) Q...   Sep 18 2007, 22:48
- - david_dl   Here is an updated version of the iTMS script that...   Sep 19 2007, 06:49
|- - AlexVallat   QUOTE (david_dl @ Sep 19 2007, 06:49) you...   Sep 19 2007, 07:57
|- - david_dl   QUOTE (AlexVallat @ Sep 19 2007, 18:57) Q...   Sep 19 2007, 08:34
- - Mercachifle   I can't load the program. It crashes on start:...   Sep 19 2007, 23:59
|- - AlexVallat   QUOTE (Mercachifle @ Sep 19 2007, 23:59) ...   Sep 20 2007, 08:02
- - Jojo   ok, I'm trying to figure this out. Is it possi...   Sep 20 2007, 20:15
|- - mobyduck   QUOTE (Jojo @ Sep 20 2007, 11:15) Is it p...   Sep 21 2007, 08:03
- - AlexVallat   QUOTE (Jojo @ Sep 20 2007, 20:15) ok, I...   Sep 21 2007, 08:20
|- - entrecour   I have sent you a PM with text output. Let me know...   Sep 21 2007, 13:43
- - ~*McoreD*~   Thanks david_dl and AlexVallat for providing base ...   Sep 22 2007, 00:40
- - pirlouy   Hello Alex, AlbumArtDownloader XUI has well progr...   Sep 22 2007, 15:56
- - AlexVallat   QUOTE (~*McoreD*~ @ Sep 22 2007, 00:40) I...   Sep 22 2007, 17:52
- - AlexVallat   AlbumArt Downloader XUI v0.10 Released Some of yo...   Sep 22 2007, 19:31
- - ~*McoreD*~   Great stuff Alex. I noticed that the 0.10 has ...   Sep 23 2007, 06:48
|- - AlexVallat   QUOTE (~*McoreD*~ @ Sep 23 2007, 06:48) G...   Sep 23 2007, 08:19
- - ~*McoreD*~   Alex! Have a go with and I wonder if you will...   Sep 23 2007, 09:13
|- - AlexVallat   QUOTE (~*McoreD*~ @ Sep 23 2007, 09:13) 5...   Sep 23 2007, 10:00
- - ~*McoreD*~   Alex, but did you try his alternative method using...   Sep 23 2007, 10:12
- - pirlouy   Just a little little bug: when you launch a new se...   Sep 23 2007, 11:17
|- - AlexVallat   QUOTE (pirlouy @ Sep 23 2007, 11:17) Just...   Sep 23 2007, 13:45
- - pirlouy   After some search, in fact, I think it's the l...   Sep 23 2007, 19:17
|- - AlexVallat   QUOTE (pirlouy @ Sep 23 2007, 19:17) Afte...   Sep 23 2007, 19:49
- - pirlouy   QUOTE (AlexVallat @ Sep 23 2007, 20:49) A...   Sep 23 2007, 20:12
- - iElectric   AlexVallat, this has grown into a very nice app...   Sep 24 2007, 12:08
|- - AlexVallat   QUOTE (iElectric @ Sep 24 2007, 12:08) Al...   Sep 25 2007, 12:47
- - 2Pacalypse   does version 0.10 contain everything needed for do...   Sep 26 2007, 20:41
|- - AlexVallat   QUOTE (2Pacalypse @ Sep 26 2007, 20:41) d...   Sep 26 2007, 21:29
|- - Scidd0w   QUOTE (AlexVallat @ Sep 26 2007, 12:29) I...   Sep 28 2007, 21:19
|- - mobyduck   QUOTE (Scidd0w @ Sep 28 2007, 12:19) With...   Sep 28 2007, 23:51
- - mwfuss   This seems to be an excellent program. There are s...   Sep 28 2007, 17:15
- - xamphear   I reaaaaaaaaly like this program. It's just mi...   Oct 6 2007, 02:20
- - TedFromAccounting   Has anyone written a script for buy.com?   Oct 6 2007, 07:58
- - Hamilcar   Hey excellent app but I was scanning my foobar lib...   Oct 7 2007, 14:54
- - AlexVallat   QUOTE (xamphear @ Oct 6 2007, 02:20) I re...   Oct 7 2007, 17:11
- - Hamilcar   thank you very much for your fast reply!   Oct 7 2007, 17:48
- - francesco   AMAZING this program is amzing thanks really for y...   Oct 16 2007, 14:18
- - pirlouy   If you click on 'options', you will see a ...   Oct 16 2007, 16:42
- - hugo25   I think it miss an option to show size in kb for e...   Oct 16 2007, 16:54
- - francesco   i would love to download automatically the best m...   Oct 18 2007, 09:27
- - francesco   QUOTE (AlexVallat @ Sep 9 2007, 02:06) ...   Oct 28 2007, 17:18
- - Chaser   This component is not designed for downloading lyr...   Oct 28 2007, 19:11
- - francesco   QUOTE (Chaser @ Oct 28 2007, 12:11) This ...   Oct 30 2007, 15:38
- - eldust   QUOTE (francesco @ Oct 30 2007, 06:38) QU...   Oct 30 2007, 16:56
- - Chaser   Though beeing off-topic, take a look at foo_uie_ly...   Oct 30 2007, 21:11
- - Tich   Is the Cover-Paradies script working for anybody? ...   Nov 2 2007, 17:12
|- - AlexVallat   QUOTE (Tich @ Nov 2 2007, 17:12) Is the C...   Nov 2 2007, 18:22
|- - Tich   QUOTE (AlexVallat @ Nov 2 2007, 18:22) Fi...   Nov 2 2007, 19:45
|- - joen   QUOTE (AlexVallat @ Nov 2 2007, 18:22) Fi...   Nov 2 2007, 19:51
- - Melomane   i have a bug with "local files" display....   Nov 2 2007, 21:07
26 Pages V   1 2 3 > » 


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 22nd September 2014 - 07:04