XBMC for Mac - Atlantis Beta 1, includes two new plugins that allow users to access their organized media in iTunes and iPhoto from within XBMC. (Both released under GPL, see update at the end of this post)
iTunes
- The iTunes plugin is in the Music section.

- To start using it, you need to first import your iTunes library. You can do that by selecting the
<<Import My iTunes Library>>entry. A library with about 15,000 songs takes a little under 20 seconds on initial import. YMMV. (Note that importing the library doesn’t involve copying the media into different locations, so you don’t have to worry about duplicating the actual files.)

- Once your library has been imported you’ll be able to access its playlists, ratings etc. Since the media is made available in the file system layer, you can perform common tasks like queuing up your Top 25 Most Played followed by all 5 star rated tracks. You can even create new playlists by combining one or more of your iTunes playlists using XBMC’s playlist editor.


iPhoto
- The iPhoto plugin is in the Pictures section. Similar to the iTunes plugin, you need to import your iPhoto Library into XBMC first. The process is fairly quick but again depends on the number of photographs in your library.

- Once imported, you will be able to browse your photos by Albums, Events and Ratings.

A Few Tips
- iPhoto Screensaver: You can assign a particular event or album as XBMC’s Slideshow screensaver’s folder (under Settings, Appearance, Screensaver) and XBMC will play a slideshow of the selected album when it switches to screensaver mode.
- iTunes Mix and Match: Since the iTunes library is exposed as a bunch of directories, you can create new playlists in XBMC that contain a combination of tracks from your iTunes library and your XBMC library. Note that this doesn’t apply to smart playlists.
- iTunes Videos and Movies: Even though the iTunes library is exposed under Music, you will still be able to access videos in any of your iTunes playlists that are supported by XBMC. For example, if you have any TV shows (unprotected) in your TV Shows playlist, you will be able to play them directly from XBMC.
Known Limitations
- iTunes: Playing back protected content is not yet supported.
- iTunes: Accessing shared iTunes libraries from other computers is not supported.
- iTunes: Playlist order is not always properly respected.
- iTunes: Album art from the iTunes library is not used. In other words, only embedded album art will be shown.
- iTunes and iPhoto: The libraries currently need to be re-imported if new media is added to them.
- iPhoto: Keyword search is not yet implemented.
The Future
We hope to improve the integration between media on the Mac and XBMC and make it as seamless as possible, since that is inherently what XBMC is about. Areas of improvement include automatic syncing of libraries, using available artwork from iTunes, importing smart playlists as XBMC’s smart playlists etc.
Feedback
If you have any suggestions, feature requests or bug reports, feel free to post them as comments here, or if you want more eyes on it, on the forums. Feedback is always welcome.
Update: Forum thread on the subject.
Update regarding License: Both these plugins are released under GPL and their code can be checked out from our XBMC addons repository. Unfortunately, our Beta 1 release ended up with the restrictive license I was using for testing. Apologies for that, it was my mistake.




XHTML
I have a suggestion regarding iTunes (and iPhoto) integration.
1. Both iTunes and iPhoto allow choosing a non-standard location for their library files. The normal locations are /Users/username/Music/iTunes/ and /Users/username/Pictures/ you can choose a non-standard location by holding down the Option key on a Mac when launching iTunes or iPhoto (or the shift key for iTunes under Windows).
2. If one uses a non-standard location such as storing on a File share on a NAS server, then one can use it from multiple computers.
3. In the case of iTunes, the music tracks are normally in the same place as the library files, but this is not compulsory. The library files include the path to the music tracks.
4. As long as the plugin only uses Read only access to the library files, multiple copies of XBMC accessing them from multiple client computers should not be a problem.
5. The preference files com.apple.iPhoto.plist and com.apple.iTunes.plist stored in a users home directory include a key defining the location of the library files. In the case of iTunes this does not appear to be human readable. The ideal option would be to find the library file location from these preference files as this could then be automatic, but an acceptable alternative is to allow the user to tell the plugin where to go to access the library files. Just using the default location is not desirable as explained above.
For the benefit of those afflicted with Windows computers instead of Mac OS X, while iPhone integration would obviously not be possible in the same way for them, (unless it was to access a Mac iPhoto library stored on a server), a similar plugin to allow XBMC for Windows to access iTunes for Windows would seem possible.
Note: the iTunes library files for Mac and Windows are not identical. If nothing else, the file paths to the music tracks will be in different formats (Unix vs. Windows). Mixing Mac and Windows accessing the same library may therefore be impossible although I have sort of managed this between Mac OS X and Windows (in Boot Camp) using aliases. Each time I switch it updates the library files to match. I suspect most people will standardise on a single operating system (I plan to use multiple Mac clients accessing the same NAS server).
Comment by John Lockwood — September 18, 2008 @ 7:23 pm
Thanks for the very insightful post John. I will further investigate how the library selection can be automated. For the time being, it’s just a simple function inside the plugin’s default.py that returns the path of the iTunes Library XML file (which defaults to ~/Music/iTunes/, like you noticed).
We’ve done some Windows testing, however there seem to be some performance issues at the import stage, that’s why only the Mac build was bundled with it.
Multiple clients accessing the same NAS is pretty much my setup as well. When I imported my media into iTunes, I enabled the option to not copy media into the Library folder. In effect, my iTunes library simply references shared media.
If you are programmer, you are of course more than welcome to submit patches.
Comment by d4rk — September 18, 2008 @ 8:54 pm
Awesome. I have been an XBMC user for years and was stoked to see it for all platforms. Congrats to all involved on your efforts to make an already excellent product, better.
Comment by Tony G — September 20, 2008 @ 4:03 pm
I presume this gets rid of the need to rescan directories after adding new music? Any chance this will work on an Xbox with the iTunes library mounted over SMB?
Comment by Ben — September 20, 2008 @ 6:55 pm
@Ben
Library rescans can be automated in XBMC, you don’t need to manually do it.
Regarding using an iTunes library from a mounted share, it is not yet possible, but as John Lockweed’s post above suggests, it’s quite feasible and is definitely something that will be implemented in a future release.
Comment by d4rk — September 20, 2008 @ 7:26 pm
@d4rk - sure you can automate the rescans - but it would be nice if they took ~20 seconds (as quoted above) rather than ~10 minutes.
Comment by Ben — September 21, 2008 @ 5:38 pm
@Ben
Not sure we’re talking about the same thing. 20 seconds, quoted above, is for importing a decently sized iTunes library into XBMC’s iTunes plugin, not into XBMC’s main library. The functionality of importing it into XBMC’s main library is not present yet, but it is something that is feasible.
Comment by d4rk — September 21, 2008 @ 5:45 pm
This is awesome news guys. Well done….
To complete my XBMC experience I’ve tried numerous third party solutions (twonky and eyeconnect for example) to bring music and pictures from my Mac to my xbox without much joy. I’m eagerly looking forward to the release of the the plugins for the Xbox platform.
Comment by Davo — September 27, 2008 @ 1:52 am
What are the chances of supporting protected content purchased from iTunes Store ?
Comment by TK — October 7, 2008 @ 8:09 am
I am considering buying an AppleTV to run XBMC (as it’s cheap, small quiet and supports HD via HDMI). Would this plugin work on it ?
Comment by Alberto Grazi — October 9, 2008 @ 5:38 am
Firefly music server for iTunes is doing the job with daap://
Still searching for the photo’s
Comment by Erik — October 16, 2008 @ 4:55 pm