Here's the complete text for the download you were just reading about. For those that hate to read documentation, here's a link to DOWNLOAD iTunes Library Lister 0.88.
To return to the Downloads page, click the button at left.
iTunes Library Lister 0.88
The iTunes Library Lister is now transformed into a full-blown application! iTLL uses Perl and the "iTunes Music Library.xml" file to quickly generate a listing of your iTunes library. The list can be output as tab-delimited text, as an HTML table, or as a complete HTML page. Artist, Album, and Track names are included by default; Track Artist, Genre, Kind, Track Rating, Track Time, and Year can optionally be added. Even the largest libraries can be listed in just a few seconds.
iTLL window at 70% size
Tracks are sorted by album artist/artist, then by album, then by track number within each album. When an Artist field differs from a filled-in Album Artist field, the (Track)Artist name can parenthetically appended to the album artist name. User-settable options include adding the extra fields mentioned above; setting limits on the length of Artist, Track Artist, Album, Genre, and Track names; setting Mac-Roman or UTF-8 as the text encoding for output; and specifying html head and tail template files for the "HTML page" listing. Settings are saved for easy re-use.
Installing iTunes Library Lister
iTLL requires OSX 10.3 or higher, on a G4, G5, or Intel Mac.
Installation is simple: just copy the application into your Applications folder, or wherever you'd like it to live. Although iTLL doesn't require an active iTunes to produce listings, you can place an alias to the app in your iTunes Scripts folder for easy access (located in
Library/iTunes/Scripts in your
No configuration is needed to run the iTunes Library Lister; all user-configurable options from the old script are now available in a Preferences drawer.
Using iTunes Library ListeriTLL has a main window and a preferences drawer. To open and close the drawer, click on the main window's Prefs... button, or choose Preferences... from the iTunes Library Lister menu.
There are five controls in the Preferences drawer:
- "No Data" string — a phrase used to stand in for missing album, artist, or track names; the application's default string is:
-no data-. You can set this to whatever you like, but the application may adjust it: unless the first character of your string is a "
<", your string will be wrapped in dashes (
-) by the script, for better sorting (forcing unknown artists to the top). So, if you enter "missing" as your "No Data" string, it will appear in the listing as "-missing-". If you use a string that begins with "
<", such as "<n/a>", it will be left as-is (since
<sorts just fine).
- Text output path — this is the file name and path for text listings. By default, text output files are saved to the user's desktop as
iTunes Listing.txt. To set your own file name or path, click on the button and navigate to a destination folder, then supply a file name. Make sure you give any file name you create a proper extension, such as
- HTML output path — this is the file name and path for HTML listings. By default, html output files are saved to the user's desktop as
iTunes Listing.html. To set your own file name or path, click on the button and navigate to a destination folder, then supply a file name. Make sure you give any file name you create a proper extension, such as
- No encoding adjustment — click this button to block the normal behavior of adjusting an external HTML "head" template's charset declaration. See More Info at bottom of this page for details on charset adjustment.
- Clear all settings... — click this button to reset all iTLL settings to defaults, including main window settings.
You determine the format of your listing with the following settings:
- Simple — a tab-delimited listing where each line contains the Track name, Artist name, and Album name. This listing was created as a means of producing output for other programs to process.
- Simple w/Times — a tab-delimited listing where each line contains the Track name (track time), Artist name, and Album name. This listing was created as a means of producing output for other programs to process.
- Deluxe Text — a tab-delimited listing of Artist name, Album name, and Track name, with options for additional fields and limits on name lengths. The full array of fields possible is: Artist name (track artist name), Album name, Genre, Kind, Track Rating, Track Time, Track name (Year). Artist and Album are displayed only once per album; Track Artist, Genre, Kind, Rating, Time, Track and Year are displayed for every track.
- Deluxe HTML Table — an HTML table displaying Artist name, Album name, and Track name, with options for additional fields and limits on name lengths. The full array of fields possible is: Artist name (track artist name), Album name, Genre, Kind, Track Rating, Track Time, Track name (Year). Artist and Album are displayed only once per album; Track Artist, Genre, Kind, Rating, Time, Track and Year are displayed for every track.
- Deluxe HTML Page — a complete HTML page displaying a table of Artist name, Album name, and Track name, with options for additional fields and limits on name lengths. The full array of fields possible is: Artist name (track artist name), Album name, Genre, Kind, Track Rating, Track Time, Track name (Year). Artist and Album are displayed only once per album; Track Artist, Genre, Kind, Rating, Time, Track and Year are displayed for every track.
- Text Encoding: popup menu — listings can be output using normal Mac Roman text encoding ("8-bit ascii", or ISO-8859-1), or UTF-8 encoding. ASCII encoding is suitable for any text or word processor, and for web pages that are restricted to display on Macs. For best cross-platform rendering in web browsers and other Unicode-aware applications, UTF-8 encoding should be specified (iTLL's unicode is "UTF-8, no BOM").
HTML Page templates:
- When the Deluxe HTML Page listing style is selected, two checkboxes become available. When checked, the user can click the Choose file... buttons to select files template files for the "head" and "tail" of the HTML page. If the user-designated files are missing, or if the file path fields are empty, the templates built-in to iTLL will be used.
When the Listing Style is set to a Deluxe style, the settings on the right side the window become available for optional fields and length limits:
- Artist, _Album, and Track, — these fields will always appear in listings; they cannot be excluded with the checkboxes. If any of these fields is empty for a track, the user's "No Data String" will be displayed.
- (Track Artist) — when checked, the Track Artist (if any) will be displayed immediately following the Artist, such as "Cast (Tim Curry)" for a Rocky Horror Picture Show soundtrack album. When a track's Track Artist tag is empty (or is the same as Album Artist), nothing will be displayed.
- Genre — when checked, the displayed info is exactly what iTunes has in a track's Genre tag. If the tag is empty, nothing will be displayed.
- Kind — when checked, the displayed info is a shortening of the iTunes Kind description for that track: aac, mp3, lossless, wav, aiff, audible, movie, video, and net radio; an appearing before Kind info indicates an Apple Store "protected" item, as in "aac". Kind info should exist for every track; if nothing displays for a track, it indicates a shortcoming in iTLL.
- Rating — when checked, the displayed info appears as plus signs; half-star ratings gain "1/2" (as in
+++1/2). Only Track Ratings are displayed, not Album Ratings. When a track's Rating is empty, nothing will be displayed.
- Time — when checked, the displayed info is rounded to the nearest whole second, as HH:MM:SS (where no values exist, none will be displayed; example times are
1:41:55. Time info should exist for every track; if nothing displays for a track, it indicates a shortcoming in iTLL.
- (Year) — when checked, the displayed info appears in parentheses, immediately following the Track name, as "Track name (year)" When a track's Rating field is empty, nothing will be displayed.
- Text fields or "steppers" can be used to set the maximum displayed length of Artist, Album Artist, Album, Genre, and Track names.
- To specify that a full name should be displayed (no truncations), enter a 0 (zero) or empty. The highest limit value is 60; any higher values will be set down to 60.
- Setting length limits will not affect how the listing sorts.
Make Listing" button
Clicking the Make Listing button reads the user's settings and generates a listing to match those criteria. At the time of listing, all current settings will be written to the iTLL preferences file for later re-use.
Separate preferences are stored for text and HTML listing styles; switching listing style "context" (text or html) will load the appropriate settings.
"Save current settings" button
iTLL normally only saves main window settings when a listing is made. If you wish to save the current context's settings without generating a listing, click the Save current settings button just below the Listing Styles box.
Click to open and close the Preferences drawer. The drawer can also be opened and closed with the Preferences... item in the iTunes Library Lister menu, or by pressing Cmd - ,.
More InfoiTLL does not list duplicate tracks — where more than one entry for a track exists, the first one encountered is listed. (So in this regard, iTLL is more of an Album lister than a Track lister.)
All sorting is case-insensitive, so that artists like "cEvin Key" show up where expected.
When an album features numerous track artists (as in a compilation album), its tracks will only be grouped together if an Album Artist is specified. For instance, to group all tracks from the "Peanut Butter Wolf Presents Chrome Child" album, set each track's Album Artist field to "Peanut Butter Wolf".
Table styling is provided via CSS classes for each cell: the table itself is
class="itll"; the top row of the table, which displays column headers, is
class="itllTitle"Artist cells have
class="art"; Album cells have
class="alb"; Genre cells have
class="gen"; Kind cells have
class="kin"; Rating cells have
class="rat"; Time cells have
class="tim"; Track cells have
When importing a "head" template file for HTML Page output, iTLL attempts to set the charset declaration in the
<head> section of the file. The method is to look for either the first occurrence of "
charset=iso-8559-1" or "
charset=utf-8" in a lowercased copy of the file's
<head> section and, if the declaration doesn't match the selected Text Encoding popup selection, the original gets changed to match.
It's not very sophisticated—for instance, if the first charset declaration occurs in a comment, iTLL will happily change it ;-) If you don't like this behavior, you can turn it off with the No encoding adjustment checkbox in the Preferences drawer. Note: the built-in page templates will always use this substitution.
Copyright (c) 2008 S2_Mac. This script is released under the "MIT License" — try not to mangle it any more than I have ;-)