Auto update iTunes when bliss has changed an album
bliss integrates with iTunes by editing the music files that iTunes reads into its database. For artwork, it embeds the artwork into the file.
However, iTunes does not know that tags have been changed or artwork has been added. You have to use the "Get Info" option in the iTunes interface, for instance, to force iTunes to rescan for artwork.
Instead, bliss should tell iTunes that it should rescan automatically, once tags or artwork have been changed.
Note that a separate idea for rescanning iTunes when file locations have been changed already exists: http://bliss.uservoice.com/forums/21939-bliss/suggestions/1450921-update-itunes-database-when-bliss-moves-files
Rob Knapman commented
I run iTunes Library updater (iTLU) on a daily schedule, in console mode, which as the name suggests updates my iTunes library from my music directory.
I have noticed that it will only work with iTunes 10 and below.
There has not been any development with this software for quite some time 2006 was the last update 1.2.2 http://itlu.ownz.ch
Perhaps you could do some sort of collaboration, then Bliss would be a truly all in one Music library tool.
I suppose another way of looking at it is that some people use iTunes as the hub of their music collection and the "gold" source of information. If you just use it as a convenience player or conduit for music to an iPhone I can see your point.
I don't see the immediate benefit of having iTunes integration. I solely use iTunes for putting music on my ipod/iphone. And that is just a matter of dragging a few files from my music library on my NAS into iTunes. The music library on the NAS is larger then what the ipods can hold, mainly because I don't use mp3. My sole purpose of listening to music is on my living-room hifi audio system, which doesn't use iTunes at all (upnp streaming and NAS).
But maybe I am missing something? What I could see as a benefit is the rating-tag you can easily add in iTunes, but Bliss has nothing of that yet.
Vincent Bourne commented
Although iTunes has its faults, it remains the platform of choice for millions. Slick Bliss integration would open the joys of a well managed library to a huge marketplace, but the two have to play nicely together. So, this gets my vote to get things going. The holy grail for me would be to use some of the more advanced file location management features in Bliss, but I know my iTunes library would be toast if I tried this. I'll pop over and vote for that one in a sec.
I came to the conclusion early on that iTunes was useless for any serious music collection, so this doesn't get my vote. I'd find XBMC integration much more useful.
Yes, the other trouble with that is that it doesn't necessarily provide a way to 'poke' iTunes to let it know the data has changed.
Yeah, you won't find a cross-platform way, short of directly manipulating the iTunes database files (XML format I think), and heaven knows what iTunes would think of you doing that if it happened to be open at the time.
Thanks, looks like it'll have to be the COM API for Windows and AppleScript on OS X.
You have objTrack.Delete, and objLibrary.AddFile(...) that could be of immense use here. objTrack.Location can be used to determine if a file has been removed from the library (if(objTrack.Location == "")).
The documentation you want is the "iTunes COM for Windows SDK" from developer.apple.com - I assume there is something similar for OS X.
For OS/X you have good old AppleScipt - not sure how you use it for this job though, but there must be some form of documentation somewhere. The iTunes SDK documentation is probably the best place to start.
By the way, here's a VBS version which is much nicer as it gives you some feedback of what it's doing:
Dim Arg, Str
If Not LCase( Right( WScript.FullName, 12 ) ) = "\cscript.exe" Then
For Each Arg In WScript.Arguments
If InStr( Arg, " " ) Then Arg = """" & Arg & """"
Str = Str & " " & Arg
CreateObject( "WScript.Shell" ).Run "cscript //nologo """ & WScript.ScriptFullName & """" & Str
Set objApp = CreateObject("iTunes.Application")
Set objLibrary = objApp.LibraryPlaylist
Set colTracks = objLibrary.Tracks
For Each objTrack in colTracks
WScript.Echo objTrack.Artist & ": " & objTrack.Album & " - " & objTrack.Name
Thanks Matt. That seems to update all the tracks already in the database. We possibly also need to add/remove tracks when they have been moved.
One of the big challenges of this will be platform independence: how to hook into iTunes on both OS X and Windows. Plus, whether to support remote iTunes instances. I think initially it will be local only.
var iTunesApp = WScript.CreateObject("iTunes.Application");
var tracks = iTunesApp.LibraryPlaylist.Tracks;
var numTracks = tracks.Count;
for (i = 1; i <= numTracks; i++)
var currTrack = tracks.Item(i);
+1 for this, the Get Info method is unreliable and I don't want to re-add everything and screw up my library!
Tighter integration with iTunes would be a real opportunity for bliss to increase it's user base; and to reward existing customers who love bliss but don't want to stop using iTunes.
This would be a game changer for me as well as I have a very large iTunes library. The sooner the better!
Paul Vickers commented
This gets my vote - I am stuck with using iTunes.
Updating it manually is hit and miss and a pain in the arse at best.
This is definitely a game-changer for me - finding it hard to use Bliss at the moment as iTunes has so many issues once metadata has been changed :(
Hi, this gets my first vote!
I have just downloaded Bliss last night and its already saved me hours of work and looks to be getting good results for artwork. It would be great if it was able to also auto-update iTunes after doing all that work.
I find ITunes frustrating at times (like many other users), but need it to run iPad and iTouch which I uses as controllers for my Sonos which is my real music system. So thanks for the suggestions on this thread and I look forward to hearing if this is possible to develop in a future version of Bliss.
This would be awesome!! I tried re-adding the music folder (without deleting the existing music) but that doesn't seem to force a refresh of the database. When I start playing on the songs the album art appears, but this is obviously annoying on a large library. The only guaranteed way I've found the artwork to appear in iTunes is to remove ALL the music and readd the music folder, but then you lose the contents of your playlists!
"Get info" in itunes after using Bliss doesn't update itunes with the art work for me. It would be great if this process was automated!