iTunesArt, Utility to automatically download iTMS art for all your albums |
![]() ![]() |
iTunesArt, Utility to automatically download iTMS art for all your albums |
Sep 24 2007, 02:45
Post
#1
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
This is a small program based on iTunes.boo from AlbumArtDownloader (by Alex Vallat and myself) to download iTMS art.
Why would you use this over AlbumArtDownloader? Well the quality of iTunes covers is such that I'm not afraid of getting the wrong cover for an album, and it's easier to just run a script and let it do everything automatically. This version only downloads one image per execution, so can be easily scripted from a BAT file to fit in with your directory structure. CODE Usage: iTunesArt <artist> <album> <path to save (without extension)> Example: iTunesArt "Pink Floyd" "The Piper at the Gates of Dawn" "Floyd\Piper\folder" Example bat file for Artist\Album directory structure, saving as folder.jpg/folder.png: CODE @echo off set scriptdir=%cd% pushd D:\music\albums for /D %%G IN (*) DO (cd %%G for /D %%U IN (*) DO ( IF NOT EXIST "%%U\folder.jpg" IF NOT EXIST "%%U\folder.png" %scriptdir%\iTunesArt.exe "%%G" "%%U" "%%U\folder" ) cd .. ) popd Some images are only available in TIFF format, and the script will convert these automatically to PNG, to save disk space. Download:
iTunesArtCmd.rar ( 75.69K )
Number of downloads: 554Here is the original version which automatically traverses your directory structure (less flexible than the above) CODE Usage: iTunesArt <artist level> <album level> <art filename> <root directory> Example: For music stored as Artist\Album\Track.format, art stored in folder.jpg <artist level> = 1, <album level> = 2, <art filename> = folder (no extension), eg: > iTunesArt.exe 1 2 folder "C:\users\dave\Music" Hopefully the way it reads directory structure is apparent from the above. Source is included. Download:
itunesart.rar ( 75.74K )
Number of downloads: 484Replacement executable which uses a different StoreFront value (dll from above download required):
iTunesArt_alternativestorefront.rar ( 3.99K )
Number of downloads: 356This post has been edited by david_dl: Sep 25 2007, 07:19 |
|
|
|
Sep 24 2007, 03:04
Post
#2
|
|
![]() Group: Members Posts: 1190 Joined: 12-January 06 From: Cambridge, MA Member No.: 27052 |
This program kicks ass!
For trial purposes, i moved my Pedro the lion albums to a "Artist\Album" type directory structure (my structure is currently "Genre\Artist\[date] Album\" which i don't know how to enter A "feature request" would be to allow the directory structure to be customizable... how do i make it work on my structure? |
|
|
|
Sep 24 2007, 03:14
Post
#3
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
This program kicks ass! For trial purposes, i moved my Pedro the lion albums to a "Artist\Album" type directory structure (my structure is currently "Genre\Artist\[date] Album\" which i don't know how to enter A "feature request" would be to allow the directory structure to be customizable... how do i make it work on my structure? I did intend for the structure to be customisable, but didn't foresee anyone including the year in their album folder. If you didn't have the '[date]' part, you would use: CODE iTunesArt 2 3 folder <music path> Otherwise the easiest way is probably just to edit the sourcecode to adapt it to your situation. This post has been edited by david_dl: Sep 24 2007, 03:14 |
|
|
|
Sep 24 2007, 03:42
Post
#4
|
|
![]() Group: Members Posts: 143 Joined: 22-April 03 From: Kristiansand Member No.: 6114 |
Testing it out now
Why does the company say Hewlett-Packard though ? You work for them ? I would love it to work with my folder setup, which is root/Artist - Albumname (year)/ for each album. Right now I cant figure out how to get that to work. I really like the idea! Sweet. This post has been edited by sizetwo: Sep 24 2007, 03:51 |
|
|
|
Sep 24 2007, 04:23
Post
#5
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
Testing it out now Why does the company say Hewlett-Packard though ? You work for them ? No. I have an HP laptop though. No idea why Visual Studio insists on inserting 'Hewlett-Packard' into everything I compile QUOTE I would love it to work with my folder setup, which is root/Artist - Albumname (year)/ for each album. Right now I cant figure out how to get that to work. I really like the idea! Sweet. Yea, it wont work. Have a go at modifying the source to your situation if you've got a C# compiler (you can get one for free from Microsoft, or from http://www.mono-project.com/ This post has been edited by david_dl: Sep 24 2007, 04:23 |
|
|
|
Sep 24 2007, 04:29
Post
#6
|
|
![]() Group: Members Posts: 143 Joined: 22-April 03 From: Kristiansand Member No.: 6114 |
Testing it out now Why does the company say Hewlett-Packard though ? You work for them ? No. I have an HP laptop though. No idea why Visual Studio insists on inserting 'Hewlett-Packard' into everything I compile QUOTE I would love it to work with my folder setup, which is root/Artist - Albumname (year)/ for each album. Right now I cant figure out how to get that to work. I really like the idea! Sweet. Yea, it wont work. Have a go at modifying the source to your situation if you've got a C# compiler (you can get one for free from Microsoft, or from http://www.mono-project.com/ Ok I will. This will be my first C# code, but having looked at the one you supplied I think I could be able to do it... I only know Java, but it doesnt seem like an impossibility. Will let you know if I can do it Update: yeah, I cant This post has been edited by sizetwo: Sep 24 2007, 04:59 |
|
|
|
Sep 24 2007, 06:10
Post
#7
|
|
|
Group: Members Posts: 44 Joined: 26-January 07 Member No.: 40013 |
sounds nice but i have no idea how to use it.
|
|
|
|
Sep 24 2007, 08:02
Post
#8
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
|
|
|
|
Sep 24 2007, 14:39
Post
#9
|
|
![]() Group: Members Posts: 599 Joined: 9-October 03 From: ZZ 9 Plural Z Alpha Member No.: 9230 |
I took my time to modify david_dl's source a bit to suite my own needs a bit better. Now the program understands basic folder name patterns, parsing %artist%, %album% and %ignore%. %artist% and %album% can contain both "word" and "non-word" characters, %ignore% is just for "word" characters, so you have to add multiple space-separated %ignore%-s for multiple words to ignore.
Currently this does not work for multiple folder levels, so something like "%artist%\(%ignore%) %album%" would not match anything, it could even break. Usage is something like this: CODE iTunesArt -path=<root directory> -fileName=<art filename w/o extension> -pattern=<folder pattern> Example: For music stored as \"Artist - (Year) Album\\Track\" format, art stored in folder.jpg iTunesArt -path="c:\My\Music" -fileName=folder -pattern="%artist% - (%ignore%) %album%" Executing without parameters uses the pattern from the example on folder.jpgs in the current folder. As this is my first adventure in C#-Land, I may have made ugly mistakes - please feel free to correct them. The command line parser used was found online here, I think I am allowed to include it in the code. If you have any problems with me publishing this modified program, david_dl, please say so and I will remove it.
iTunesArt_kalmark.zip ( 83.05K )
Number of downloads: 305This post has been edited by kalmark: Sep 24 2007, 21:45 -------------------- Life is Real...
(But not in audio :) ) |
|
|
|
Sep 24 2007, 15:33
Post
#10
|
|
![]() Group: Members Posts: 143 Joined: 22-April 03 From: Kristiansand Member No.: 6114 |
Sweet! That worked very well Kalmark. UPDATE: So its actually just working on probably doing the image conversion, not stoping. Give it some time and it will continue. So in other words, this works perfectly now. Good job! This post has been edited by sizetwo: Sep 24 2007, 16:32 |
|
|
|
Sep 24 2007, 20:36
Post
#11
|
|
|
Group: Members Posts: 30 Joined: 10-September 07 Member No.: 46948 |
Any chance this would search through the japanese iTunes music store?
|
|
|
|
Sep 25 2007, 01:31
Post
#12
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
Any chance this would search through the japanese iTunes music store? You would need to find out the 'Store Front' value for the japanese store, possibly by intercepting the traffic between iTunes and the iTMS servers when iTunes is using a japanese iTMS account. This can then be incorporated into the script. |
|
|
|
Sep 25 2007, 01:45
Post
#13
|
|
|
Group: Members Posts: 568 Joined: 10-July 03 From: Australia Member No.: 7693 |
This is fabulous david_dl.
I have also gone from the boo code to your new C# code for a GUI version of this for iTunes users with full credit to you! 5.11.7.2 Search iTMS artwork during validation of last 100 tracks was ignored 5.11.7.1 CheckBoxes in Checks tab will now be remembered for next launch of iTSfv [Jojo] 5.11.7.0 Implemented several code optimizations to improve performance in validating tracks 5.11.6.5 Prevented rare cases where iTSfv could sometimes fail to overwrite folder.jpg 5.11.6.4 Remix tags for CD Singles will be ignored while searching for iTMS artwork [Jojo] 5.11.6.3 Using improved iTMS artwork search code thanks to david_dl from http://www.hydrogenaudio.org/forums/index....showtopic=57720 5.11.6.2 If folder artwork dimensions match the embedded artwork dimensions, iTSfv did not look for iTMS artwork 5.11.6.1 Artwork available as TIF in iTMS were not found; they will now be converted to JPG and used as iTMS Artwork source 5.11.6.0 iTSfv will now search for Artwork from all the available iTunes Music stores in the world Hope you don't mind. The GUI version searches for all the iTunes Music stores available CODE ' start searching itms artwork Dim listStores As New List(Of cITunesStore) listStores.Add(New cITunesStore("China", 143459)) listStores.Add(New cITunesStore("United States", 143441)) listStores.Add(New cITunesStore("Australia", 143460)) listStores.Add(New cITunesStore("United Kindom", 143444)) listStores.Add(New cITunesStore("Norway", 143457)) listStores.Add(New cITunesStore("Canada", 143455)) listStores.Add(New cITunesStore("Germany", 143443)) listStores.Add(New cITunesStore("New Zealand", 143452)) listStores.Add(New cITunesStore("Japan", 143462)) listStores.Add(New cITunesStore("Denmark", 143458)) listStores.Add(New cITunesStore("France", 143442)) ' TODO: To Add these to list '143445 => 'AT', '143446 => 'BE', '143447 => 'FI', '143448 => 'GR', '143449 => 'IE', '143450 => 'IT', '143451 => 'LU', '143453 => 'PT', '143454 => 'SP', '143456 => 'SE', You can easily do it like that. This post has been edited by ~*McoreD*~: Sep 25 2007, 01:55 |
|
|
|
Sep 25 2007, 02:04
Post
#14
|
|
|
Group: Members Posts: 653 Joined: 1-May 06 From: Canada Member No.: 30281 |
excuse my ignorance, but how is this used?
-------------------- Song List: keikoniumboards.ke.funpic.org/files/songlist.html
|
|
|
|
Sep 25 2007, 06:58
Post
#15
|
|
![]() Group: Members Posts: 143 Joined: 22-April 03 From: Kristiansand Member No.: 6114 |
excuse my ignorance, but how is this used? At the moment you have to know how to use a command line input, such as DOS on Windows. It should be pretty self explanatory. Read the first post, and try to understand it. Meanwhile, you can also read about it here: http://www.computerhope.com/msdos.htm Hope this helps. |
|
|
|
Sep 25 2007, 07:07
Post
#16
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
excuse my ignorance, but how is this used? To download the art for an album, and save it in folder.jpg/folder.png depending on format: CODE itunesart "The Mint Chicks" "Crazy? Yes! Dumb? No!" "folder" (from the commandline). To search through your albums and download art for those without any, save this as a .cmd file, in the same folder as itunesart.exe, and run the script (assuming your albums are in an Artist\Album structure, if not, modify the batch file): CODE @echo off
set scriptdir=%cd% pushd C:\users\david\music\albums for /D %%G IN (*) DO (cd %%G for /D %%U IN (*) DO ( IF NOT EXIST "%%U\folder.jpg" IF NOT EXIST "%%U\folder.png" %scriptdir%\iTunesArt.exe "%%G" "%%U" "%%U\folder" ) cd .. ) popd This post has been edited by david_dl: Sep 25 2007, 07:20 |
|
|
|
Sep 25 2007, 14:03
Post
#17
|
|
![]() Group: Members Posts: 202 Joined: 8-September 07 From: Hamburg, GER Member No.: 46899 |
hi,
wow, great work! this is amazing! sorry, but i m not very good in this commandline-thing. how i have to modify my batch if my structure is like that: QUOTE F:\Musik\A-C\Andy Timmons - Pawn Kings thx in advance |
|
|
|
Sep 25 2007, 23:39
Post
#18
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
hi, wow, great work! this is amazing! sorry, but i m not very good in this commandline-thing. how i have to modify my batch if my structure is like that: QUOTE F:\Musik\A-C\Andy Timmons - Pawn Kings thx in advance Try this: CODE @echo off
set scriptdir=%cd% cd /d F:\musik for /D %%G IN (*) DO (cd %%G for /D %%U IN (*) DO CALL :process_album "%%U" cd .. ) pause goto :eof :process_album set curdir=###%1### set curdir=%curdir:"###=% set curdir=%curdir:###"=% set album=%curdir:*- =% call set artist=%%curdir: - %album%=%% %scriptdir%\itunesart "%artist%" "%album%" "%curdir%\folder" goto :eof |
|
|
|
Sep 27 2007, 02:47
Post
#19
|
|
|
Group: Members Posts: 568 Joined: 10-July 03 From: Australia Member No.: 7693 |
Hi david_dl,
Is iTunes up to something? QUOTE Searching for '50 Cent' - 'Curtis' => "H:\Users\Manno\Desktop\iTunesArtCmd\Music \50 Cent\Curtis\folder" Failed: The remote server returned an error: (403) Forbidden. Press any key to continue . . . Same results for all the other stores from the gui version: QUOTE 20070927T092851 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (United States)
20070927T092852 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Australia) 20070927T092852 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (United Kindom) 20070927T092852 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Norway) 20070927T092852 iTMS Artwork http://a1.phobos.apple.com/r40/Music/68/5b...dj.njxvgobl.tif was not retrievable from iTMS (Norway). 20070927T092852 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Canada) 20070927T092852 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Germany) 20070927T092853 iTMS Artwork http://a1.phobos.apple.com/eu/r40/Music/68...dj.njxvgobl.tif was not retrievable from iTMS (Germany). 20070927T092853 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (New Zealand) 20070927T092853 iTMS Artwork http://a1.phobos.apple.com/eu/r40/Music/68...dj.njxvgobl.tif was not retrievable from iTMS (New Zealand). 20070927T092853 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Japan) 20070927T092853 iTMS Artwork http://a1.phobos.apple.com/eu/r40/Music/68...dj.njxvgobl.tif was not retrievable from iTMS (Japan). 20070927T092853 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (China) 20070927T092854 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (Denmark) 20070927T092854 Searching iTMS Artwork for 50 Cent - Curtis using iTunes Store (France) 20070927T092854 iTMS Artwork http://a1.phobos.apple.com/eu/r40/Music/68...dj.njxvgobl.tif was not retrievable from iTMS (France). 20070927T092854 Could not find iTMS Artwork in any store. |
|
|
|
Sep 27 2007, 04:38
Post
#20
|
|
![]() Group: Members Posts: 143 Joined: 22-April 03 From: Kristiansand Member No.: 6114 |
Yes, Apple has blocked access to it again ...
Read more about it here: http://www.thejosher.net/iTunes/index.php Oh well. Fun while it lasted, and Im sure it will be open again some time. |
|
|
|
Sep 27 2007, 07:48
Post
#21
|
|
|
Group: Members Posts: 604 Joined: 17-December 05 From: New Zealand Member No.: 26461 |
Ah well, at least the tool performed the task it was initially intended for - to get nice, accurate art for all the albums on my computer at once with minimal effort. When I rip new CDs I can just use AlbumArtDownloader. Bad luck to anyone who missed out. I'm guessing the temporary availability of unencrypted art was just a glitch on apple's behalf, but hopefully soon someone will work out how to decrypt the encrypted stuff soon.
|
|
|
|
Sep 27 2007, 13:29
Post
#22
|
|
|
Group: Members Posts: 257 Joined: 27-September 05 Member No.: 24739 |
damn i missed out, i was gonna do my whole collection tonight! any chance some1 could pm me if it comes online again. thanks
|
|
|
|
Sep 28 2007, 09:44
Post
#23
|
|
![]() Group: Members Posts: 2296 Joined: 18-May 03 From: Denmark Member No.: 6695 |
You should still be able to get the artwork through iTunes described here.
-------------------- Can't wait for a HD-AAC encoder :P
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 19th June 2013 - 20:25 |