Skip to main content

Topic: Album Art Downloader XUI (Read 1252258 times) previous topic - next topic

0 Members and 2 Guests are viewing this topic.
Album Art Downloader XUI
Reply #2125
I have a problem with this software. Every time I open it it just displays a blank screen, sometimes black 

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2126
Every time I open it it just displays a blank screen, sometimes black

Hmm. Could be a graphics driver issue, I suppose - try updating to the latest version of the drivers for your graphics card. Other than that, there's not much I can suggest, it's outside the control of the AAD itself. Sorry,

Alex

Album Art Downloader XUI
Reply #2127
It's working now for some reason!

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2128
Alex, is there any way to retrieve the n from "Limit to n Results" setting? I'm working on a script for a site that needs to log out whenever the script is finished running... however I realized that if my n is set to 10 and I get more than 10 results, when I attempt to call results.Add for #11 the script just terminates instantly and I have no ability to logout. All my future searches on that site fail until I close all AAD windows and restart. If I could keep a count and skip calling results.Add when count > n I wouldn't have this problem.

Thanks.

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2129
Alex, is there any way to retrieve the n from "Limit to n Results" setting?
Sorry, I'm afraid there isn't. There probably should be, though, it would be useful for some sources where you can specify how many results you want when requesting them from the server.

For your situation, however, what I would recommend would be the try/finally pattern (try/ensure in boo), to ensure you log out not only if the limit number of results is reached, but also if the user hits Stop. Wrap your results loop something like:

Code: [Select]
try:
  for resultMatch in resultMatches:
    results.Add(...)  
ensure:
  DoLogout();

I hope this helps,

Alex

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2130
That helps a lot, thanks. I'm now logging out correctly no matter what.

Unfortunately there's still some weirdness that happens here. Whenever my search results are greater than the n limit, any future searches on that site fail (progress bar never ends). Apparently logging out didn't fix that problem like I thought it would. For reference this script logs in to a site, retrieves the cookies, and passes those along with the searches. Any ideas/suggestions as to maybe what's going wrong so I don't have to always close AAD and relaunch?

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2131
Whenever my search results are greater than the n limit, any future searches on that site fail (progress bar never ends).
Well that's odd... I assume the same thing happens when the Stop command is used before it finishes?

The script class is only instantiated once (until AAD is restarted), so you could keep the login cookies in a member variable rather than needing to log in with each search; that might help.

Is it a public server? If you PM me the script I can give it a try and see if I notice any reason for that behaviour. Otherwise, the only thing I can suggest is to use Fiddler2 to monitor the http response of the server for search requests, and see if that gives any clues.

Alex

  • MC Escher
  • [*][*][*]
Album Art Downloader XUI
Reply #2132
Bump with a fresh crashlog:
Code: [Select]
Album Art Downloader has encountered a fatal error, and has had to close.
  If you wish to report this error, please include this information, which
  has been written to the file: D:\Program Files\AlbumArtDownloader\errorlog.txt
 
  App version: 0.44.0.0, running on Microsoft Windows NT 6.1.7601 Service Pack 1 (64 bit)
 
  System.Windows.Markup.XamlParseException:  Kan bestand of assembly PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 of een van de afhankelijkheden hiervan niet laden. De parameter is onjuist. (Uitzondering van HRESULT: 0x80070057 (E_INVALIDARG))  Fout bij object System.Windows.Controls.ControlTemplate in opmaakbestand Controls/Xaml/ArtPanel.generic.xaml. ---> System.IO.FileLoadException: Kan bestand of assembly PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 of een van de afhankelijkheden hiervan niet laden. De parameter is onjuist. (Uitzondering van HRESULT: 0x80070057 (E_INVALIDARG))
  Bestandsnaam: PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     bij System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
     bij System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
     bij System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
     bij System.Reflection.Assembly.Load(String assemblyString)
     bij System.Windows.Markup.ReflectionHelper.LoadAssemblyHelper(String assemblyGivenName, String assemblyPath)
     bij System.Windows.Markup.BamlMapTable.GetAssemblyFromAssemblyInfo(BamlAssemblyInfoRecord assemblyInfoRecord)
     bij System.Windows.Markup.BamlMapTable.GetTypeFromTypeInfo(BamlTypeInfoRecord typeInfo)
     bij System.Windows.Markup.BamlMapTable.GetTypeFromId(Int16 id)
     bij System.Windows.Markup.OptimizedTemplateContent.CheckElementStartForOptimization(BamlRecord bamlRecord)
     bij System.Windows.Markup.OptimizedTemplateContent.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.TemplateBamlRecordReader.AddContentRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.TemplateBamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementStartRecord)
     bij System.Windows.Markup.TemplateBamlRecordReader.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.BamlRecordReader.Read(Boolean singleRecord)
     bij System.Windows.Markup.TemplateTreeBuilderBamlTranslator.ParseFragment()
     bij System.Windows.Markup.TreeBuilder.Parse()
     bij System.Windows.Markup.XamlTemplateSerializer.ConvertBamlToObject(BamlRecordReader reader, BamlRecord bamlRecord, ParserContext context)
     bij System.Windows.Markup.BamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementRecord)
     bij System.Windows.Markup.StyleBamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementRecord)
     bij System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
 
 
     --- Einde van intern uitzonderingsstackpad ---
     bij System.Windows.Markup.XamlParseException.ThrowException(String message, Exception innerException, Int32 lineNumber, Int32 linePosition, Uri baseUri, XamlObjectIds currentXamlObjectIds, XamlObjectIds contextXamlObjectIds, Type objectType)
     bij System.Windows.Markup.XamlParseException.ThrowException(ParserContext parserContext, Int32 lineNumber, Int32 linePosition, String message, Exception innerException)
     bij System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.StyleBamlRecordReader.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.BamlRecordReader.Read(Boolean singleRecord)
     bij System.Windows.Markup.StyleTreeBuilderBamlTranslator.ParseFragment()
     bij System.Windows.Markup.TreeBuilder.Parse()
     bij System.Windows.Markup.XamlStyleSerializer.ConvertBamlToObject(BamlRecordReader reader, BamlRecord bamlRecord, ParserContext context)
     bij System.Windows.Markup.BamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementRecord)
     bij System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.Markup.BamlRecordReader.ReadElement(Int64 startPosition, XamlObjectIds contextXamlObjectIds, Object dictionaryKey)
     bij System.Windows.ResourceDictionary.CreateObject(Int32 valuePosition, Object key)
     bij System.Windows.ResourceDictionary.RealizeDeferContent(Object key, Object& value, Boolean& canCache)
     bij System.Windows.ResourceDictionary.GetValueWithoutLock(Object key, Boolean& canCache)
     bij System.Windows.ResourceDictionary.GetValue(Object key, Boolean& canCache)
     bij System.Windows.ResourceDictionary.GetValueWithoutLock(Object key, Boolean& canCache)
     bij System.Windows.ResourceDictionary.GetValue(Object key, Boolean& canCache)
     bij System.Windows.SystemResources.LookupResourceInDictionary(ResourceDictionary dictionary, Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
     bij System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
     bij System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
     bij System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
     bij System.Windows.FrameworkElement.UpdateThemeStyleProperty()
     bij System.Windows.FrameworkElement.OnInitialized(EventArgs e)
     bij System.Windows.Markup.BamlRecordReader.ElementEndInit(Object& element)
     bij System.Windows.Markup.BamlRecordReader.ReadElementEndRecord(Boolean fromNestedBamlRecordReader)
     bij System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
     bij System.Windows.StyleHelper.LoadOptimizedTemplateContent(DependencyObject container, ParserContext parserContext, OptimizedTemplateContent optimizedTemplateContent, FrameworkTemplate frameworkTemplate, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
     bij System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
     bij System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)
     bij System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)
     bij System.Windows.FrameworkElement.ApplyTemplate()
     bij System.Windows.FrameworkElement.MeasureCore(Size availableSize)
     bij System.Windows.UIElement.Measure(Size availableSize)
     bij System.Windows.Controls.WrapPanel.MeasureOverride(Size constraint)
     bij System.Windows.FrameworkElement.MeasureCore(Size availableSize)
     bij System.Windows.UIElement.Measure(Size availableSize)
     bij System.Windows.ContextLayoutManager.UpdateLayout()
     bij System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
     bij System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
     bij System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
     bij System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
     bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
     bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
     bij System.Windows.Threading.DispatcherOperation.InvokeImpl()
     bij System.Threading.ExecutionContext.runTryCode(Object userData)
     bij System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
     bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     bij System.Windows.Threading.DispatcherOperation.Invoke()
     bij System.Windows.Threading.Dispatcher.ProcessQueue()
     bij System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
     bij MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
     bij MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
     bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
     bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
     bij System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
     bij MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
     bij MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
     bij System.Windows.Threading.Dispatcher.TranslateAndDispatchMessage(MSG& msg)
     bij System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
     bij System.Windows.Application.RunInternal(Window window)
     bij AlbumArtDownloader.App.AlbumArtDownloader.IPriorInstance.Run()
     bij AlbumArtDownloader.InstanceMutex.RunAppAsServiceHost(IPriorInstance instance, String channelUri)
     bij AlbumArtDownloader.App.Main(String[] args)
 

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2133
Well that's odd... I assume the same thing happens when the Stop command is used before it finishes?

The script class is only instantiated once (until AAD is restarted), so you could keep the login cookies in a member variable rather than needing to log in with each search; that might help.
Unfortunately, it's not a public server otherwise I'd share with you. I haven't tried stopping before the first search is finished, but I assume it's probably the same behavior.

When you say the script class is only instantiated once, I don't really know where should I put my login code. I assume I'm supposed to move it outside the Search function def, but I'm assuming I need to put it inside another function in the class, otherwise it'll never get called, right?

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2134
Bump with a fresh crashlog
The error reported here is that it can not load the assembly PresentationFramework.Classic. This is an integral part of WPF in .net 3.5, so I don't know why it is unavailable on your system. Unfortunately, I don't really have any good suggestions as to what you can do to resolve this, other than the generic advice to uninstall and reinstall the .net framework.

When you say the script class is only instantiated once, I don't really know where should I put my login code.
Personally, I'd leave it in the login code, but add a check to see if the cookie variable has already been populated by a previous search or not. That way you log in the first time your search is called, and stay logged in until AAD exits. If your script search is never called, you don't need to log in at all.

Alex

  • MC Escher
  • [*][*][*]
Album Art Downloader XUI
Reply #2135
Hm, I'm on Windows 7 where .Net 3.5 is a system component, so there isn't any reinstalling to do I'm afraid. Luckily it doesn't crash every time.

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2136
Personally, I'd leave it in the login code, but add a check to see if the cookie variable has already been populated by a previous search or not. That way you log in the first time your search is called, and stay logged in until AAD exits. If your script search is never called, you don't need to log in at all.


A little more investigation. I moved the declaration of my cookieContainer to be global to the class. I then check to see if cookie.Count == 0 and if so, then I attempt to login and retrieve the cookies, otherwise I just attempt the search request. This works perfectly... except for the fact that I can no longer logout at the end (because then the cookies are invalid and I get no response from my first Get call. Unfortunately I can't just not logout because a user complained about open sessions which are retained on the server that need to be closed. Soooo... is there a finalize method that gets called on the scripts when the program is shutting down and if so, what is it's definition? That's the only place the logout stuff really needs to go IMO.

Edit: I tried it out and there is a finalize method! I wonder if I'm the only one using it  Anyway, logging out in finalize works great. There's still some weirdness I think as I was able to get it to have the weird hang at least once since, but it's possible it was timeout on the server end or something else that wasn't handled right. It's working 90% of the time and that's good enough for me.

Thanks for all your help Alex. This program is really well done.
  • Last Edit: 13 June, 2012, 05:33:30 PM by MordredKLB

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2137
I get a lot of my music from bandcamp which has somewhat recently started including really high-res artwork on their site. It comes up a lot for me in my LargeGoogleImage script I posted earlier, but I realized that I wanted a more targeted script for just bandcamp, so here it is:

https://www.dropbox.com/s/05br4is3834w5lx/bandcamp.boo

It's basically a modified google search restricted to site:bandcamp.com and using an exact artist match (i.e. quotes around the artist) to greatly restrict the results and only return images > 640x480. In playing around with it I've found that you can restrict the results to 4 or so and always get the cover you want. I wouldn't mind if it made it into the next AAD release either.

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2138
Hm, I'm on Windows 7 where .Net 3.5 is a system component, so there isn't any reinstalling to do I'm afraid. Luckily it doesn't crash every time.

I think you can do this by going to Add/Remove, clicking Turn Windows Features On or Off, then checking or unchecking "Microsoft .NET Framework 3.5.1". Might not work anyway, but could be worth a shot. The fact that it doesn't crash every time is even more curious. If you can figure out anything different on your system (other software running? previously run?) between the times it does crash and the times it doesn't, that might also be a clue.


Thanks for the script. I'm afraid that from prior experience, I'm not going to include any scripts that are specialisations of google image search in AAD as I find that too often running multiple google image searches triggers their anti-robot protections. I'd recommend that if you use this one, you disable the plain google image search, or at least make one search-first. Or just take your chances, of course, but that's not good enough for including the script officially.

Bandcamp does look like a useful source though, so I'll probably do a custom script that searches it directly when I get a little time.

Alex


  • MC Escher
  • [*][*][*]
Album Art Downloader XUI
Reply #2139
The weird thing is that if I try it a couple of times in a row, sometimes it will fail, sometimes it will fail with a crash log (though rarely) and sometimes it will work as normal. All in the space of seconds. I don't think I'll ever see what's different on my computer when what happens. I'll try switching .net off and on.

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2140
Thanks for the script. I'm afraid that from prior experience, I'm not going to include any scripts that are specialisations of google image search in AAD as I find that too often running multiple google image searches triggers their anti-robot protections. I'd recommend that if you use this one, you disable the plain google image search, or at least make one search-first. Or just take your chances, of course, but that's not good enough for including the script officially.

Bandcamp does look like a useful source though, so I'll probably do a custom script that searches it directly when I get a little time.

Alex
Interesting. I've never encountered their anti-robot stuff and I normally run my Google/LargeGoogle and I might still have the Google-Itunes script going as well on some computers here. I did setup the bandcamp to search first though.

I'm not a big fan of the results from the bandcamp search (which was why I used google), but I could probably whip something up as an alternative if you wanted me to.

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2141
I'm not a big fan of the results from the bandcamp search (which was why I used google), but I could probably whip something up as an alternative if you wanted me to.
Sure, if you get a chance to put together a native bandcamp search, I'll include it with the rest of the bundled scripts.

I had a quick look at the site, and annoyingly it doesn't seem like the ID of the full size image has any relation to the thumbnail, or any other part of the results list, so it's going to be a case of loading the page for each album in the results to extract the full size image URL.

Alex

  • MordredKLB
  • [*][*][*]
Album Art Downloader XUI
Reply #2142
Sure, if you get a chance to put together a native bandcamp search, I'll include it with the rest of the bundled scripts.

I had a quick look at the site, and annoyingly it doesn't seem like the ID of the full size image has any relation to the thumbnail, or any other part of the results list, so it's going to be a case of loading the page for each album in the results to extract the full size image URL.

Yup. That's annoying and there's no way to get the dimensions of the cover without downloading the full size which always bugs me.

  • r0k
  • [*][*]
Album Art Downloader XUI
Reply #2143
Downloading Lyrics

Hi. I know the point of this application is cover art, but seeing how the lyrics downloaders i found here and through big "g" are either mp3 only, crashware or abandonware, do you think it would be possible to add a lyrics search feature?
I guess the modular, script driven nature of AAD would help implement this without complete recoding, isn't it?

This is definitely the best album art downloading application i tested. A lyrics downloader of equal quality would be great.

That being said, suggesting features is easier than coding them

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2144
Downloading Lyrics

Thanks for the suggestion - I'm not really sure how good a fit it is, a lot of AAD is designed around showing the artwork that it finds, and helping you choose the best one. I suppose you could do a script that would just give blank images and lyrics files instead of image files, it wouldn't be a great UI for it, but it would work.

Unfortunately I have no idea about the actual lyrics downloading; are they special files with embedded timing information, or just text? Are they even files for download, or are you talking about scraping text of html pages? Are there sites offering lyrics for download, and how friendly or otherwise are they to automated access? This just isn't my area of expertise, I'm afraid, but if anyone who is interested wants to work on it and wants some help, let me know.

Alex

  • r0k
  • [*][*]
Album Art Downloader XUI
Reply #2145
Thank you for considering the suggestion
Lyrics come in two format, synchronized and raw. Raw is just plain text, can be saved as txt or anything or embedded (but i don't care about embedding, this can be done with other applications). Synced is plain text with some time "tag" at the start of every line and are often saved as lrc files. Those are just plain text with a different extension. Here's the start of an lrc file i synced some time ago.
Code: [Select]
[ar: Kingfisher Sky]
  
   [ti: Rise From The Flames]
  
   [al: Skin of the Earth]
  
   [length: 03:37]
  
   [00:17.44]There you are, down on the ground
  
   [00:23.52]Curled up and weary
  
   [00:26.33]Buried your face inside your hands
  
   [00:31.96]So grey and dark

As for downloading, i think there are (or used to be at least) some sites offering file downloads, but most need to be parsed. And of course, parsing would be different for every site as they can't all use a standard format 
Quote
Are there sites offering lyrics for download, and how friendly or otherwise are they to automated access? This just isn't my area of expertise, I'm afraid, but if anyone who is interested wants to work on it and wants some help, let me know.

There are plenty of such sites out there  Their level of friendlyness is probably variable too. I guess it's not too different for images.

As for the parsing, i've found a python script that works with amarok and some other Linux players that can retreive lyrics for the playing song and parse the websites, but it uses a python module to parse automatically so it's not possible to copy-paste-translate some parsing code.[/size]

  • borisag
  • [*]
Album Art Downloader XUI
Reply #2146
Hello
First of all i want to thank the author for this program.
I don't know if someone has made this already but I'm gonna explain how i use AAD with Mediamonkey. I want to thank also g.p.m for his post in this forum (page 62) of how to use AAD with MP3tag.
First obviously you have to have installed Mediamonkey and its script ExternalTools by Steegy (download in here http://home.scarlet.be/ruben.castelein/MM/...alTools14.mmip).
Now in Mediamonkey Tools menu choose Options, and ExternalTools in the General tab.
Fill the blanks as following:
Tool Name: Album Art
Description: Album Art Downloader
Shortcut: AlbumArt
Icon Path: C:\Program Files\AlbumArtDownloader\AlbumArtDownloader.ico (or the icon from the folder where you have installed AAD)
Program Path: C:\Program Files\AlbumArtDownloader\AlbumArt.exe (or the .exe from the folder where you have installed AAD)
Paramethers: /ar "%a" /al "%l" /p "%p"\%l".jpg""
Execute Tool: any option is fine in you have to search covers one by one or multiple tracks (i don't know if the program crashes with too many tracks at once)
Finally choose "Add as new" buttom at the top and OK
Now you can right clic on any track or tracks from the library and select Tools/ Album Art

  • AlexVallat
  • [*][*][*][*][*]
  • Developer
Album Art Downloader XUI
Reply #2147
The best of the best would be to display a sample of the text instead of images.

Certainly, that wouldn't be too hard to do in a script (rendering it into an image in the same way you mentioned). Image viewing tools would not be ideal to look at that, but better than nothing, I guess. Thanks for the additional information on the lyrics. If there's already a script which works, then that's quite interesting, it proves it's possible, at least.

i don't know if the program crashes with too many tracks at once

Thanks for your detailed instructions! If you don't mind, I'll post them to the wiki alongside the ones for MP3Tag? AAD should very much not crash with too many tracks at once! It will, by default, do up to three searches simultaneously and queue the rest up until those are closed: Queueing Searches.

Alex

  • borisag
  • [*]
Album Art Downloader XUI
Reply #2148
i don't know if the program crashes with too many tracks at once

Thanks for your detailed instructions! If you don't mind, I'll post them to the wiki alongside the ones for MP3Tag? AAD should very much not crash with too many tracks at once! It will, by default, do up to three searches simultaneously and queue the rest up until those are closed: Queueing Searches.

Alex


Of course I don't mind. But I have to make a make a correction in Paramethers you have to fill with
/ar "%a" /al "%l" /p %p\%l.jpg (if you want to save the cover in the same folder as the .mp3 with the name of the album.jpg) or
/ar "%a" /al "%l" /p %p\folder.jpg (if you want to save the cover as folder.jpg)
A suggestion to embedd the image to the mp3 file you can use the Mediamonkey script Album art Tagger created by Trixmoto or the program Mp3Tag

  • borisag
  • [*]
Album Art Downloader XUI
Reply #2149
Hi Alex
I think the GoogleImage script isn't working.
Is it possible a Bing script also?
Thanks