I’ve been having trouble getting Mugshot to pick up what I was playing in iTunes. The Music Radar just wouldn’t pick up anything from iTunes. I’m running iTunes 7.0.2. I’d usually play music via Windows Media Player, but Mugshot doesn’t currently support that; therefore, iTunes it is.
Looking at the code in client\windows\HippoUI\iTunesMonitor.cpp, I saw this:
#import <libid:9E93C96F-CF0D-43F6-8BA8-B807A3370712> named_guids raw_dispinterfaces
So, the code tries to register for use of the iTunes COM interfaces. Unfortunately, searching through the Windows registry, I couldn’t find any sign of that GUID. I also took a look at all of the type libraries that the system did know about, using the free Type Library Viewer from iTripoli. I couldn’t find any sign of the iTunes type library, although I could see an iTunes admin library and an iTunes Outlook addin.
You can usually register DLLs with regsvr32. Unfortunately, the iTunesApp class is in the main iTunes type library, which is represented by iTunes.exe. You can’t register an exe with regsvr32. I could have created the registry entries by hand, but that seemed like a fragile way of fixing things.
To resolve the problem, I re-ran the iTunes installer and chose the “repair” option. Once I’d done that, the correct registry entries were created and the iTunes type library was usable. Mugshot now advertises what I’m listening to, if I have iTunes running 🙂