Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Album Art Downloader XUI (Read 2212014 times) previous topic - next topic
0 Members and 11 Guests are viewing this topic.

Album Art Downloader XUI

Reply #2375
when I scan my directories for audio files with AAD it recognizes just the CD 1 directory and throws the fetched covers only in there.

AAD doesn't have functionality for automatically making multiple copies of covers, no. I would suggest that if you have:

Artist A\Album A\CD 1\song.mp3
Artist A\Album A\CD 2\song.mp3

then the artwork logically belongs in

Artist A\Album A\cover.jpg

Whether that's useful or not would depend on whether your player of choice can be configured to look there for one, of course.

Alex

Album Art Downloader XUI

Reply #2376
when I scan my directories for audio files with AAD it recognizes just the CD 1 directory and throws the fetched covers only in there.

AAD doesn't have functionality for automatically making multiple copies of covers, no. I would suggest that if you have:

Artist A\Album A\CD 1\song.mp3
Artist A\Album A\CD 2\song.mp3

then the artwork logically belongs in

Artist A\Album A\cover.jpg

Whether that's useful or not would depend on whether your player of choice can be configured to look there for one, of course.

Alex

i use foobar and it could certainly do that, but i usually integrate the covers in the metatag :/
AAD doesnt need to make automatic copies to the other directories, treating the different directory as separate object to download would be enough (double the traffic but thats not the problem)

Album Art Downloader XUI

Reply #2377
Situations like that are precisely why I use a single directory for any given album, even multidisc ones. If there is an album or collection with a single title that is comprised of more than one physical medium, then I incorporate that into track numbering.

Of course, that's just personal preference.

Album Art Downloader XUI

Reply #2378
AAD doesnt need to make automatic copies to the other directories, treating the different directory as separate object to download would be enough (double the traffic but thats not the problem)

I can't think of any good way to do this. Albums are identified just by artist and album title, so if the two directories had to be listed twice (in the file browser) then they would have to have different artist names or different album titles - technically it could be done by including the CD folder name in the album title or something, but that wouldn't help much with the searching.

I think the best thing I can suggest to achieve this result is to do it in two passes. First, starting in your root music folder, use Windows Explorer to search for "CD 1" (or even "filename:cd1 kind:folder" if you are getting false positives). That will give you a list of all your CD 1 folders, so grab those, drag and drop them onto a fresh AAD File Browser window. Once you've dealt with all the albums in your CD 1 folders, you can then repeat the process with a new fresh file browser window, but in Windows Explorer search for "CD 2" instead.

Not ideal, I know, but then treating the directories separately and downloading twice is never going to be ideal!

Alex

Album Art Downloader XUI

Reply #2379
thanks for all your replys!


Situations like that are precisely why I use a single directory for any given album, even multidisc ones. If there is an album or collection with a single title that is comprised of more than one physical medium, then I incorporate that into track numbering.

Of course, that's just personal preference.

i thought about changing my current style to this, unfortunately i have a large number of albums now where only 1 cd has a cover, when i throw them in 1 directory AAD will find the cover in the first file and ignore the whole album


I can't think of any good way to do this. Albums are identified just by artist and album title, so if the two directories had to be listed twice (in the file browser) then they would have to have different artist names or different album titles - technically it could be done by including the CD folder name in the album title or something, but that wouldn't help much with the searching.

i list the files by id3 tags in AAD, it would be enough to consider the DISCNUMBER-tag as grouping criteria, just like album name aswell as artist


I think the best thing I can suggest to achieve this result is to do it in two passes. First, starting in your root music folder, use Windows Explorer to search for "CD 1" (or even "filename:cd1 kind:folder" if you are getting false positives). That will give you a list of all your CD 1 folders, so grab those, drag and drop them onto a fresh AAD File Browser window. Once you've dealt with all the albums in your CD 1 folders, you can then repeat the process with a new fresh file browser window, but in Windows Explorer search for "CD 2" instead.

Not ideal, I know, but then treating the directories separately and downloading twice is never going to be ideal!

Alex

didn't know that i can just drag something from windows search window in AAD, thats probably the best way to first fix my current situation and then switch to "1 folder mode"

thanks everybody!

Album Art Downloader XUI

Reply #2380
Hello guys. What wrong in my foo_run config for Album Art Downloader ?
"F:\Программы\Установленные\AlbumArtDownloader\AlbumArt.exe" -ae on -pf on -ar "%album artist%" -al "%album%" -p "$replace(%_path%,'\'%_filename_ext%,)" -f "cover.'%'extension'%'"
errorlog:
Code: [Select]
>"F:\Программы\Установленные\AlbumArtDownloader\AlbumArt.exe" -ae on -pf on -ar "Bong" -al "Exhalation / Tonight We Pretend We Are Human Beings (12")" -p "D:\Музыка\#unsorted\Bong\2009 - Bong & Quttinirpaaq - Split EP" -f "cover.%extension%"

Album Art Downloader XUI version 1.0.0.0

**** Unexpected command line parameter:  ****

With other albums, everything is working fine. This first problem a few years of use this software. Sorry for bad english.

Album Art Downloader XUI

Reply #2381
Hello guys. What wrong in my foo_run config for Album Art Downloader ?

It looks like the problem here is that the album title has a " in it. So I guess a solution would be to use "$replace(%album%",'"','\"')" instead of "%album%"

I think ought to escape it so that " is replaced by \"

Alex

Album Art Downloader XUI

Reply #2382
Yes, everything works fine, but I think in the code "$replace(%album%", '"', '\"') " a red quotes is unnecessary. Alex thanks.

Album Art Downloader XUI

Reply #2383
I think I've said it before but because it is so true... Love this thing! Thanks for everything!

But... two minor quibbles?

1. The "Set default minimum size filter from largest result found" in Local Files (which I have to say I absolutely love!!!!) bleeds over into the other simultaneous searches. If have that set to 3 and it finds an 800px, a 700px and a 600px the results get filtered to either 800, 700 or 600 depending on what order those open in. Very minor, and since I generally sort by size before I "Get Artwork" I don't notice it often.

2. The Windows 7 taskbar icon does a progress bar "thing" as results load. However, it doesn't look like it includes the progress of loading full size images. Is it possible that the taskbar progress could be inclusive of all progresses?

Thanks again!

Matt

Album Art Downloader XUI

Reply #2384

Thanks for your comments, and sorry for the delayed reply.

Unfortunately settings like the size filter are global application settings, so changing them is not going to play nicely with doing simultaneous searches. I appreciate that this does make the local sources auto-setting of that value less useful, but I don't want to change the whole settings model to provide individual filter settings per window.

If you have sources set to always download full size images (in the source settings) then that will be included in the task button progress indicator, as the result will only be included once the image is downloaded. If you are using the global "Automatically download full-size images" setting, though, then this runs in the background. The search is still complete once all sources have finished returning their results (with thumbnails), and that's what the progress indicator is showing. The background task to download full-size images will just keep going as long as there are more thumbnails that need replacing with full size images, but it doesn't mean that the results aren't already ready for viewing.

I think it's appropriate that the progress indicates completion when all the results are available, even if background work to download full-size images for those results continues.

Alex

Album Art Downloader XUI

Reply #2385
Unfortunately settings like the size filter are global application settings, so changing them is not going to play nicely with doing simultaneous searches. I appreciate that this does make the local sources auto-setting of that value less useful, but I don't want to change the whole settings model to provide individual filter settings per window.


As I said, I sort by descending size first so I notice it rarely. Just wanted to make sure it was a known "thing".

I think it's appropriate that the progress indicates completion when all the results are available, even if background work to download full-size images for those results continues.


I would respectfully disagree. I think that a progress bar for Window X should indicate that Window X is still doing something (foreground or background) and that it is not yet a finished thing BUT since there is a work around... That works in the meantime.

All that said, I cannot say enough times how much help AAD has been in cleaning up the cover art I have in my collection. THANKS!

BTW: Have you seen the Firefox plugin azid (http://www.craue.de/azid/) that is able to reconstruct the multipart Zoom images from the Amazon MP3 store. When I used azid it was able to pull a 1400x1400 cover from behind the scenes at Amazon BUT of course I need to individually search for and find each album before I'm able to use that FF plugin.

Thanks again!

Matt

Album Art Downloader XUI

Reply #2386
Have you seen the Firefox plugin azid (http://www.craue.de/azid/) that is able to reconstruct the multipart Zoom images from the Amazon MP3 store.

No, I hadn't seen that, thanks for the tip. In principle, if Firefox and a plugin can do it, it ought to be possible for an AAD script to do too. Whether that would just kick off an arms race of amazon adding further protection for their larger images or if they just wouldn't care, I don't know!

Album Art Downloader XUI

Reply #2387
i recently noticed some high quality images on amazon and AAD already fetches them. i've just pre-ordered Emilíana Torrini - Tookah and you can download 1500x1500px art just by clicking the image to expand and then right clicking>save as. no addons required.

UK: http://www.amazon.co.uk/Tookah-Emiliana-To...3764&sr=8-1
US: http://www.amazon.com/Tookah-Emiliana-Torr...4655&sr=8-1

if you search for this album in AAD, it actually returns a 2560x2560 image. 

Album Art Downloader XUI

Reply #2388
Is it possible to save the artwork in the folder where the music files are?

in foobar I typed $puts(cpath4,$replace(C:\Users\UserName\Pictures\Album Art\%artist%\%album%,%filename_ext%,folder.jpg))
to find the cover sources, but is does not work

so now I have the music on one hard drive and the cover art on another hard drive, and seems impossible to join them.

I'd like to tell Album Art Downloader to save the images in the location of the music files to avoid this.

Album Art Downloader XUI

Reply #2389
Is it possible to save the artwork in the folder where the music files are?

Yes, from foobar2000 this is generally done by using the parameter /p "$replace(%path%,%filename_ext%,)folder.%%extension%%" (rather than hard-coding the location as in your example)

Alex

Album Art Downloader XUI

Reply #2390
Is it possible to save the artwork in the folder where the music files are?

Yes, from foobar2000 this is generally done by using the parameter /p "$replace(%path%,%filename_ext%,)folder.%%extension%%" (rather than hard-coding the location as in your example)

Alex


Thanks for your answer Alex, but I'm not sure I understand.

My music is on the hard drive E:.
In AAD I left the default settings which means it saves the pictures to C:\Users\UserName\Pictures\Album Art\%artist%\%album%\Folder%preset%.%extension%

And in foobar I have these 3 cover sources defined in Settings (using Slides 1.8 and foobar 1.29) :
$puts(cpath1,$replace(%path%,%filename_ext%,*folder*.*))
$puts(cpath2,$replace(%path%,%filename_ext%,*))
$puts(cpath3,$replace(%path%,%directory%\%filename_ext%,*))
I believe these 3 cover sources point to E: in the %path% variable.

so either I need to define a 4th cover source in foobar that points to C:\Users\UserName\Pictures\Album Art\%artist%\%album%,
or I need to be able to tell AAD to save pictures in E: in the same folder where the music files are, so that one of the 3 already existing cover sources can pick up the cover art.

Album Art Downloader XUI

Reply #2391

Ah, OK, I misunderstood where you were coming from. So you aren't launching AAD from Foobar2000, then? In that case, the question is, where are you starting from? - if you are just typing in an artist and album name then there's no way it can know where your music is, and therefore how to save to that location, unless you use a strict naming convention (like using E:\Music\%artist%\%album%\Folder%preset%.%extension% for example).

If you are starting from the File Browser then it should already be saving music to the folder in which it finds the album - just make sure that the "Specify path to find images" box in the File Browser options is a relative path, not an absolute one. The default is Folder%preset%.%extension%|Cover%preset%.%extension% Just Folder.jpg would do the job under most circumstances, though!

Album Art Downloader XUI

Reply #2392

Ah, OK, I misunderstood where you were coming from. So you aren't launching AAD from Foobar2000, then? In that case, the question is, where are you starting from? - if you are just typing in an artist and album name then there's no way it can know where your music is, and therefore how to save to that location, unless you use a strict naming convention (like using E:\Music\%artist%\%album%\Folder%preset%.%extension% for example).

If you are starting from the File Browser then it should already be saving music to the folder in which it finds the album - just make sure that the "Specify path to find images" box in the File Browser options is a relative path, not an absolute one. The default is Folder%preset%.%extension%|Cover%preset%.%extension% Just Folder.jpg would do the job under most circumstances, though!


In foobar when I see an album without cover art I right click, then click on "Cover Search" in the context menu. This starts AAD and finds cover art that it saves to a default folder which is "C:\Users\UserName\Pictures\Album Art\%artist%\%album%\Folder%preset%.%extension%".

But I'm thinking to go the other way round. Instead of trying to put the pictures in same folders as the music, just tell foobar to search for the pictures in right place.

so this is the default in foobar : $puts(cpath1,$replace(%path%,%filename_ext%,*folder*.*)) . this tells foobar: "search for a file named folder in the same directory as the track played".

I want to tell foobar "go search in  C:\Users\UserName\Pictures\Album Art\%artist%\%album% and take any image file there

the thing is I'm not sure about how to tell the path in C++

I tried $puts(cpath1,$replace(C:\Users\UserName\Pictures\Album Art\%artist%\%album%,%filename_ext%,*)) but does not work. any idea what would be the correct syntax?


Album Art Downloader XUI

Reply #2393
I want to tell foobar "go search in  C:\Users\UserName\Pictures\Album Art\%artist%\%album% and take any image file there

the thing is I'm not sure about how to tell the path in C++

I tried $puts(cpath1,$replace(C:\Users\UserName\Pictures\Album Art\%artist%\%album%,%filename_ext%,*)) but does not work. any idea what would be the correct syntax?

Seems to me that you don't need $replace in there at all. Why not just: $puts(cpath1,C:\Users\UserName\Pictures\Album Art\%artist%\%album%\*.jpg) ? Or instead of *.jpg, perhaps folder.* or even folder.jpg, or whatever you know your image files will be named as. Just plain * might work, but it will be trying to load all files in that folder as images - it ought to be smart enough to keep trying until it finds one it can load, I guess.

Alex

Album Art Downloader XUI

Reply #2394
I want to tell foobar "go search in  C:\Users\UserName\Pictures\Album Art\%artist%\%album% and take any image file there

the thing is I'm not sure about how to tell the path in C++

I tried $puts(cpath1,$replace(C:\Users\UserName\Pictures\Album Art\%artist%\%album%,%filename_ext%,*)) but does not work. any idea what would be the correct syntax?

Seems to me that you don't need $replace in there at all. Why not just: $puts(cpath1,C:\Users\UserName\Pictures\Album Art\%artist%\%album%\*.jpg) ? Or instead of *.jpg, perhaps folder.* or even folder.jpg, or whatever you know your image files will be named as. Just plain * might work, but it will be trying to load all files in that folder as images - it ought to be smart enough to keep trying until it finds one it can load, I guess.

Alex


hi,
well in the end this motivated me to reorganize all my folders using a strict structure (E:\Music\%artist%\%album%). It took a few hours but at least now AAD works as it should. I used MediaMonkey, it did a good job. it took me a bit of time to get the settings I wanted with AAD but now I think it works well and is very useful, so thanks for making it available.

Album Art Downloader XUI

Reply #2395
I have the following problem, I cant for some reason get AAD to work anymore.
That's a weird one. Can you check if there is a file called AlbumArt.exe.config in the same folder as your AlbumArt.exe? If so, try deleting that. If not, or if it still doesn't work, then try resetting the settings by deleting the folder %localappdata%\AlbumArtDownloader



Sorry for the really late reply. I have neither of the file/folder you mentioned. Also whats even more strange neither the ZIPped stand-alone version work, I get the same thing... I'd really like to get this working as its a lifesaver.

Album Art Downloader XUI

Reply #2396
I have neither of the file/folder you mentioned.

Huh. So you haven't got any .config file, either as AlbumArt.exe.config, or in %localappdata%, but it's throwing an error complaining about an invalid connectionStrings section in the config file. Not really sure where it's getting that config from! I suppose it's always possible something has gone wrong with your machine-level config file. Could you check C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config and search for connectionStrings? It should look like this:

Code: [Select]
  <connectionStrings>
    <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
  </connectionStrings>

Alex

Album Art Downloader XUI

Reply #2397
I'm getting this error no matter what I search on.  I tried uninstalling and re-installing.  Win 7 x64.

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: C:\Users\Greg\AppData\Local\Temp\AAD_errorlog.txt

App version: 1.0.0.0, running on Microsoft Windows NT 6.1.7601 Service Pack 1 (64 bit)

System.Windows.Markup.XamlParseException: Cannot convert the value in attribute 'Style' to object of type 'System.Windows.Style'. '65535' glyph index is not valid for the specified font.
Parameter name: glyphIndex  Error at object 'System.Windows.Controls.TextBlock' in markup file 'Controls/Xaml/ArtPanel.generic.xaml'. ---> System.ArgumentOutOfRangeException: '65535' glyph index is not valid for the specified font.
Parameter name: glyphIndex ---> System.ArgumentOutOfRangeException: '65535' glyph index is not valid for the specified font.
Parameter name: glyphIndex
  at MS.Internal.FontCache.FontFaceLayoutInfo.Metrics(UInt16 glyphIndex)
  at System.Windows.Media.GlyphTypeface.GetAdvanceWidth(UInt16 glyph)
  at System.Windows.Media.TextFormatting.TextShapeableCharacters.GetAdvanceWidthsUnshaped(Char* characterString, Int32 characterLength, Double scalingFactor, Int32* advanceWidthsUnshaped)
  at MS.Internal.TextFormatting.LineServicesCallbacks.GetRunCharWidths(IntPtr pols, Plsrun plsrun, LsDevice device, Char* charString, Int32 stringLength, Int32 maxWidth, LsTFlow textFlow, Int32* charWidths, Int32& totalWidth, Int32& stringLengthFitted)
  --- End of inner exception stack trace ---
  at MS.Internal.TextFormatting.TextMetrics.FullTextLine.FormatLine(FullTextState fullText, Int32 cpFirst, Int32 lineLength, Int32 formatWidth, Int32 finiteFormatWidth, Int32 paragraphWidth, LineFlags lineFlags, FormattedTextSymbols collapsingSymbol)
  at MS.Internal.TextFormatting.TextMetrics.FullTextLine..ctor(FormatSettings settings, Int32 cpFirst, Int32 lineLength, Int32 paragraphWidth, LineFlags lineFlags)
  at MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal(TextSource textSource, Int32 firstCharIndex, Int32 lineLength, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache)
  at MS.Internal.TextFormatting.TextFormatterImp.FormatLine(TextSource textSource, Int32 firstCharIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak)
  at System.Windows.Media.FormattedText.LineEnumerator.FormatLine(TextSource textSource, Int32 textSourcePosition, Double maxLineLength, TextParagraphProperties paraProps, TextLineBreak lineBreak)
  at System.Windows.Media.FormattedText.LineEnumerator.MoveNext()
  at System.Windows.Media.FormattedText.DrawAndCalculateMetrics(DrawingContext dc, Point drawingOffset, Boolean getBlackBoxMetrics)
  at System.Windows.Media.FormattedText.get_Metrics()
  at System.Windows.Media.FormattedText.get_Width()
  at AlbumArtDownloader.Controls.Utilities.FormattedTextInfo..ctor(String text, CultureInfo culture, TextBlock textBlock)
  at AlbumArtDownloader.Controls.Utilities.GetTextWidth(String text, TextBlock textBlock, CultureInfo culture)
  at AlbumArtDownloader.Controls.TooltipEnabledOnOverflowConverter.Convert(Object[] values, Type targetType, Object parameter, CultureInfo culture)
  at System.Windows.Data.MultiBindingExpression.TransferValue()
  at System.Windows.Data.MultiBindingExpression.UpdateTarget(Boolean includeInnerBindings)
  at System.Windows.Data.MultiBindingExpression.AttachOverride(DependencyObject d, DependencyProperty dp)
  at System.Windows.Data.BindingExpressionBase.Attach(DependencyObject target, DependencyProperty dp)
  at System.Windows.StyleHelper.GetInstanceValue(UncommonField`1 dataField, DependencyObject container, FrameworkElement feChild, FrameworkContentElement fceChild, Int32 childIndex, DependencyProperty dp, Int32 i, EffectiveValueEntry& entry)
  at System.Windows.StyleHelper.GetChildValueHelper(UncommonField`1 dataField, ItemStructList`1& valueLookupList, DependencyProperty dp, DependencyObject container, FrameworkObject child, Int32 childIndex, Boolean styleLookup, EffectiveValueEntry& entry, ValueLookupType& sourceType, FrameworkElementFactory templateRoot)
  at System.Windows.StyleHelper.GetChildValue(UncommonField`1 dataField, DependencyObject container, Int32 childIndex, FrameworkObject child, DependencyProperty dp, FrugalStructList`1& childRecordFromChildIndex, EffectiveValueEntry& entry, ValueLookupType& sourceType, FrameworkElementFactory templateRoot)
  at System.Windows.StyleHelper.GetValueFromStyleOrTemplate(FrameworkObject fo, DependencyProperty dp, EffectiveValueEntry& entry)
  at System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp)
  at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1& exclusionContainerDependents, FrugalStructList`1& oldContainerDependents, FrugalStructList`1& newContainerDependents)
  at System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle)
  at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
  at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
  at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
  at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
  at System.Windows.Controls.TextBlock.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
  at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
  at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType)
  at System.Windows.TemplateApplicationHelper.SetDependencyValueCore(DependencyObject dependencyObject, DependencyProperty dp, Object value)
  at System.Windows.Markup.BamlRecordReader.SetPropertyValue(Object o, PropertyDefinition propertyDefinition, Object value)
  at System.Windows.Markup.BamlRecordReader.BaseReadOptimizedMarkupExtension(Object element, Int16 attributeId, PropertyDefinition propertyDefinition, Object value)
  --- End of inner exception stack trace ---
  at System.Windows.Markup.XamlParseException.ThrowException(String message, Exception innerException, Int32 lineNumber, Int32 linePosition, Uri baseUri, XamlObjectIds currentXamlObjectIds, XamlObjectIds contextXamlObjectIds, Type objectType)
  at System.Windows.Markup.XamlParseException.ThrowException(ParserContext parserContext, Int32 lineNumber, Int32 linePosition, String message, Exception innerException)
  at System.Windows.Markup.BamlRecordReader.BaseReadOptimizedMarkupExtension(Object element, Int16 attributeId, PropertyDefinition propertyDefinition, Object value)
  at System.Windows.Markup.BamlRecordReader.ReadPropertyWithStaticResourceIdRecord(BamlPropertyWithStatic
ResourceIdRecord bamlPropertyWithStaticResourceIdRecord)
  at System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
  at System.Windows.StyleHelper.LoadOptimizedTemplateContent(DependencyObject container, ParserContext parserContext, OptimizedTemplateContent optimizedTemplateContent, FrameworkTemplate frameworkTemplate, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
  at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
  at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)
  at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)
  at System.Windows.FrameworkElement.ApplyTemplate()
  at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
  at System.Windows.UIElement.Measure(Size availableSize)
  at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
  at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
  at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
  at System.Windows.UIElement.Measure(Size availableSize)
  at System.Windows.ContextLayoutManager.UpdateLayout()
  at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
  at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
  at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
  at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
  at System.Windows.Threading.DispatcherOperation.InvokeImpl()
  at System.Threading.ExecutionContext.runTryCode(Object userData)
  at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
  at System.Windows.Threading.DispatcherOperation.Invoke()
  at System.Windows.Threading.Dispatcher.ProcessQueue()
  at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
  at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
  at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
  at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
  at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
  at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
  at System.Windows.Threading.Dispatcher.TranslateAndDispatchMessage(MSG& msg)
  at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
  at System.Windows.Application.RunInternal(Window window)
  at AlbumArtDownloader.App.AlbumArtDownloader.IPriorInstance.Run()
  at AlbumArtDownloader.InstanceMutex.RunAppAsServiceHost(IPriorInstance instance, String channelUri)
  at AlbumArtDownloader.App.Main(String[] args)

Album Art Downloader XUI

Reply #2398
I'm getting this error no matter what I search on.  I tried uninstalling and re-installing.  Win 7 x64.

Looks to me like your installation of WPF is broken or corrupt in some way. You could try uninstalling and re-installing the .NET Framework, but other than that, I don't really know what to suggest, sorry.

Alex

Album Art Downloader XUI

Reply #2399
You could try uninstalling and re-installing the .NET Framework, but other than that, I don't really know what to suggest, sorry.

Before trying a complete re-install, I installed all pending Windows updates (other than driver updates) and the issue seems to have been resolved. 
Not sure how or why it broke but looks to me that it obviously wasn't an issue with AAD. Thank you.