Make/Model  Device VersionConnection Type
Apple/iTunes7.3.2 or greaterXML File

Description:

This driver is for the iTunes media manager software. iTunes allows you to download music from the iTunes store, import music files, or rip CDs, and to manage the resulting media data and edit the media metadata associated with your music files. Any changes made to the iTunes data will be reflected in an XML file that CQC can read, and this driver does so, converting that data into a standard Charmed Quark media repository format, which allows it to be accessed by any standard CQC media related client tools.

When you install iTunes, it will create a file in "x:\Documents and Settings\[user]\My Documents\My Music\iTunes" , where [user] is the Windows account name that you were logged into when you installed it. In that directory will be a file named "iTunes Music Library.xml", which contains all the information about your iTunes data. There will also be another directory under it called "Album Artwork" that contains the cover art for your media (most of it anyway, sometimes it gets embedded in the actual media files.) When you install the driver, it will ask you where this directory is, so point it at that directory. Make sure that you actually open that directory in the selection dialog box, i.e. you should see the Album Artwork directory in the list.

In order for this driver to be of value, you must be diligent about maintaining the iTunes metadata correctly. Be sure that you have all of the core fields set for all of your files, e.g. album name, track name, artist, album artist, disc x of y, track x of y, cover art, and year. These are all fields that get moved into the CQC database. If some of these fields are missing (album name, track name, track number), the track will be ignored and not show up in the CQC repository. Some other fields are also required (persistent id, location information, and file type), but these are provided by iTunes itself automatically.

Installation Modes:

Because programs like iTunes are really just managing long lists of individual files, and don't really care about whether they belong in particular groupings or not, this causes problems for CQC, which has to present CDs as CDs for browsing purposes. So it must try to figure out how to group together tracks into collections of tracks that go together. The only information is has to go by is the album name or the album name plus the artist name.

If you just uses the album name, that's simple enough, and it doesn't require any extra effort on your part because the album name is always filled in by iTunes for you. But, if you have multiple albums with the same name (something like 'Greatest Hits' is a common one), all of the tracks that have that album name will show up in one big album, which you don't want. On the other hand, if it uses album plus artist, and it is a compilation (like a movie soundtrack) where all the tracks have separate artists, then they will all show up as individual collections with a single track in them.

So, you have two ways to get around this. One is just use the album name, but just rename those few albums that happen to clash, i.e. change 'Greatest Hits' to 'Bubba's Greatest Hits'. Or, you can set an album level artist that can be used instead of the track level artist, which is done via the Album Artist field in iTunes, but this field is not provided for you, requiring a manual set for any newly added tracks.

The driver allows you to use either of these modes, and you choose when you install the driver. If you choose to use the Album Artist field, just make sure that you set that field because any tracks that don't have it will be ignored.

Playback:

If you use the iTunes library, and you buy any music from the iTunes store, they will be copy protected, and the only way to play them is to use Quick Time. To support this, the CQSL Audio Player driver now allows you to select either a DirectSound or QuickTime playback engine when you install it. You would want to select the QuickTime engine. If you only have MP3s, then you can use the DirectSound engine. If you only have MP3s and some M4A files that you've ripped from CDs, then you can buy a DirectSound based codec that can play those unprotected MPEG4 files and still use the DirectSound engine.

See the CQSL Audio Player driver docs for more information.

Quirks and Limitations:

This driver will likely only work with version 7.3.2 or later, and it is always possible that any new iTunes version will break it, because Apples has no requirement to maintain the XML format over time. In fact the whole product has changed significantly and fairly rapidly. So don't download new versions unless you are willing to take the chance that it will stop working, or unless you can get back to where you were before.

If you re-import an old database, it has been seen that the links between the information in the XML and the cover art info can get lost. iTunes still knows it, but does not seem to get the right information into the XML file, preventing the driver from being able to find album cover art again. So be studious about backing up your whole iTunes folder regularly so that you can get it back intact if anything ever goes wrong. There's not a lot of data in there, so scheduling a once a week backup shouldn't be a problem.

You can move the iTunes folder out of it's default per-user directory, but this may cause problems. It sometimes seem to rename the XML file when this is done, and the driver looks for the file with the specific name indicated above. So you are probably best off leaving it where it is.

Connection Details

There is no connection per se. The driver reads an XML file as documented above.

Driver Fields

This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...

NameTypeR/WDescription/Limits
LoadedBooleanRIndicates whether the repository is loaded or not. It is set at the end of a scan of the XML file. If the scan fails, this will be set to false.
ReloadDBBooleanWWrite true or false to this field to make the driver re-load the XML file.
StatusStringRIndicates the current repository status. If all is well it indicates that the data is loaded. During the load process it indicates progress status as the load continues. If no repository has been loaded, it indicates that. Note that the load will often be so fast that this field will not seem to change.
TitleCountCard4RJust shows the number of titles that were loaded the last time the database was loaded.