text:
Archive: August 2017
NMPA Sues Motive Force
Motive Force LLC is behind LyricWiki. From an August 27, 2009 article in
LyricWiki API Blocking SOAP?
I haven't seen anything definitive, but over the past couple of days SOAP calls to LyricWiki.org's API are being refused with a "Transport error". It's possible the API is down or that it is flat-out blocking SOAP calls. This affects the ability of the Lyrics Via LyricWiki script to function correctly.
UPDATED: Lyrics via LyricWiki v2.1
Lyrics Via LyricWiki v2.1 addresses some changes in LyricWiki page formatting.
Updated a Handful
Nothing to do with Snow Leopard--what a relief, eh? I've updated seven scripts today:
- Assimilate View Options
- Batch-Delete Playlists
- Block Party!
- Compare Two Playlists
- Export Smart Playlist Criteria
- Move Playlists to Folder
- Selected Playlists To iPod
These seem to be the most popular scripts that are affected by the "none/all" issue introduced in iTunes 8.2. There may be a few others, but I haven't gotten email feedback on those nor have I run across a problem with any other scripts I use regularly. But if you ever get a error like this:
...then let me know.
Snow Leopard's QuickTime Player Duality
Speaking of Optional Installs, to get the AppleScript goodness of QuickTime Player you may have been used to, QuickTime Player 7 will need to be installed from Snow Leopard's Optional Installs. QuickTime Player 10.0 is the default install in /Applications/, but its AppleScript innards are radically different (some would say severely lacking) from previous versions. So for legacy purposes, you'll need QTP7. If you currently have QuickTime Pro, QTP7 is installed automatically in /Applications/Utilities/. Otherwise, it's an optional install.
More on Rosetta Optional Install
Macworld's Jason Snell has written up a great review of Snow Leopard. With Regard to the Rosetta installation I mentioned earlier he opines: "I can only assume that making Rosetta optional is an attempt by Apple to goad users to upgrade their apps and to shame developers who still havent recompiled their apps to run on Intel chips. But given that most everyday users have no idea which of their apps are Intel-native and which are PowerPC, this seems unnecessarily harsh."
(Apple)Script Editor in Snow Leopard
I know I'm going to be repeating this a lot: as of Mac OS 10.6 the Script Editor application has been renamed AppleScript Editor and has been relocated from the /Applications/AppleScript/ to the /Applications/Utilities/ folder.
Also, Rosetta, which allows PowerPC-compiled applications and AppleScripts to run on Intel Macs, is an optional install. Most AppleScripts on this site are either Intel-compiled or Universal Binary, but some older scripts may not run without Rosetta (especially if you had downloaded older versions of them or those that I never got around to updating as Universal Binary). So when performing your installation of Snow Leopard it's probably a good idea to include Rosetta.
Join Together v5.4 Released
Join Together automates the process of joining the files of selected iTunes tracks together with QuickTime and exporting them as a single AAC Music or Audiobook file/track. Optionally, you can then create a "chapterized" audio file of the exported AAC file with pointers to the individually joined tracks.
Version 5.4 of Join Together provides compatibility with Mac OS X 10.6 Snow Leopard, addresses issues with multiple libraries, and has minor GUI and performance enhancements.
More information and download is here.
Site Stats Point to Future
Over the past few weeks I've been mulling how to proceed with development of my shareware apps, and, I suppose, AppleScript development in general. With the imminent release of Snow Leopard, which can only be run on Intel Macs, I have been researching who the audience for this site is.
According to Google Analytics, over the past month (July 10 through August 10) 90.53% of Mac visitors have an Intel Mac, 8.73% are on a PPC, and the remainder are characterized as "not set". (update: I probably should have included originally that this site had 87,347 Mac visitors in that time.)
Further, of the Intel users 92.54% are on Leopard, 4.58% on Tiger, and the remainder either on 10.6 already or "not set".
So I guess there may not be that much to mull. I'll keep you posted.
Re-Posting Stream Startup Script
A couple few days ago I posted a script here that would ping the Radio Paradise stream until its server accepted the connection, suppressing the error dialog that would appear when a connection was denied. Well, that was the wrong version of the script. Here is the correct version, and the one I fire up every morning. You must select a radio stream track first, then run the script:
tell application "iTunes" if selection is {} then return set strm to (item 1 of selection) if (get class of strm) is not URL track then return repeat try play strm exit repeat on error m number n delay 15 end try end repeat end tell
The earlier script used the open location command, errors from which could not be defeated with the try block.
UPDATED: Music Folder Files Not Added, v1.1
Music Folder Files Not Added is an application that will list the file paths of the files in your designated "iTunes Music" folder which are not in iTunes' library. Additionally, you can select a different parent folder and its contents will be compared to the iTunes library. Includes options to Add a selection of found files to iTunes or move them to the Trash.
This latest version fixes a problem with file paths containing single-quote characters.
UPDATED: Lyrics via LyricWiki v2.0
Since LyricWiki is no longer able to provide lyrics to applications from its API, I put a workaround in Lyrics Via LyricWiki. This script will use the name and artist of the single selected or playing track as the basis for a SOAP query to LyricWiki.org; fruitful results will be displayed so you can choose to apply the lyrics to the particular track.
LyricWiki Busts Its API
If you run an application or script which uses LyricWiki to supply lyrics (such as Lyrics Via LyricWiki) you will probably see this message instead of the lyric results you expected:
Unfortunately, due to licensing restrictions from some of the major music publishers we can no longer return lyrics through the LyricWiki API (where this application gets some or all of its lyrics)...(Please note: this is not the fault of the developer who created this application, but is a restriction imposed by the music publishers themselves.)
I could have guessed this clampdown from publishers was coming.
Dupin v2.0.4 Released
Just posted Dupin v2.0.4. This update fixes a problem with "Selection to iTunes Playlist" and a couple of other minor issues.
On another Dupin note: most likely this will be the last incarnation for Tiger/10.4 systems. The next revision, v2.1, and its descendants will be for Leopard and Snow Leopard only. However, v2.0.x will remain available and I will continue to upgrade v2.0.x for Tiger if future circumstances justify it.
Project Cocktail
The news about Apple working with the music labels to "stimulate digital sales of albums by bundling a new interactive booklet, sleeve notes and other interactive features with music downloads" is interesting, but these so-called "interactive" downloads are not new. As I recall, there have been several available from the iTunes Store, usually as part of larger "box" sets. They open in QuickTime and have virtual pages and hot links and they're pretty cool, depending on how they are designed.
Although I don't think it likely, wouldn't be surprised if DRM was part of the "talks".
Wal-Mart Computers for Wal-Mart People
"Having staked out a business that serves PC makers first, IT drones second, and consumers dead last, Microsoft is left only to advertise that its software arrives on cheap hardware that isnt burdened with being cool or sexy like Apples. As a marketing strategy, thats so blatantly moronic that its hard to imagine a Fortune 500 company could decide to do that."
Why Windows 7 is Microsofts next Zune RoughlyDrafted Magazine (2009/05/09)
"Starting at 8 a.m. this Sunday, Wal-Mart gets a head start on back-to-school sales, offering a full-function Compaq Presario laptop computer for $298. This Compaq has a 15.6-inch LCD screen,an AMD processor, 160-gigabyte hard drive and 3 gigabytes of RAM, a hefty parcel of memory by most measures."
Let the Back-to-School Sales Begin - Gadgetwise Blog - NYTimes.com (2009/07/25)
Dupin v2.0.3 Released
Dupin v2.0.3 is now out and is essentially a maintenance release. I wanted to tie up some loose ends before continuing work on a version for Snow Leopard (due in September), so v2.0.3 is probably the last version before then. The issues fixed are rare, and most users never experienced them, but they've been nagging at me: fixed "disappearing" column bug; fixed problem with filenames of files imported from a non-Mac OS; fixed a harmless syntax problem with XML creation during Re-Playlist.
No Joy in Bugtown
iTunes 8.2.1 does not fix the all/none situation.
iTunes 8.2.1 Released
Apple has released iTunes 8.2.1 via Software Update and the iTunes download site. More info later...
DIY: Remote Management Assortment, Part 5
I've added a Part 5 to DIY: Remote Management Assortment that describes how to create and delete playlists on a remote user's iTunes with ssh and osascript. If you haven't been following along in this series of projects, you may want to start at the beginning; this newest addition builds on routines and concepts from earlier in the series.
DIY: iTunes Remote Management Assortment
DIY: Remote Management Assortment is a tutorial suggesting several methods of manipulating iTunes files among users on a network, with particular emphasis on using AppleScript to swing passwordless ssh, rsync, scp, osascript, and other utilities. Rather than develop a batch of scripts for you to download (and have to support), you can use the fundamentals described here as the basis for your own AppleScript projects.
It's a None/All Bug
The "none" bug I described yesterday turns out to be a bit more extensive: it's a "none/all" bug.
iTunes 8.2 introduces a bug whereby the the use of the none value with special kind and video kind, and the all value with song repeat in AppleScripts compiled in iTunes 8.1.1 and earlier will not work correctly in iTunes 8.2. I understand that Apple is aware of this situation and assume a fix will be forthcoming in a future version.
If you encounter an error caused by this bug, chances are you are running iTunes 8.2 and the script had been compiled and saved with an earlier version of iTunes.
The fix is to open the script in Script Editor, look for chevron-bound raw constants, and replace them with the appropriate bare-word value. For example, if you see «constant eSpKkSpN» change this to none. (I'm afraid I don't know what the raw constant for "all" is, but it would appear with a song repeat command; song repeat takes the values "off", "one", and "all"). Then re-save the script; it will compile referencing iTunes 8.2 aete and will work fine. Such recompiled scripts, however, will then not work with pre-iTunes 8.2.
Special Kind Playlist Property Weirdness, ctd
A little more about the "none" bug, mentioned earlier today. Any script compiled and saved before iTunes 8.2 which uses the "none" constant with playlist's special kind property will error. Thus, if you get an error concerning "«constant eSpKkSpN»" then it is most likely this bug.
The fix, as I also mentioned earlier, is to open the script with Script Editor, making a note of whether the script's format is compiled (.scpt or .scptd extension) or application (.app extension), and replacing any occurrence of «constant eSpKkSpN» with the bare word none. Then "Save as..." the script, making sure the File Format in the save dialog is set as you noted.
The script should run fine under iTunes 8.2, but, because it has been re-compiled, will not under iTunes 8.1.1 and earlier.
Special Kind Playlist Property Weirdness
A script I had written a year ago looks for playlists whose smart is false and special kind is none. Since updating to iTunes 8.2 it is showing as raw «constant eSpKkSpN». The error is: "Cant get name of every user playlist whose smart = true and special kind = «constant eSpKkSpN»."
If I open the script and change «constant eSpKkSpN» to "none" then save, all's OK.
Join Together Breaks with Latest iTunes/QT
Haven't had a chance to investigate this yet, but it appears that the latest iTunes and/or QuickTime doesn't play well with Join Together. I'll have a look-see as soon as I can and an update shortly thereafter.
iLounge Goes Over 8.2
Instant Expert: Secrets & Features of iTunes 8.2 is quite thorough. Good stuff about iPhone 3.0 compatability.
iTunes 8.2 Released
Apple put iTunes 8.2 up on the web and in Software Update, along with a QuickTime and GarageBand update. 8.2 sports accessibility and bug fixes, compatability with iPhone Software 3.0. I've been away all day and haven't given it a run through, so perhaps there will be more to report later.
ScriptPal v1.1 Posted
I posted ScriptPal v1.1 on Monday. This new version can now display the contents of the user "Scripts" folder (~/Library/iTunes/Scripts/) and/or the local "Scripts" folder (/Library/iTunes/Scripts/), can add a script to an existing Workgroup via the contextual menu, and addresses a couple of minor issues.
ScriptPal Gets Macworld Gem Treatment
Macworld's Dan Frakes has a great review of ScriptPal. Thanks!
UPDATED: Lyrics Via LyricWiki v1.1
Lyrics Via LyricWiki has been updated to v1.1. This script will use the name and artist of the single selected or playing track as the basis for a SOAP query to LyricWiki.org; fruitful results will be displayed so you can choose to apply the lyrics to the particular track.
Latest version addresses issue with properly converting high ASCII text.
ScriptPal v1.0.2 Released
This latest update to ScriptPal fixes a problem displaying consecutive sub-folders.
ScriptPal v1.0.1 Released
Just made a couple of quick fixes to ScriptPal, now at version 1.0.1. Fixed a problem listing scripts when the "Scripts" folder has a custom icon and addressed an issue whereby the contents of application bundles with non-standard hierarchies were being displayed.
Thanks for the great feedback on ScriptPal.
ScriptPal v1.0. Released
ScriptPal floats a persistent HUD (heads-up display) palette above iTunes putting just the AppleScripts you need a mouse-click or two away.
Instead of having to click and scroll through iTunes' Script menu over and over again for just the two or three scripts you need during a big job or for the handful of scripts you use most frequently, let ScriptPal keep your most-needed AppleScripts conveniently ready and able to be launched with a double-click...or edited in Script Editor with an option-click...or arranged into compact and reusable Workgroups...
With ScriptPal you can:
- Have quick and easy access to the iTunes AppleScripts in the iTunes "Scripts" folder, including aliases to AppleScripts elsewhere
- Launch AppleScripts with a double-click
- Display only the scripts you need
- Organize and save collections of scripts into re-loadable Workgroups
- See a script's System Preferences-assigned iTunes shortcut keys
- Open and edit scripts in Script Editor
- Reveal a script's file and "Get Info" window in the Finder
- Create new folders in the "Scripts" folder
- Access a script's "Read Me"
- Search for a script's entry here at dougscripts.com
ScriptPal is easy to configure and use. And it's free!
Coming Soon
Here's a quick video demo of the forthcoming free app, ScriptPal.
Daypart v1.0.2 Released
Daypart v1.0.2 is now available.
Updated in v1.0.2:
- Fixed issue with Calendar View re-display
- Fixed issue saving schedule/locating .db file
- Fixed issue with setting fade delay
Daypart is a simple yet full-featured application that allows you to schedule iTunes playlists to play, giving you an easy way to program varied musical content throughout the week in your home or workplace.
This update is free for registered users.
Missing Menu and Spare Parts Sections
Some visitors may have noticed a few changes to the site's formatting. The main challenge with a site like this is trying to make it easy to find something, but too many links were making every page more cluttered than it needed to be. So I got rid a lot of the links that cluttered the left column; in fact, I got rid of the left column altogether. Most navigation can be done via the menu-like links in the header of each page.
I have tidied up the Missing Menu Commands page and added a Spare Parts page that lists a few helpful iTunes AppleScript routines and handlers for script-makers. I'll continue to add to this page.
Finally, I dislike the way Amazon MP3s sometimes download with " (Album Version)" at the end of their titles. Here's a simple script, Remove (Album Version), that will delete that text from the selected tracks.
iTunes 8.1.1 Released
Apple released iTunes 8.1.1 which enabled HD movie rentals and supplies some VoiceOver and syncing fixes.
The shortcut bug introduced in version 8.1--whereby scripts assigned keyboard shortcuts would run twice--appears fixed. Hooray!
Daypart v1.0.1 Released
Daypart v1.0.1 has been released. With Daypart you can:
- Schedule playlists flexibly, for just a few minutes or several hours
- Schedule intricate configurations of playlists on a weekly basis
- Segue between playlists without cutting off songs
- Automatically shuffle and/or repeat playlists
- Store and re-use frequently used scheduling criteria
- See how playlists are scheduled over a period of days
- Automatically load and engage a schedule at startup
Plus, Daypart features:
- Uncluttered, easy-to-use interface
- Scheduling tips
- Scheduling conflict-awareness
- Customizable windows positioning
- Ample keyboard shortcuts
- Detailed Help book
Updated in v1.0.1:
- Fixed issues related to date/time formatting
- Fixed "sortedDataRows" error
- Addressed error issues when adding Event to Schedule
- Addressed slight delay at startup issue
This update is free for registered users.
Information, Video, Screenshots & Download.
iTunes AppleScript Keyboard Shortcuts Activate Twice
Correspondent Peter Kappesser noticed that under iTunes 8.1 AppleScripts to which he had assigned keyboard shortcuts (via the Keyboard Shortcuts tab in Keyboard & Mouse of System Preferences) would be activated twice when launched by the keyboard shortcut. Thus, they will perform their task twice in a row. I can verify it happens at my house, too. File a bug report.
Dupin v2.0 Released
Dupin is your iTunes duplicates manager.
Dupin allows you to quickly find all sets of duplicate tracks in iTunes based on the criteria you choose. It can then automatically select the "Keeper" tracks from among a number of duplicates using your choice of a variety of versatile filter options. Tracks you decide not to keep can be purged from iTunes and their files optionally moved to the Trash. Dupin is flexible, fast, and easy to use.
With Dupin you can:
- Locate, sort, filter, and purge duplicate tracks
- Preserve play history and ratings
- Re-populate iTunes playlists
- Manage intentionally duplicated tracks
- Copy tracks to new iTunes playlists
- Sort tracks and view track info
- Export a list of duplicates to a text file
- Locate tracks in the Finder and in iTunes
- Audition tracks
In addition, Dupin features:
- Familiar iTunes-like interface
- Robust Help
- Ample keyboard shortcuts
- Visual progress feedback during operations
- Customizable toolbars
- Optional update checking
Updated in version 2.0
- New "Consolidate History" tool can consolidate the play, skip, and ratings information from all tracks in a Dupe Group to the single "Keeper" track
- New "Re-Playlist" tool can re-populate iTunes playlists replacing "non-Keeper" tracks with "Keeper" tracks
- Added "Track Number" and "Disc Number" to "Get Duplicates" Criteria
- "Library Matrix" replaced with Playlist Popup
- "Filter Controls" setting "Volume Location" replaced with "Folder Location", "Protected" kind with "Purchased" kind
- GUI enhancements
- Speed and efficiency enhancements
Dupin is $15.00. Registered users of v1.x.x can upgrade to v2.x for $7.00. For more details, visit the Dupin product page.
8.1.1 Not Far Away?
Both TidBITS and iLounge surmise that reports of iTunes 8.1 video-Genius capabilities may have been premature on Apple's part, since the description of this feature has been removed from the iTunes What's New page, and quite obviously it is not working in iTunes 8.1. Should a v8.1.1 be expected soon?
Speed and Large Libraries in iTunes 8.1
Kirk McElhearn says in iTunes 8.1 and Large Libraries: More Progress on the Speed Front that the speed is there.
iTunes DJ is Still Party Shuffle
Although you will see it listed as "iTunes DJ" in iTunes 8.1, it's the same thing as "Party Shuffle" (AppleScript-wise it has the same playlist special kind) with a few new behaviors.
New track Property
New in iTunes 8.1, the track object has a new release date property.
iTunes 8.1 Released
Apple Released iTunes 8.1 today (v8.0.2 was the previous version). Among the new features are its ability to handle larger libraries more speedily, iTunes Plus (256kbps AAC) importing via CD, and Genius playlists that will scour for video media.
I know of at least one AppleScript enhancement. A track's played date and skipped date properties can now be wiped by setting either to 0 (zero) or missing value. Before, you could never set these properties to anything but a date. While you could set played count and skipped count to 0, the only way to fudge the played or skipped date was to give it a date in the past, like date "January 1, 1970". Now, you can do this:
tell application "iTunes" set sel to selection repeat with aTrack in sel tell aTrack set played date to missing value set played count to 0 -- and/or set skipped date to missing value set skipped count to 0 end tell end repeat end tell
I'll have a look for any other changes.
Gizmodo Mench
Thanks to John Herrman at Gizmodo for the nice mention in his Dealzmodo Hack: Making iTunes Work For You article. Lot's of good stuff in there.
NEW: Lyrics via LyricWiki
Lyrics Via LyricWiki will use the name and artist of the selected or playing track as the basis for a SOAP query to LyricWiki.org; fruitful results will be displayed so you can choose to apply the lyrics to the particular track.
If I had a dollar for all the Correspondents who sent me the AppleScript SOAP call used in this script, I could take a week off. Well, maybe take a long weekend. Information on LyricWiki's SOAP webservice is here.
UPDATED: No Lyrics to Playlist v2.0
No Lyrics to Playlist has been updated to version 2.0. It will search a selected playlist for all tracks in the selected playlist that do not contain lyrics and copy them to a playlist it will create called "No Lyrics". Includes a second script to clear the "No Lyrics" playlist of tracks with lyrics.
This set of scripts was written by Herwin Lans and originally posted about four years ago. Because of changes in iTunes, it required updating and, particularly, the "Clear No Lyrics Playlist" script needed an over-haul.
NEW: Purchase Date to Comments
Purchase Date to Comments will copy the purchased date--if available--of the selected tracks to the comment tag of each. You can choose either UTC format ("2008-12-27") or localized Short date format ("12/27/08"). UTC dates will be placed at the beginning of any existing comment text to allow tracks to be sorted by comment. Short dates will be placed after any existing comment text. (In either case, Smart Playlists could be created using "Comment contains 2008-12" or "Comment starts with 2008-12".)
NYT Tech Talk Mench
This site, Super Remove Dead Tracks, and iTunes Library Manager get a nice mention in the January 15th NY Times Tech Talk podcast. Thanks!
Jason Snell Tries Not to Gag
I think Macworld's Jason Snell did a great level-headed job responding to some pretty whacked-out questions in this Advertising Age interview with Simon Dumenco (who has all the misinformed media memes about Apple down pat).
Daypart Released
Daypart is a simple yet full-featured application that allows you to schedule iTunes playlists when to play, giving you an easy way to program varied musical content throughout the week in your home or workplace.
Program your iTunes music when you want, the way you want.
Smart Playlists, Playlist Folders, and Genius Playlists provide some degree of musical variety in iTunes, but you still have to manually select, start, and stop each playlist one at a time whenever you want to switch from one to another. Daypart does all that for you and lets you program every day of the week with different playlists at different times. You can have Daypart play your Party Shuffle playlist in the morning, Most Recently Added around lunch, dance music in the afternoon, Classical for dinner, and audiobooks in the evening. And on the following day schedule something completely different. Plus, you can create more than one schedule to accommodate your many listening habits.
With Daypart you can:
- Schedule playlists flexibly, for just a few minutes or several hours
- Schedule intricate configurations of playlists on a weekly basis
- Segue between playlists without cutting off songs
- Automatically shuffle and/or repeat playlists
- Store and re-use frequently used scheduling criteria
- See how playlists are scheduled over a period of days
- Automatically load and engage a schedule at startup
Plus, Daypart features:
- Uncluttered, easy-to-use interface
- Scheduling tips
- Scheduling conflict-awareness
- Customizable windows positioning
- Ample keyboard shortcuts
- Detailed Help book
More information, link to video demonstration, and download is here.
Regarding DRM-Free Tracks
I'm seeing Apple's announcement about offering DRM-free tracks around the internets and I'm also seeing headlines and memes like "Apple is dropping DRM". Technically, it's the record labels who have dropped their insistence that Apple provide DRM. Apple has stated they would provide DRM-free files in a heartbeat whenever the record labels wanted to get over themselves.
Kirk on Sync multiple iPods to one Mac
My good friend Kirk McElhearn has an article up at Macworld on syncing multiple iPods to one Mac:
When youre alone with your iPod and your Mac, its easy to manage your library and sync your music, videos, audiobooks and data. But with the holidays over, many family members who didnt have iPods beforehand may now find themselves the proud owners of one of Apples music players. And when two or more people share a Mac, it gets a bit confusing. There are several ways you can sync multiple iPods to one Mac, but the easiest method is to share a music folder. Heres how you can share your music with another user on your Mac.
8 Million DRM-Free Tracks
Apple announced today at the Macworld keynote that 8 million tracks from the iTunes Store will be available DRM-free, with more to follow in March.
NEW: Change Hidden iTunes Preferences
Change Hidden iTunes Preferences is an application that will let you invoke some so-called "hidden" iTunes preferences: Show "Library" playlist, Show genre while browsing, Allow half-stars in ratings, Show arrow links -- to either search the iTunes Store or search your library, Load complete iTunes Store preview before playing, Play songs while importing or converting, and Create file names with track number. Some of these preferences, as some users may recognize, used to be available in iTunes' Preferences. Others, like the "Library" and half-stars prefs, have recently been discovered. This is for use with iTunes 8 or better only.
The download disk image contains the actual application (which is not an AppleScript) and an AppleScript to launch the app from your iTunes Script menu. Make sure you copy both of them off the .dmg.
Library Follow-Up
After playing around with the "show-library-playlist" setting, it looks like you do have to set "hide-library-playlist" also. So, to show the "Library", run these two commands in Terminal one after the other (that is, press Return after entering each):
defaults write com.apple.iTunes show-library-playlist -bool TRUE defaults write com.apple.iTunes hide-library-playlist -bool FALSE
To hide the Library again, run the same commands, but reverse the TRUE/FALSE values.
Show the iTunes Library Old School
I'm not certain if this has been mentioned anywhere--I haven't seen it--but I found the defaults command for displaying the entire iTunes library. Remember when you actually had a large playlist named "Library", before Apple split it up into--what I call--"Master" libraries of "Music", "Movies", "Podcasts", and so on? The "Library" listed everything in your iTunes library. Well, you can get that back using this command in Terminal:
defaults write com.apple.iTunes show-library-playlist -bool TRUE
Quit iTunes before entering the command. When you restart you'll have a new playlist named "Library" at the top of your Source list, above "Music".
If you want to remove the "Library" again, use this command in Terminal:
defaults write com.apple.iTunes show-library-playlist -bool FALSE
There is a second preference called "hide-library-playlist", which I at first thought would have to be set in tandem with the opposite of "show-library-playlist", but this doesn't seem necessary. In fact, you can set one or the other, apparently, and get the desired result; that is setting "show-library-playlist" to TRUE or setting "hide-library-playlist" to FALSE amounts to the same thing. Also, for AppleScript purposes, this playlist can be referenced as library playlist 1; it always could be, but now it is visible.
Artificial Skip Counts/Skip Dates
Recently, Mac OS X Hints ran a hint about overcoming iTunes' criteria for increasing a track's skipped count and skipped date via AppleScript. See, iTunes will only increase these properties if the track is advanced to another track during the first 2 to 20 seconds of play, and the hint tried to work around this so the skip properties could be increased anytime during play. Nothing personal, but I thought the OP at Mac OS X Hints kind of went overboard. This script on the Missing Menu Commands page will get the job done without a lot of fuss.
Native Half-Star Ratings
This hint at Mac OS X Hints describes a simple terminal defaults command that allows iTunes to accept half-star ratings by drag or inter-star-clicking.
What I Use
A Correspondent emailed me recently: "I'm looking for a good controller for iTunes. What do you use?"
I use iTunes to control iTunes. It's like it was made for itself.
UPDATED: Add from eMusic Downloads Folder v1.1
Add from eMusic Downloads Folder v1.1 (like Add from Amazon MP3 Folder) will display the Album folders in your designated eMusic downloads folder so you can select which of them to add to iTunes. Optionally, if you allow iTunes to "Copy files to iTunes Music folder when adding to library", you can choose to move the original folder and files out of the eMusic download folder and to the Trash. Latest version runs as application to avoid a potential startup error.
UPDATED: Add from Amazon MP3 Folder v1.1
Add from Amazon MP3 Folder v1.1 will display the Album folders in your designated "Amazon MP3" downloads folder so you can select which of them to add to iTunes. Optionally, if you allow iTunes to "Copy files to iTunes Music folder when adding to library", you can choose to move the original folder and files out of the "Amazon MP3" download folder and to the Trash. Saves a few keystrokes. This newest version runs as an application since the compiled version would often generate an error at startup.
Although the Amazon MP3 Downloader application has a preference to add downloaded purchases to iTunes, I could never get it to work.
Version Tracker?
I offer several of my scripts and applications through Version Tracker, the veritable software listing/tracking site. But lately, good ol' VT has been a disappointment. Strangely, I haven't seen a lot written about this, however this blog post by Ohanaware, the makers of an app called Funtastic Photos, pretty much sums up my feelings. Essentially, VT was purchased by CNET not too long ago and ever since its seems as if it is experiencing a chronic illness. Most frustrating to me is that I am no longer able to post updates to my software listings (I get far more downloads from my own site than software sites anyway, so it's not really a big whoop). I also understand that users of Version Tracker Pro software are not seeing regular updates. Additionally, there seem to be fewer and fewer actual listings. If you compare VT's newest additions to those at MacUpdate there's an obvious deficit.
VT has blogged about ongoing maintenance but info has been sparse and, judging by the comments, unsatisfactory. It would be a shame if VT, once the most authoritative Mac software listing site, were to be annexed--and therefore virtually euthanized--by CNET.
NEW: Search Amazon UK MP3
Search Amazon UK MP3 uses terms from the selected iTunes track as the basis for a search of the Amazon UK's MP3 site.
Boxee Now Does Netflix
I mentioned Boxee the other day, which we are enormously pleased with at my house. The newest alpha release of Boxee now gets Netflix (so long Roku player!), the WB, and improved Hulu and YouTube. Yowza.
Go Figure
I normally don't comment on (or care much about) Apple business news and analysis, but how can these two stories, which both appeared today, be reconciled?
- "Apple's iPod Problem: With fewer iPod users upgrading, the days of explosive growth are over. And that leaves iPhones and Macs picking up the slack" - BusinessWeek
- "Apple iPod sales surprise analyst: Analyst reports shortages of Apple's iPod as sales remain strong amid tough economy" - Associated Press
NEW: Reset Tracks Start-Stop
Reset Tracks Start-Stop will reset the Start and (optionally) the Stop Time of the selected tracks--or all the tracks of the selected playlist--to "0:00" and (optionally) their entire duration, respectively. (Erg, that could have been written better.)
UPDATED: Reset Bookmarks to Start v2.0
(Formerly "Reset Bookmarks".) Reset Bookmarks to Start will reset the bookmark of each selected track to its Start Time, effectively clearing the bookmark from its position later in the track. Tracks which have been set to "remember playback position" or which are "M4B" types will have a bookmark position.
We successfully installed Boxee on our Apple TV and it works like you read about. Couldn't be more pleased. Just thought I'd pass that along.
UPDATED: Gather Up the One-Hits v2.2
Gather Up the One-Hits had a persistent problem for some users whereby only a single track would be copied to the "One Hits" playlist. I believe I have fixed the problem, albeit at a cost of some speed; but it should only take a few seconds rather than a few moments to run.
iTunes 8.0.2 Released
Apple has released iTunes v8.0.2. As of this writing it is only available via Software Update; I prefer to download the installer from the download page, so I'll wait a bit. According to the release notes, iTunes 8.0.2:
- Addresses a quality issue creating MP3s on some computers.
- Fixes a connectivity issue with the iTunes Store when using some Internet proxies with Mac OS X.
- Improves accessibility with VoiceOver.
More info when and if available.
Rock Stars & Parents
When I was a kid and my family subscribed to LIFE magazine I remember they had a regular photo series of current "rock stars" and their parents. Google is now hosting LIFE's photo archive (H/T to Gruber) and I found one from that series I had never forgotten: Frank Zappa and his folks from 1970. Be sure to check out the "Related images" link on the page for more (Elton, Clapton, Ginger Baker, et al).
Ahh, SoundJam
A MacInTouch reader continues to use SoundJam and is nostalgic for its glory days. Maybe me, too. But only a little.
Multiple Library Confusion
I've just posted a brief article explaining how your system can get confused when using iTunes' multiple library feature:
Some of my AppleScripts for iTunes use a routine which reads the iApps.plist in order to obtain the location of the current iTunes library's XML file in order to get information from it. I occasionally get reports that these scripts don't seem to be working correctly; that the information seems to be wrong or doesn't correlate with track tags in iTunes. When the Correspondent and I investigate this phenomenon, very often it is because the iApps.plist contains the wrong location for the current iTunes library....read more here.
iTunes Library Manager v5.2.1 Released
iTunes Library Manager v5.2.1 is now posted. It fixes a problem some Tiger users were experiencing during the Rename routine.
On a technical note, I should point out that Tiger users will be unable to take advantage of the much faster load and save routines that Leopard users will experience. Under Leopard, rsync is used to back up files. However, the Tiger version of rsync can't be trusted to copy the resource forks of files correctly, so ditto is used instead.
Dupin v1.4.2 Released
A small number of Dupin users reported getting a crash at startup with v1.4.1, so this has been fixed in the latest release. The issue was caused by either 1) a playlist selected in Dupin's Playlist Popup no longer existed or 2) an iTunes update would re-create a default Smart Playlist (such as "90's Music") which had been selected in the Playlist Popup. Neither condition should be an issue now.
Banish the Track Numbers from Imported Files
This tip at Mac OS X Hints reveals the defaults command to keep track numbers from being added to the beginning of filenames after importing, a feature that was removed from iTunes' Preferences in iTunes 8. Of course, as one commenter laments, this won't remove the track numbers from files you have already ripped in iTunes 8.
Dupin v1.4 Released
iTunes' "Show Duplicates" feature is helpful but you still have to examine every track to determine whether you want to keep or delete the tracks it finds. Smart Playlists are of dubious help and trying to locate all duplicates with them can be tedious as they can quickly crowd your Source list and slow iTunes down.
Now there's Dupin.
Dupin is your iTunes duplicates manager.
Dupin allows you to quickly find all sets of duplicate tracks in iTunes based on the criteria you choose. It can then automatically select the "Keeper" tracks from among a number of duplicates using your choice of a variety of versatile filter options. Tracks you decide not to keep can be purged from iTunes and their files optionally moved to the Trash. Dupin is flexible, fast, and easy to use.
With Dupin you can:
- Locate, sort, filter, and purge duplicate tracks
- Manage intentionally duplicated tracks
- Copy tracks to new iTunes playlists
- View duplicates in non-loaded libraries created with iTunes' multiple library feature
- View duplicates in iTunes libraries on other machines on your local network
- Sort tracks and view track info
- Export a list of duplicates to a text file
- Locate tracks in the Finder and in iTunes
- Audition tracks
In addition, Dupin features:
- Familiar iTunes-like interface
- Robust Help
- Ample keyboard shortcuts
- Visual progress feedback during operations
- Customizable toolbars
- Optional update checking
Updated in version 1.4:
- Recognizes Genius Playlists
- Adds "Refresh Playlist Popup" toolbar button and menu option to View menu
- Adds Preference to limit number of Dupe Groups fetched during "Get Duplicates"
- Adds Preference to toggle between deleting files immediately or moving them to Trash during Purge
- Trash alert sound muted
- Fixes a minor date formatting issue
- GUI updated
- Speed and performance enhancements
This update is free for registered users.
It's Official
I got a follow-up email to my bug report to Apple regarding the iTunes 7.7.1 "whose clause" to-do: "Engineering is no longer able to reproduce the issue with iTunes 8." The iTunes guys put things back the way they were, more or less. An implied list (using "every" as the specifier or a range) returns a list or empty list, an implied single entity specifier ("first", "last", "some", and so on) returns a bare value.
iTunes Library Manager v5.2 Released
iTunes Library Manager v5.2 is now available.
iiTunes Library Manager makes back up copies of the current iTunes Music Library database file and iTunes Preferences, allowing you to maintain two or more libraries each with its own preferences settings.
For example, you can have one "Main Library" which contains all your songs and playlists, and another which just contains your "Holiday Music" songs and playlists.
Additionally, because each library is saved and loaded with its associated preferences, you can create many different configurations for different uses. For instance, you can assign each library its own designated Music Folder, and keep a directory of audio files on your computer and another distinct directory of audio files on another volume, network drive or external drive; different libraries can have different Sharing, Burning or Importing settings, too. The flexibility is awesome.
Updated in v5.2:
- Compatible with iTunes 8
- Recognizes--but does not manage--iTunes' multiple-libraries; however, such libraries can be the basis for additional iTLM libraries
- Some GUI enhancements
- Speed and performance fixes
This is a free update for registered users.
Another Reprieve
Dan Frakes emailed me with a vote for maintaining Set Video Kind of Selected:
"One that I'd like to see kept alive, so to speak, in some fashion is Set Video Kind of Selected. Although iTunes 8 does let you bulk-edit many of these fields, Set Video Kind of Selected has one unique feature that's very useful: sequential episode numbering."
I had forgotten about that feature. Make Video Tags also has sequential track, episode ID, and episode numbering.
Genius 4010 Error
This Apple forums discussion post describes an error that many iTunes 8 users are getting:
"iTunes 8.0 gathers data about my music library well enough and sends it to Apple too; but then 10-15 seconds into 'processing' by Apple, iTunes stops and reports that 'Genius results can't be updated right now. An unknown error occurred (4010)'. I thought it might be overloaded servers and tried several more times in the hope of squeezing my request in between those of everyone else; but that didn't work; plus if it were a server issue I'd expect to see postings here from others with the same problems, and I'm not."
Several posters have tried removing dead tracks--tracks whose files cannot be located as designated with the encircled exclamation point--from the library using the script Super Remove Dead Tracks and trying again, and although this didn't work for everybody, several posters did get things working correctly afterwards.
Retired, Not Euthanized
I got several fretful emails regarding yesterday's post about the retirement of several scripts which iTunes 8 has rendered unnecessary. Of particular concern was the appearance of Make Bookmarkable on the list. This is somewhat typical:
"Just a quick note to vote for preserving Make Bookmarkable. Although the ability to change the Media Kind to Audiobook in iTunes 8 has been added to preferences, it is NOT possible to change the Media Kind of podcasts -- despite the fact that the majority of podcasts are MP3s. I listen to dozens of podcasts and most of them are spoken word audio. Many benefit from the ability to speed them up. Until Apple allows for regular MP3s to be sped up I will continue to use Make-Bookmarkable."
Additionally, changing the Media Kind of a track does not change its file's file type, so changing an MP3's Media Kind to "Audiobook" does not make the MP3 an AAC. It just allows it to be listed in the Audiobooks library playlist (by some hidden mechanism; AppleScript cannot emulate it). So, in consideration of the cases where one actually wants to change the file type with Make Bookmarkable, I suppose it will remain un-retired and updated when necessary.
As for the other scripts on the list, they will still be available on the site, just out to pasture in the Retro Scripts section.
Retiring Some AppleScripts
Here is a list of AppleScripts which have been rendered "Old-And-In-The-Way" by virtue of new features in iTunes 8, particularly the new multi-edit features:
- Batch Set Tracks Sorting Tags
- Make Video Tags
- Set Video Kind of Selected
- Make Bookmarkable
- Make UN-Bookmarkable
- Selected Tracks Bookmarkable
- Set Selected Tracks Shuffle
- Enter Description Text for Selected
- Enter Long Description Text for Selected
I will most likely move these to the Retro Scripts category once I positively determine that their utility is superfluous with iTunes 8.
Dupin and Genius Playlists
Dupin Users: The current version of Dupin does not accommodate iTunes 8 Genius playlists properly when they are selected for "Get Duplicates". Although I am concerned, it's probably not a big deal.
Here's the Thing: I am considering holding off the next update to Dupin (which will include the fix for Genius playlists) until some features I had been planning on adding are also implemented. While I could put up a quick fix quite soon (which would be version 1.3.5), I would only be releasing another update in a week or two with additional features (version 1.4). In either case, until the next update, you can avoid any issues with Genius playlists by not selecting them from Dupin's Playlist popup. Your "Get Duplicates" results under such circumstances will be inaccurate.
iTunes 8 and Genius Incompatibilities
As I hinted at yesterday Genius playlists are a new "species" of playlist. Several scripts are affected by their inability to correctly distinguish Genius playlists from other playlist types. I will be working on fixes for them in the coming days. I think, in fact, that you can pretty much attribute any failings of AppleScripts that did work before iTunes 8 to the appearance of one or more Genius playlists. You may want to verify this by shutting Genius off and trying the errant script again. While some AppleScript behaviors have been updated/fixed in iTunes 8, I have not (yet) noticed any new AppleScript features that would otherwise cause scripts to error.
Multi-Edit Features in iTunes 8
iTunes 8 now allows access to many more media tags when using the multi-edit Get Info screen. Also, note that you can convert any file type to Audiobook (M4B). Looks like the end of the line for Make Bookmarkable.
iLounge on iTunes 8
iLounge has an excellent overview of the new features in iTunes 8. Particularly good details on the Genius features.
Genius Playlists and AppleScript
As far as AppleScript is concerned, iTunes 8's Genius playlists are user playlists with a special kind of none and a smart value of true, and therefore they are indistinguishable from Smart playlists. I don't know if eventually there will be a special kind value of "Genius", but for now distinguishing a Genius playlist from Smart playlists will not be easy.
iTunes 8 Loses Prefs Control for Genre Browser
Switch off the iTunes 8 Genre browser via a defaults write command in Terminal.
iTunes 8
Apple released iTunes 8 today at the "Let's Rock" event.
Happily, the "whose clause" bug from v7.7.1 has been fixed: a filter using an implied plural ("every" or a range) will return a list and one that implies singularity ("first", "last", "some") returns a bare item. As it should be.
More as it develops.
UPDATED: Quick Convert v2.8
Quick Convert will convert all or just the selected tracks of the selected Playlist using your choice of available iTunes encoders, restoring your Preferences-set encoder afterwards. Works with importing selected CD tracks, too.
Additionally, you can:
- copy all converted/imported tracks to a new playlist
- choose to remove and/or delete the original tracks and/or files
- if you have selected the AAC encoder you can choose to make the tracks "bookmarkable" and re-add the converted files to the Audiobooks library
Latest version is compatible with iTunes 7.7.1 and accounts for DOS-formatted drives during M4B conversion.
UPDATED: New iPod Playlist From Selection v3.2
New iPod Playlist From Selection will copy selected iTunes tracks, or the tracks of a selected iTunes playlist, to a new user-named iPod playlist.
Latest version fixes a problem with a benign "Apple Event timed out" error that would appear.
UPDATE: Selected Tags to Lyrics v1.1
Primarily for iPhone and iPod touch users, Selected Tags to Lyrics will copy any combination of Name, Artist, Album, Grouping, Composer, BPM, Comment, (Long) Description, Year and/or Bit Rate tags to the Lyrics tag of the selected tracks, such that this info will be available with a tap when the track is playing. Can append to or replace current Lyrics info.
Latest version accounts for description and long description, preferring the latter, and adds "year" and "bit rate" as options
Some iPod-Related Updates
Correspondents had been recently reporting a common problem with several scripts that copy files to iPod where files would not be completely copied before their originals were removed; thus only a few tracks would get copied. I've fixed the issue (and I do not know for sure if it was caused by an iTunes problem or a Doug problem) and the scripts have been updated and posted.
UPDATE: New iPod Playlist From Selection v3.1
New iPod Playlist From Selection copies selected iTunes tracks, or the tracks of a selected iTunes playlist, to a new user-named iPod playlist. Works only with iPods set to "Manually manage music and videos", and very handily when assigned an iTunes Scripts Menu Shortcut. I use Control-Command-N.
This latest version fixes an issue with intermittent copying
UPDATED: Lossless to AAC Workflow v2.1
Lossless to AAC Workflow is a set of two scripts which assist with importing/managing Apple Lossless audio files and sending converted AAC copies to a mounted iPod set to "manually manage songs and videos".
Lossless to AAC Workflow (CD->iPod):
- Imports each enabled CD track as an Apple Lossless file
- Makes a converted AAC copy of each imported Lossless file
- Adds the AAC file to iPod, deleting the original AAC from iTunes.
Lossless to AAC Workflow (iTunes->iPod):
- Makes a converted AAC copy of each Lossless track selected in iTunes
- Adds the AAC file to iPod, deleting the original AAC from iTunes.
In this way you can keep archived Lossless files on your hard drive, and manageable AAC files on your iPod.
This latest version fixes an issue with intermittent copying.
UPDATED: Rip to iPod v2.1
Rip To iPod v2.1 will import each enabled (checkmarked) CD track to iTunes and immediately copy it to iPod, removing the track from the iTunes library and deleting the original file, thus giving the appearance of seamless CD-to-iPod importing. You can also change your encoder on-the-fly and your Preferences-set encoder will be restored after the rip. Requires that iPod be set to "Manually manage music and videos". iPods set to sync are ignored.
This latest version fixes an issue with intermittent copying.
AppleTV and Netflix Player
We just bought an AppleTV after months of having to sneakernet our iPods to the Family Entertainment Center whenever we wanted to watch iTunes Store content. I must say I'm impressed. Got it to work with the 550 Harmony Remote, too.
Tomorrow our Roku Netflix Player arrives. We have the six-disk-at-a-time/unlimited Netflix plan so we'll be able to see unlimited "Instant Play" movies and shows. I know some people are saying that there's not a lot of "good" stuff to watch instantly, it's sub-DVD quality, no HD, yadda. But we have pretty esoteric tastes here and have been delighted with the lists of stuff that is available. Plus, can HD be that far around the corner?
NEW: Add from Amazon MP3 Folder v1.0
Is it just that the Amazon MP3 Downloader application won't automatically add downloads to my iTunes or is this a Windows-only feature? Didn't bother to find out for myself because I decided to have a script do it instead. Add from Amazon MP3 Folder will let you choose the Album folders from your "Amazon MP3" downloads folder and add their files to iTunes. Optionally, if you allow iTunes to "Copy files to iTunes Music folder when adding to library", you can choose to move the original folder(s) and files out of the "Amazon MP3" download folder and to the Trash after they're added to iTunes. Saves a few keystrokes.
It occurred to me to make this a Folder Action--so that files get added as soon as they hit the "Amazon MP3" downloads folder--but Folder Actions can be dicey when working with internet-downloading files. So, you've got to run this from the iTunes Script menu.
I've also included the script "Open Amazon MP3 Folder" that will open your Amazon MP3 downloads folder and make it the frontmost window in the Finder. This script can be run from iTunes' Script menu as well.
RE-POSTED: Make Video Tags v1.2
I have re-posted Make Video Tags v1.2. Due to an error on my part, version 1.1 was posted incorrectly on August 5. Sorry for the inconvenience.
Join Together Deemed Mac Gem-Worthy
Thanks to Chris Breen at Macworld for bestowing Mac Gem-ness on Join Together.
Update Flood
I have released a handful of updates to scripts that require fixing for compatibility with iTunes 7.7.1.
There are quite a number of scripts that need the treatment, so there will be more updates to come over the next few days. If you don't subscribe to my RSS feeds--see "RSS Feedings" links in the left column of my site--then now would be a good time to do so to keep up on the updates.
UPDATED: Make Video Tags v1.2
Make Video Tags is now at version 1.2. I've added an Enabled Checkbox checkbox (no, not a typo) so that each video can be checked or unchecked in iTunes--handy so vids don't get iPod-sync'd if you'd rather not. Also added obligatory compatibility with iTunes 7.7.1.
UPDATED: Re-Add Selected Tracks as Podcast v1.2
Re-Add Selected Tracks as Podcast will re-add the files of the selected tracks to iTunes as if they were a Podcast subscription. The files will then appear in the Podcasts playlist and "behave" as though they are a group of Podcast episodes. Requires Web Sharing be activated.
This newest version is compatible with iTunes 7.7.1.
Also, I should note that there is a known Leopard/Apache bug that may prevent Web Sharing from working correctly. Many users facing this problem have had success using information from this Apple discussions link and item 5 from this macosxhints forums link. I do not know the status of this bug other than what I have read in the posts cited above.
UPDATED: Tracks Without Artwork to Playlist v3.3
Tracks Without Artwork to Playlist is up to version 3.3 and fixes the compatibility problem with iTunes 7.7.1.
UPDATED: Make Bookmarkable v2.5
The popular Make Bookmarkable has been updated to v2.5 and is now compatible with iTunes 7.7.1. Make Bookmarkable will change the file type of the selected AAC tracks to "M4B " and file extension to ".m4b", thus making them bookmarkable. Additionally, when used with iTunes 7 or better, deletes and re-adds each track so it will appear in the Audiobooks Library. Ratings, play count, last played date, skip count, and skipped date are preserved.
Updates Coming
I am working on updating several scripts and apps to accommodate the iTunes 7.7.1 issue and I'll be posting them when I can. Notably, Tracks Without Artwork to Playlist and Make Video Tags will be among the first to get fixed.
Dupin v1.3.4 Released
Dupin v1.3.4 provides compatibility with iTunes 7.7.1. All users are encouraged to update.
Dupin allows you to quickly find all sets of duplicate tracks in iTunes based on the criteria you choose. It can then automatically select the "Keeper" tracks from among a number of duplicates using your choice of a variety of versatile filter options. Tracks you decide not to keep can be purged from iTunes and their files optionally moved to the Trash. Dupin is flexible, fast, and easy to use.
AppleScript Bug or Feature in iTunes 7.7.1
I think I have found a rather unusual AppleScript bug (or perhaps feature; one never knows) in iTunes 7.7.1. It affects several scripts that may need to reference a track using a persistent ID. When attempting to reference a single track with a whose clause, the track reference is returned coerced as a list. This requires that an additional step be taken to extricate the single item (the track reference) from the list. I have filed a bug report. It is reproducible with this script:
tell application "iTunes" set t to item 1 of selection set p to (get persistent ID of t) log ("p: " & p) set the_track to (some track of library playlist 1 whose persistent ID is p) -- the result is a list (* {file track id 33083 of library playlist id 10591 of source id 46} *) log the_track end tell
iTunes 7.7.1 Released
Apple has updated iTunes to version 7.7.1. As many people have already noted, the information from Apple about what's new is particularly unforthcoming. However, this TidBITS article has a few findings.
Join Together v5.3 Released
I've just released Join Together v5.3. This AppleScript Studio application automates the process of joining the files of selected iTunes tracks together with QuickTime and exporting them as a single AAC Music or Audiobook file/track. Optionally, you can create a "chapterized" audio file of the exported AAC file with pointers to the individually joined tracks.
Join Together comes in two flavors:
The basic version of Join Together is free and always will be. It has the same or better features--and performs as well or better--as it ever has without restrictions. Most users will find the free basic version of Join Together satisfactory for their track-joining needs.
Join Together Plus is an optional shareware upgrade that provides additional pre-flight and post-op features that have been requested by power-users. You can upgrade to Join Together Plus from the free basic version for US$7. This is to cover development and support expenses, which, in turn, helps make Join Together work better for everybody. See Join Together's Help pages for more information on its Plus features.
Updated in v5.3:
- Added disc number and disc count tags for final track
- Added "Track Names to Chapter Names" menu item [Plus version]
- Fixed error in "Finished!" dialog [Plus version]
- Updated GUI
- Updated Help pages
- Performance enhancements
Visit the Join Together information and download page.
Doctor Who on iTunes
Buy These
I mentioned previously that we moved and I had to set up My Stuff in a new place. We're apartment renters and we are now on a second floor. Having been a first floor-er for thirteen years I know how unintentionally noisy the second floor people can be (although the guy who was compelled to pace back and forth while on the phone Must Die). In order to ensure as little noise as possible from my studio gets downstairs I have been investigating speaker isolation materials. I highly recommend these Auralex MoPADS babies whether you have sound encroachment problems or not. They will totally isolate your speakers from whatever you have them in contact with. Not only do they isolate your speakers from reverberating through the floorboards, wallboards, studs, rafters, and so on, they will improve the sound of your speakers. I use Behringer TRUTH B2031A as studio monitors and using the Auralex MoPADS not only reduces acoustical coupling but the damn things sound incredible--almost as if they were suspended from the ceiling, which is what we did at radio station studios. So, go to.
iTunes 7.7 Released
Apple released iTunes 7.7 overnight last night. This latest version is primarily designed to work with the new App Store. I had a quick look at its AppleScript dictionary this morning over coffee and found two new artwork properties: description and raw data. There could be other AppleScript changes and/or fixes, but I'll have to give it a better workout to find out.
Back In The Saddle, Nearly
My wife and daughter and I have just finished moving all our stuff from our place in Providence, Rhode Island to a new place in Newton, Massachusetts. Now that about ninety-percent of the move is finished we can proceed with the remaining ninety-percent: un-packing (can't wait to recoup that extra twenty-percent that must be floating around somewhere). I have yet to set up my studio/work area properly, so it will still be a day or two or three before all those emails I said I would reply to actually get thoroughly replied to.
On another note, a concern that some Correspondents have reported is that Apple's ChapterTool UNIX application that is required for some tasks with Join Together is no longer downloadable from the original Apple coordinates. I am working on getting more information about this and developing a suitable workaround. Just so you know.
Episode 37 of Tekzilla features this site in their "Websites We Can't Get Enough Of" segment. Thanks for the mench! And thanks to Correspondent Perceval McElhearn for letting me know.
MacLife Mench
The July '08 issue of MacLife has a feature entitled The 30 Best Mac Apps You Never Heard Of. This site lands between #17 (Handbrake) and #19 (Cyberduck). Neat! Thanks!
AOL Radio on Safari
The NYT notes that AOL Radio now works with Safari on the Mac. Additionally, the service adds all 140 CBS-owned radio stations. I've been checking it out and, while online radio isn't exactly my thing, it ain't bad.
iTunes 7.7 On the Horizon
The Unofficial Apple Weblog notes that the new iPhone 3G, available July 11, requires iTunes 7.7. Release date unknown, but obviously it will be before 7/11.
UPDATED: Set Video Kind of Selected v3.1
Set Video Kind of Selected had a small problem running in Tiger: it couldn't get the version of iTunes correctly and threw an error. This is fixed in this latest version.
This script will change the video kind property of the selected tracks to your choice of "Movie", "Music Video" or "TV Show". Additionally, "Show Name", "Season Number", and "Episode Number" can also be set or cleared for each selected track.
NEW: Selected Tags to Lyrics
I never bother much with Lyrics, so I didn't realize Lyrics for the current track on the iPhone or iPod Touch could be made visible until Far-Flung Antipodes Correspondent Jon Jong queried about putting various tags into the Lyrics tag so they could be viewed instead.
Selected Tags to Lyrics will allow you to copy any combination of the Name, Artist, Album, Grouping, Composer, BPM, Comments and/or Description of the selected tracks to the Lyrics tag of each. Tap-tap, and there you are!
UPDATED: Lossless to AAC Workflow v2.0
I've been wanting to update Lossless to AAC Workflow with some improvements for a while and finally got around to it. As a matter of fact, they were mentioned on a recent Mac Geek Gab Podcast . This is a collection of two scripts that assists with importing/converting Apple Lossless tracks and sending AAC copies to iPod such that you can keep archived Lossless files on your hard drive and manageable AAC files on your iPod. The newest version of the scripts run as universal binary and, in general, has performance fixes and enhancements.
Napster MP3 Review at TUAW
TUAW has a pretty thorough review of the new Napster MP3 store. Apparently kinda klunky.
NEW: Export Artwork v1.0
Export Artwork replaces the script "Save Artwork to Folder". This script will save the artwork of the single selected track to a user-chosen folder as a PNG or JPG file, with scaling options. Default location is the folder containing the selected track's file (or your Desktop if an iPod track is selected), however any location can be selected.
UPDATED: Tracks Without Artwork to Playlist v3.1
I only updated this a few days ago, but I managed to get Tracks Without Artwork to Playlist v3.1 to create a playlist much faster.
UPDATED: Set Video Kind of Selected v3.0
If you have visited recently, you may have noticed that I have been updating some of the more popular offerings to universal binary, so that scripts run natively on both PPC and Intel Macs. Set Video Kind of Selected v3.0 gets the UB treatment, as well as some performance fixes. In lieu of iTunes' ability to batch-edit video properties for videos, this script will change the video kind property of the selected tracks to your choice of "Movie", "Music Video" or "TV Show". Additionally, "Show Name", "Season Number", and "Episode Number" can also be set or cleared for each selected track.
UPDATED: Tracks Without Artwork to Playlist v3.0
Had some time to quickly update Tracks Without Artwork to Playlist to v3.0. It now runs as universal binary and has some performance fixes and finessings.
HBO Shows On iTunes
This is huge.
Balk all you want about the $2.99. The thing is that Apple has negotiated a variable pricing structure. And the structure is this (take note NBC); some shows are $1.99 and some very well produced and high-quality programs are $2.99. Does NBC have anything on its roster matching the quality of HBO's $2.99 product? Laffs on you, NBC. You want to come back, your shows are only worth 1.99, take it or leave it.
UPDATED: Move Playlists to Folder v2.0
Move Playlists to Folder allows you to select one or more playlists to move into a selected folder. This latest version just has some performance fixes.
UPDATED: Export Smart Playlist Criteria v2.0
Export Smart Playlist Criteria will create an XML file containing just the criteria of the selected Smart Playlist(s). This file can then be imported into any iTunes using the "Import..." menu command. Since the XML file contains only the rules for a Smart Playlist and not its track data, you can handily back up your Smart Playlist criteria or share with other users...just zip and email.
NEW: Rescue Playlists from Folder
The script Rescue Playlists from Folder will extricate all of the playlists in a selected Folder at once by making a copy of each in the Source column and then deleting the original from the selected parent Folder. Otherwise, to yank playlists out of a Folder, you have to drag each one--one at a time--to the left edge of the Source column.
UPDATED: Compare Two Playlists v2.0
Four year old Compare Two Playlists has been completely re-written. Quickly evaluates two playlists for tracks that are common to both and exclusive to each, creating a text file report on the Desktop.
UPDATED: New iPod Playlist From Selection v3.0
New iPod Playlist From Selection will copy the selected iTunes track, or the tracks of a selected playlist, to a new iPod playlist. Works only with iPods set to "Manually manage songs and videos", that is, not to sync.
UPDATED: eMusic Search v2.0
Added a "Similar to: Artist" option to eMusic Search v2.0. Also runs as universal binary and has some minor performance enhancements.
UPDATED: Needle Drop v3.0
Fixed an error in Needle Drop when canceling from the first dialog box, made it universal binary, and added the ability for it to quit automatically if you pause iTunes while running it. This script will play through the tracks of the selected playlist at your set time interval.
Automatically Download Available iTunes Purchases
If you subscribe to any TV Shows from the iTunes Store Apple can send an email notifying you when the latest episode is available. Then you can go to iTunes' "Store" menu, click "Check for Purchases...", and the download will commence.
A while back I had posted a script called Check For Purchases which used GUI scripting to automate this process. It required that you hardcode your iTunes Store user name and password in the script and also have GUI scripting enabled. Yuck. These are two of my least favorite--if not my most least favorite--techniques for using a script. But, it turns out, there's an even simpler and better way to accomplish this...
Plays For Sure Sure Won't
I am not a fan of subscription services, if only because the idea of paying and paying for music just doesn't make any sense to me. I just can't get over that hump, like Dan Frakes and Chris Breen have, for example.
Well now the chickens have come home to roost.
"Microsoft ends support for tracks purchased from MSN Music - Microsoft is once again causing problems for its customers, closing down support for tracks purchased under its failed 'PlaysForSure' campaign.
The company is warning customers - who paid good money for music using the now defunct MSN Music service - that it will no longer supply authorisation keys for the tracks they bought.
What this means is that after 31 August, music fans who want to shift their sounds from one computer to another will be blocked from doing so. It also means that once all five Windows PCs a user can have authorised for music playback have failed, they will lose their music."
Explain to me, without using the phrase "yeah, but", how any subscription service can work in perpetuity without either failing or costing its subscribers a boat-load of money.
UPDATED: Make Bookmarkable v2.4
The newest version of Make Bookmarkable fixes a problem with files not being re-added to iTunes. Listen:
Recently, I had been seeing some reports of Make Bookmarkable mysteriously not working correctly for some users. The changing of the file type and extension of the selected tracks' files would go all right, but the file would not be re-added to iTunes' Audiobooks Library. After some investigation, the common thread of the problem was that the files were located on a MS-DOS FAT32 formatted external drive. Normally, Macs can deal with this. However, AppleScript cannot follow aliases of a file on such a drive unless the alias is the literal path. Make Bookmarkable changes the extension of files; such that an alias that earlier pointed to musicfile.m4a on a MS-DOS FAT32 drive doesn't recognize it when its name is changed to musicfile.m4b--unless you update the path of the alias to point to it. Do you follow?
Here's the thing: with an increasing number of Windows users switching to Mac and more Mac users working in Windows it's not out of the realm of possibility that they just plug their MS-DOS external drive into their Macs without re-formatting it. Also, as hard drive prices have gotten cheaper, users may be more apt to purchase a drive pre-formatted as MS-DOS. I know I've gotten a cheaper deals on MS-DOS formatted drives than Mac formatted, but, of course, I always reformat to HFS+. Considering this, I suspect I will be seeing this alias anomaly more in the future.
UPDATED: This Tag, That Tag Scripts v2.0
I've updated the This Tag, That Tag Scripts package to v2.0. These four scripts assist with swapping, copying, and appending data between two user-chosen tags in a batch of selected tracks. The latest version of each of the scripts now includes the "Show" tag, is saved as a script bundle (universal binary), and has general tidying of code.
Time Machine Ignores the XML File
Something I had not known until reading about it in the X4U mailing list: apparently, Time Machine does not back up the "iTunes Music Library.xml" file. This is the file that is periodically updated by iTunes which contains track and playlist data. It isn't used by iTunes, but it can be used to re-import data and what not. Most of the time, this file is located in your [username]/Music/iTunes/ folder (you should not relocate it). Thus, if you are concerned about this file, you may have to manually back it up, independent of Time Machine.
UPDATE: A post at Mac OS X Hints discusses what files are ignored by Time Machine and how to list them.
UPDATE ALSO: Any copy of the "iTunes Music Library.xml" file that is not [username]/Music/iTunes/Tunes Music Library.xml will get backed up. So periodically copying it as something like [username]/Music/iTunes/bu/Tunes Music Library.xml will ensure Time Machine sees it.
MacUser Logrolling
Thanks to Dan Pourhadi at MacUser for the thumbs-up on Dupin.
NEW: Search CD Universe for Album
My friend Kirk McElhearn has a very fine article at Macworld on working with album artwork: where to get it, how to get it, and so on. He mentions that the CD Universe website is a good place to snag album artwork and so I thought I'd slap together a quick script to search the site. Search CD Universe for Album will use the album tag of the selected iTunes track as the basis for a "Title" search at CD Universe. You'll have to manually navigate the site once the search results page comes up, but at least the script gets you started.
Server Move
I've just completed moving to a new server and flipping nameservers. As a result, there may be a few bumps and 404s until I nail down any remaining minor discrepancies. On the plus side, man, this server rocks. There's a perceptible speed increase in page loads and database access. Hopefully, this will put an end to the database outages which occurred with the old host.
Dupin at Klakinoumi
Thanks to Eric at the French blog Klakinoumi for posting this article and screencast of Dupin. There's a point in his vid-demo where the tracks are being deleted and he provides some rapid-fire sound effects, which I thought was tres drole. Also, it's worth the look just to hear "Dupin" pronounced in French.
UPDATED: Dupin v1.3.3
Dupin v1.3.3 is now available. Dupin allows you to quickly find all sets of duplicate tracks in iTunes based on the criteria you choose. It can then automatically select the "Keeper" tracks from among a number of duplicates using your choice of a variety of versatile filter options. Tracks you decide not to keep can be purged from iTunes and their files optionally moved to the Trash. Dupin is flexible, fast, and easy to use.
Updated in version 1.3.3:
- Fixed error with file sizes filtering
- Minor performance enhancements
UPDATED: Quick Convert v2.7
Quick Convert converts the iTunes track selection using your choice of encoder, restoring your Preferences-set encoder afterwards. Latest version is universal binary, ensures that files converted to AAC with the bookmarkable option are re-added to "Audiobooks" Master Library correctly.
UPDATED: Make Bookmarkable v2.3
Make Bookmarkable changes the file type of the selected AAC tracks to "M4B " and file extension to ".m4b", thus making them "natively" bookmarkable. Additionally, deletes and re-adds each converted track so each will appear in the Audiobooks Library. Ratings, play count, last played date, skip count, and skipped date are preserved. Latest version is universal binary.
UPDATED: Make UN-Bookmarkable v3.2
Make UN-Bookmarkable converts the iTunes tracks selection which have been converted to "M4B" with Make Bookmarkable back to "M4A". Latest version is now a universal binary.
iTunes 7.6.2 Released
iTunes 7.6.2 is now available via Software Update. Apple also posted updates to Quicktime and Front Row.
NEW: Now Where Was I
Use Now Where Was I? to start and quit iTunes: when run while iTunes is playing, it will remember the currently playing track and quit iTunes; when run next it will start iTunes and play the remembered track.
UPDATED: BlockParty! v2.0
I have updated Block Party! to version 2.0. I actually did this a couple of days ago but with the site problems mentioned below I hadn't gotten around to mentioning it.
Site Fixes
Looks like my host's MySQL servers are back up to snuff. Things actually do seem to be a bit snappier.
In about a week I will be making some adjustments to the site which may cause a few bumps but I don't expect any down time. However, if the situation changes I will make a note of it here.
Site Access
It's been a worrisome few days.
My hosting company has been having some serious issues with their MySQL servers and as a result this site has been inaccessible. I'm told access will be much better after the current issues are resolved. I've managed to workaround their problem to a small extent, but it's still not perfect, so expect things to be a bit slow-loading for a bit.
UPDATED: Join Together v5.2
Join Together has been updated to version 5.2.
This AppleScript Studio application automates the process of joining the files of selected iTunes tracks together with QuickTime and exporting them as a single AAC Music or Audiobook file/track. Optionally, with Apple's ChapterTool application installed, you can create a "chapterized" audio file of the exported AAC file with pointers to the individually joined tracks.
As of version 5.2, Join Together comes in two flavors:
The basic version of Join Together is free and always will be. It has the same or better features--and performs as well or better--as it ever has without restrictions. Most users will find the free basic version of Join Together satisfactory for their track-joining needs.
Join Together Plus is an optional shareware upgrade that provides additional pre-flight and post-op features that have been requested by power-users. You can upgrade to Join Together Plus from the free basic version for US$7. This is to cover development and support expenses, which, in turn, helps make Join Together work better for everybody. See Join Together's Help pages for more information on its Plus features.
Updated in v5.2
- Added "enabled" checkbox for the final track
- Added "Rating" options for the final track
- Added "Part of a gapless album" and "Skip when shuffling" options for the final track
- Can cancel operation from QuickTime
- Updated the interface
- Updated Help pages
- Fixed unusual issue with filename replacing track name
- Addressed QuickTime invalid track error while using pass through
- Performance enhancements
- Combine contiguous tracks as chapters [Plus version]
- Chapter name editing; auto-increment chapter numbers [Plus version]
- Use grouping tags as chapter names [Plus version]
- Contextual info windows for tracks/chapters [Plus version]
- Save options for saving final file to playlist, as a Podcast, and copy to iPod [Plus version]
- Preferences for various options [Plus version]
- Dock menu reduces application switching [Plus version]
More information and download.
Apple Updates the AppleScript Language Guide
After nearly ten years, Apple has finally updated the Introduction to AppleScript Language Guide. Its layout and organization is more consistent with other Apple Developer Connection documentation and is much easier to grok (and much less 1999-internet-looking). It is specifically geared towards AppleScript 2.0 and Mac OS 10.5 or later.
UPDATED: Make Video Tags v1.1
I was pleasantly enough surprised at the reaction to the initial version of Make Video Tags that I've updated it to include a couple of new features.
This is a no-big-frills video tagging app that I was using in my rip-dvds-for-iPod-with-Handbrake workflow. Added to the new version is the ability to open files in the Finder whereby they will be added to iTunes and then be available for editing in Make Video Tags. Also, if one or more iPods are detected to you can choose to send the tracks to a selected iPod.
This app handles editing of only the few video tags editable in iTunes itself. I highly recommend using the application Lostify, written by Lowell Stewart, for editing a lot more meta-data, including MPAA ratings, network, air dates, cast information, and so on.
NEW: Make Video Tags
I just needed a quick and easy way to add global tags to some of my Handbrake'd DVD rips, so a few months ago I slapped together a simple GUI for some AppleScript routines to do the job. Notably, I used the routines from my Set Video Kind of Selected script. There are some great video tag editors available already (I frequently use and highly recommend Lostify), but I wanted something no-frills so I could just get a batch of stuff onto my iPod without a lot of keyboard pecking.
Well, I've cleaned it up and added some features and I'm making Make Video Tags available.
It grabs the track info from the selected video tracks in iTunes so you can edit it, then dumps it back to the appropriate tracks; global info on the left, individual track info on the right. Besides the tags pictured, you can also provide Comments, Description, Long Description, and Lyrics for each individual track. It's an AppleScript Studio application and requires OS 10.4 or better. Let me know how it runs at your house.
iTunes 7.6.1 Released -- Delete Bug SMASHED
Hurrah! iTunes 7.6.1 (available at this writing via Software Update) fixes the AppleScript delete bug.
Dupin v1.3 Released
Dupin v1.3 is now available. Dupin allows you to quickly find all sets of duplicate tracks in iTunes based on the criteria you choose. It can then automatically select the "Keeper" tracks from among a number of duplicates using your choice of a variety of versatile filter options. Tracks you decide not to keep can be purged from iTunes and their files optionally moved to the Trash. Dupin is flexible, fast, and easy to use.
Updated in version 1.3:
- Adds Newest/Oldest Date Modified options to Filter Controls
- Adds Largest/Smallest File Size options to Filter Controls
- Displays Bit Rate Rounding status in Filter Controls window
- Bit Rate Rounding is applicable to bit rate options in Filter Controls
- Provides workaround for iTunes 7.6 AppleScript "delete bug" (whereby files chosen to be preserved during Purge are errantly moved to Trash)
- Fixed a problem with bit rate filtering
- Updated Help pages
- Minor performance enhancements
UPDATED: CDDB Safari Kit v2.4.1
Gracenote has recently updated its page format thus obliging me to update CDDB Safari Kit to version 2.4.1. If you are interested, they are using more CSS and have stopped using list tags for track names and numbers.
iTunes AppleScript Delete Bug Moreso
A lister on the AppleScript mailing list writes:
The Scripting Interface Guidelines agree with you: make and delete should be used to create/destroy objects completely, while add and remove should be used to add/remove existing objects to sub-groups. e.g. Compare Address Book, which uses add and remove to add/remove existing person objects to group objects. iTunes predates the SIG, however, and while its scripting interface is fairly extensive it does suffer a number of longstanding design quirks.
Yep. I'd be happy if they just made it like it used to be.
iTunes 7.6 AppleScript Delete Bug
The more I think about the delete issue, mentioned below, the more I think this is a bug and not a feature. I have filed a bug report in any case. Although, I do like that you can trash a file from within iTunes, I do not like that you cannot preserve a track's file. A dandy way for delete to work would be as follows:
1) delete a track from a playlist to just remove it from the playlist.
2) delete a track from its Master Playlist to remove it from iTunes entirely but preserve the file (I tried this hoping it would work, but it does not).
2) delete a track from library playlist 1 to remove it from iTunes entirely AND trash its file.
(I don't know why there isn't a remove command in iTunes, which would make more syntactic sense. The Finder's AppleScript delete command will send a file to the Trash.)
Needless to say, this bug affects several scripts which use delete to remove a track from iTunes without actually trashing the file. For instance, Make Bookmarkable will delete a track from iTunes and then re-add it. Under iTunes 7.6, the track's file is moved to the Trash; when it is re-added, unless the user has "Copy files to iTunes Music folder when adding to library" checked in Preferences, iTunes will presume the track's location is the Trash. Empty the Trash and bye-bye file. This is exactly what is happening to some users.
I can only hope that Apple will see this as a serious bug--it being part of the AppleScript component of iTunes, I am sorry to say that I think it is doubtful--and fix it soon.
Delete Bug or Feature?
I just noticed this today using iTunes 7.6, but I do not know how long this "situation" has existed.
As far as I've always known, when you delete a track from a playlist using AppleScript, the track is removed from the playlist; when you delete a track from library playlist 1 (the Main library), the track is removed entirely from iTunes. In both cases, the track's file remained in its location in the Music folder. Today I noticed that when doing a delete from library playlist 1, the track was not only removed from iTunes but its file was moved to the Trash! I could not figure out a way to keep the file from doing so. I tried deleting it from its Master Library--in this case the "Music" playlist--but it still went to the Trash. Deleting from a simple playlist worked as expected: the track was removed from the playlist but remained in the Master Library.
Recently, some users of Make Bookmarkable wondered where their tracks went and it turns out they were moved to the Trash. Not so bad, since the bookmarkable copy was re-added (I believe). Still, this is not the behavior I expect when using delete. And until recently this wasn't the behavior anyway.
If this is how delete works now, then there is no way to remove a track from iTunes via AppleScript and subsequently keep its file, which is an option when you manually delete a track using the Delete key.
So, what's up with that?
UPDATE: Make Bookmarkable v2.2
The iTunes 7.6 update has some troubles, AppleScript-wise. I'm not exactly sure where the problem is, however, the first evidence of it occurs with Make Bookmarkable. An "Apple Event timeout" error occurs when multiple tracks are selected. I have posted a workaround and I am investigating the problem so I can file a bug report with Apple.
Site is Slow to Load
My hosting company is experiencing some server trouble and as a result--so they report--access to the site will be slow through the day on January 18 while they effect repairs. Sorry about that!
iTunes 7.6 and QuickTime 7.4 Released
Apple has released updates to iTunes and QuickTime. I'll be on the lookout for AppleScript features and post info when necessary.
Interesting and Interestinger
This article at TUAW indicates an update for iTunes and possible details of iTunes-compatible files appearing on FOX DVDs. FOX has a site which seems to confirm it.
Lifehacker's 23 Best iTunes Add-ons
Thanks to Adam Pash at Lifehacker for including this site in their 23 Best iTunes Add-ons list. The list includes eleven Mac apps/utilities, eight for Windows, and four for Windows/Mac.
Macworld Deals With Dupes
Nice blog-post mench of Dupin by Mr. C. Breen over at Macworld.
Dupin v1.2 Released
I posted an update to Dupin on Monday, but wasn't able to get around to mentioning it here. Dupin, as you may know, is an application that helps you manage your iTunes duplicates. Updated in Dupin version 1.2:
- Added Preference to toggle Keeper designation as checkmarked (default) or un-checkmarked
- Added Preference to use bit rate rounding to account for ABR-encoded AAC files
- Added "Customize Toolbar..." menu command in View Menu; moved "Show/Hide Toolbar" to View Menu
- Added notification when updating Playlists popup
- Corrected error thrown by .MID files
- Revised code syntax interpreted ambiguously under OS 10.4 (Tiger)
- Revised label text in Filter Controls window
- Fixed problem during Purge if source Playlist had been re-selected
- Fixed rare problem causing hang-up while switching Spaces or applications during Purge
- Updated Help pages
- Minor performance enhancements
Many thanks to the Dupin beta-testers with the wicked pimped-out computer configurations.
Dupin v1.1.4 Released
Doug's AppleScripts for iTunes has released Dupin v1.1.4, the iTunes duplicates manager. Dupin is an application that assists with locating, sorting, filtering, and deleting duplicate tracks in iTunes.
See Dupin in action. Watch the Dupin video tutorial presented by ScreenCastsOnline.
Updated in version 1.1.4:
- Changed keyboard equivalent for "Delete" function to Command-Delete, added "Delete Selected from Dupin" menu command
- Added "Sort by Dupe Groups" toolbar button
- Redressed issues with AAC files encoded using ABR
- Fixed problem with moving files from striped RAID to Trash
- Fixed rare problem with listing playlists
- Fixed rare problem causing inaccuracies when filtering by "Volume"
- Fixed rare problem causing inaccuracies when filtering by "Shortest Filename"
- Minor performance enhancements
This update is free for registered users.
With Dupin you can:
- Quickly find all sets of duplicate iTunes tracks based on your choice of criteria
- Select the "Keeper" tracks from among a number of duplicates automatically using a variety of versatile filtering options
- Purge duplicate tracks from iTunes and send files to the Trash
- Manage intentionally duplicated tracks
- Copy tracks to new iTunes playlists
- View duplicates in non-loaded libraries created with iTunes' multiple library feature
- View duplicates in iTunes libraries on other machines on your local network
- Sort tracks and view track info
- Export a list of duplicates to a text file
- Locate tracks in the Finder and in iTunes
- Audition tracks
In addition, Dupin features:
- Familiar iTunes-like interface
- Robust Help
- Ample keyboard shortcuts
- Visual progress feedback during operations
- Customizable toolbars
- Optional update checking
Am I Being Ripped Off?
I invite regular visitors of this site to have a look at the descriptions for this app and see if they are not virtually identical to many of the scripts I offer here. I gave the developer of this app permission to use one single snippet of code in one script of mine. Do you think that they over-extended my generosity?
...And Until That Bug Is Fixed
I mentioned yesterday about the High ASCII bug in iTunes that prevents Chapter titles containing High ASCII characters from displaying in the Chapters menu of iTunes 7.5 (note that I still have yet to get a real confirmation on this). As far as Join Together is concerned, you can avoid the error caused by High ASCII in track titles by eliminating those kinds of characters in the track names in the Join Together Track List. As I mentioned yesterday, I have a fix for the error in Join Together, but because of the alleged iTunes bug, you won't have access to those titles in iTunes 7.5.
Join Together and High ASCII
I have gotten a couple of reports from users of Join Together regarding an error that occurs right when chapterizing begins. Turns out that ChapterTool was choking on High ASCII characters in the track names (?, ?, ?, ?, and so on). This error only occurs in Leopard, and I have fixed the problem. But I am hesitant to release an update just yet because it turns out that iTunes 7.5 willl not display titles containing High ASCII in the Chapters menu. At least not at my house. QuickTime will display the chapter titles, and iTunes 7.4.1 in Tiger will, but not iTunes 7.5 in Leopard.
I'd like to try to nail this down. Unfortunately, I don't have any joined files created in Tiger that have High ASCII characters in the chapter titles. What I need to know is if joined files created in Tiger display their titles correctly in iTunes in Leopard. If you can be of assistance, please email me.
CBR and All That
OK, so we know that unchecking AAC VBR in Preferences > Advanced > Importing actually gives you ABR (Average Bit Rate) encoding and checking it gives you VBR_Constrained. I just put up a script that uses afconvert to import CD tracks as old-style CBR (Constant Bit Rate). However, even this apparently does not provide a constant bit rate. For example, after ripping a few tracks with it and attempting to join and export them in QuickTime, I do not get the pass through option. Checking their info with the QT Inspector the bit rates are indeed slightly different. Here's what's weird: CD tracks I ripped with a pre-v7.5 iTunes without VBR also have slightly different bit rates, but QT allows the export as pass through. I've gotta do some research.
NEW: Rip AAC Old School v0.9
Now that iTunes doesn't rip or convert AACs using constant bit rates (see this MacFixIt article), users of Join Together can't take advantage of the Pass-through option, which encodes the final joined file much faster. Rip AAC Old School is an AppleScript wrapper for the command line tool afconvert. It will rip CD tracks as AAC using Constant Bit Rate (CBR) so that ripped tracks will all have the same bit rate. I tested it pretty thoroughly here, but I'm still keeping my fingers crossed.
AAC VBR Bug NOT a Bug
According to this article at MacFixIt, "it now appears that this [is} neither a bug in QuickTime nor a bug in iTunes; in fact, it's not a bug. What's happened is that the meaning of the choices you make in iTunes has changed (without, as usual, any explanation or notice from Apple)." For more, read the entire article.
QuickTime 7.3 Bug - AAC VBR, Whether You Want It Or Not
This thread and this thread at Apple Support Discussions describes a bug in QuickTime 7.3 which ignores your iTunes VBR (variable bit rate) settings for importing or converting AAC tracks. As a result, you always get VBR. (Thanks to Correspondent Christian who pointed this out to me when describing a problem with the "Pass-Through" setting of Join Together. This option will only be available if your selected tracks all have the same bit and sample rate. Of course, if they are VBR, they won't all have the same bit rate and Pass-Through won't be available.)
I smell iTunes 7.5.1 and/or QuickTime 7.3.1 coming soon. At least, I hope that's what I smell.
Dupin v1.1.3 Released
I've updated Dupin to version v1.1.3. There apparently is a bug in Leopard that affects German and Dutch systems, and maybe others, which causes some time and date conversion errors (specifically, conversion of date strings that contain the abbreviation for the month of March/M?rz/maart). This latest version of Dupin works around the March Bug and, thus, prevents a sorting error on systems affected by it.
Script Search
Finally got the script search form at the top of every page working properly again--well, pretty much. Because of some MySQL problems about a month or so ago, I neglected to update the search code and only recently figured out the problem. If You Wanna Know: the script search is a (simple) FULLTEXT search on the database using IN BOOLEAN MODE.
UPDATED: Join Together v5.1.3
Join Together has been Leopardized and updated to version 5.1.3. Along with compatibility with Mac OS 10.5, I've also added a new icon, a "Comments" tag entry for the final joined file, and a "Check For Update" menu option--you'll want to be using this in a few weeks ;)
iTunes 7.5 Released
Apple has released iTunes 7.5. I've had a quick look and it doesn't look like there are any new AppleScript features, but I'll know more after a little more investigation.
iTunes Library Manager v5.1 Released
iTunes Library Manager has been updated to version 5.1. This is really just a maintenance release to make the GUI compatible with Mac OS X 10.5. However, I did add a "Check For Updates" menu option so that it no longer automatically checks for updates at startup. More to come in the next update, perhaps a month or so from now.
Dupin v1.1.2 Released
I have fixed a couple of issues with Dupin in version 1.1.2, now available for download. Some Leopard users were seeing an error at startup about a string coercion; this is fixed. Also, a problem with video Sample Rates (there aren't any) was fixed.
Control Remote iTunes in iChat
Macworld has a cool Leopard discovery about using iChat to remote control Bonjour-connected iTunes.
UPDATED: Tracks Without Artwork to Playlist v2.3
I've updated Tracks Without Artwork to Playlist to work with Leopard. Unfortunately, this particular download is just a plain .zip file--no fancy installer .dmg, at least for now. I've got to rebuild my little workflow that creates those so it can play well in Leopard.
Leopard, Scripts and Migration Assistant
A Correspondent writes:
"I have managed to eliminate a '-10960' error when using my favourite scripts by simply removing the Scripting Additions folder from /Library/ folder. Which of the 8 items I had in this folder was responsible for the errors I can't say. What I do know is that the Migration Assistant application is responsible for copying these files into my clean install of Leopard. Anyway, problem solved. You may want to let your other users know of this solution should you see fit."
Dupin v1.1.1 Released
Just released a quick update to Dupin. Version 1.1.1 fixes a "compilation error" some users were getting at startup.
Dupin v1.1 Released - Ready For Leopard
Doug's AppleScripts for iTunes has released Dupin v1.1, the iTunes duplicates manager. Dupin is an application that assists with locating, sorting, filtering, and deleting duplicate tracks in iTunes.
See Dupin in action. Watch the Dupin video tutorial presented by ScreenCastsOnline.
Updated in version 1.1:
- Compatible with Mac OS X 10.5 (Leopard)
- Remembers last selected playlist in playlist popup and in "Selected to Playlist..." panel
- Added option during Purge to remove tracks just from the selected source playlist
- Fixed issue with inaccurate examination of "Movies" master playlist
- Fixed issues with playlist popup display
- Minor performance fixes
This update is free for registered users.
With Dupin you can:
- Quickly find all sets of duplicate iTunes tracks based on your choice of criteria
- Select the "Keeper" tracks from among a number of duplicates automatically using a variety of versatile filtering options
- Purge duplicate tracks from iTunes and send files to the Trash
- Manage intentionally duplicated tracks
- Copy tracks to new iTunes playlists
- View duplicates in non-loaded libraries created with iTunes' multiple library feature
- View duplicates in iTunes libraries on other machines on your local network
- Sort tracks and view track info
- Export a list of duplicates to a text file
- Locate tracks in the Finder and in iTunes
- Audition tracks
In addition, Dupin features:
- Familiar iTunes-like interface
- Robust Help
- Ample keyboard shortcuts
- Visual progress feedback during operations
- Customizable toolbars
- Optional update checking
Got Your Spots On?
If you're wearing your Leopard PJs today in anticipation of being an early 10.5 adopter, I'd appreciate hearing about any incompatabilities you may detect using scripts from the site. I can tell you right now that apps like Join Together, Dupin, and iTunes Library Manager will not work under Leopard. However, I am simply waiting on results from a few beta-testers before I release Leopard-compatible versions of those apps, and that should be within a few days.
Scripting Database Events
Macscripter has a great overview on scripting the Database Events application, which front-ends sqlite 3. I haven't played with Database Events a lot, but the Macscripter article has more interesting info than I've seen elsewhere (if you've got the second edition Neuburg you might have been swayed away by his disdain for Database Events). Database Events can be handy for temporarily storing track data and doing it quickly so I aim to do some more work with it.
Dupin In Action
Don McAllister of ScreenCastsOnline has created a marvelous online Dupin video tutorial.
Inside Mac Radio
Today I recorded an interview segment with Scott Sheppard of Inside Mac Radio which I'm guessing will be part of their October 27th edition.
TIP: Check Amazon MP3 Against iTunes
A Correspondent asked if it would be possible for the script Search Amazon MP3 to work with tracks from the iTunes Store to be able to comparison shop at Amazon MP3. While the script can't access tracks directly in the iTunes Store, you can drag preview tracks from the Store into an iTunes playlist and run the script on them there.
Site Weirdness Update
The problems I was having with the site, mentioned below, have been resolved.
Website Wackiness
My hosting company is experiencing a little trouble migrating to MySQL 5 (at least that's my take on it; the messages I get from them are worded a little more innocuously). As a result, some of the script listings are truncated and, perhaps most obviously, the "Top Ten" lists in the right column are futzed. Please bear with me as I try to rectify the difficulty.
Dupin v1.0.3 Released
Dupin, the iTunes duplicates manager, has been updated to version 1.0.3.
Updated in version 1.0.3:
- Filter processing speed greatly increased
- Return keypress while "Looking for..." search field is focused initiates "Get Duplicates"
- Added recent items and "Clear" sub-menu to "Looking for..." search field
- Filter Controls window closes when filtering begins, unless set otherwise in Preferences
- Fixed problem with file path displaying instead of file name
- Addresses error on launch when attempting to identify User volumes mounted at /
- Works-around rare problem with errant carriage returns and/or line feeds embedded in iTunes' library XML file
- Minor performance fixes
Thanks to the users who provided feedback and assistance on the "errant line feed/carriage return" problem. I was unable to duplicate this problem here and their assistance was invaluable.
Dupin v1.0.2 Released
Dupin, the iTunes duplicates manager, has been updated to version 1.0.2.
- Fixed delay and stall issues occurring during Purge that some users were experiencing
- Fixed issue with Purge not proceeding when tracks selected; now allows Purge of selection
- Will display alert if iTunes is somehow inaccessible during Purge
- Minor performance fixes
This is a free update for registered users.
And thanks for the terrific response and feedback!
A Query
Some iTunes users alias or symlink their entire [username]/Music/iTunes directory to an external drive in the interest of freeing-up drive space. First of all, if you want to free up drive space, you can certainly move your iTunes Music folder off-drive, but aliasing the entire [username]/Music/iTunes directory off drive is frowned upon by Apple. While it may appear that this procedure works just fine, here may be an example of why it really does not.
Background: The preference file "com.apple.iApps.plist" keeps track of the XML file for the most recently loaded iTunes library. In turn, the XML file contains not only track and playlist information, but also the location of the iTunes Music folder for that library.
A Correspondent who has aliased his [username]/Music/iTunes directory to an external drive noticed this phenomenon: if he opened an iTunes multiple library stored locally, the iApps.plist file was updated correctly; if he opened an iTunes multiple library stored elsewhere, the iApps.plist was not updated at all.
Let me note that I have tried this (my [username]/Music/iTunes directory is where it is supposed to be) and my iApps.plist gets updated correctly no matter where I save a multiple library.
The query: if you have aliased you [username]/Music/iTunes in a similar manner, do you notice the same phenomenon? (You can view the iApps.plist file with "Property List Editor" if you have Developer Tools installed or simply by dragging it to TextEdit.)
Come On and Zune, Zune, Zune-A Zune!
Chicago Trib: In what is shaping up to be a hotly contested battle for consumers' gadget dollars this holiday season, Verizon Wireless and Microsoft Corp. will announce new products Wednesday that clearly borrow from Apple's recent innovations. "The Zune products are strong," said technology analyst Rob Enderle. "This will help make it an interesting quarter for Apple. They have a lot of people really mad at them. That could cost them some market share."
LA Times: Analysts said the new Zunes, which Microsoft Chairman Bill Gates unveiled to reporters in Redmond, Wash., on Tuesday, might help the company hold on to its sliver of the market and perhaps gain some ground against fledgling entrants. But Microsoft wasn't given much chance of taking customers from Apple Inc. "They're not going to gain against Apple because there is nothing really innovative about what they're doing," said Van Baker, a vice president at Gartner Group.
Dupin v1.0.1 Released
Dupin, the iTunes duplicates manager, has been updated to version 1.0.1. Updated in this version:
- Fixed issue with displaying dates according to International preferences
- Fixed issue with displaying playlist names
- Minor performance fixes
This update is free to registered users of v1.0.
Dupin v1.0 Released
Doug's AppleScripts for iTunes has released Dupin v1.0, the iTunes duplicates manager. Dupin is an application that assists with locating, sorting, filtering, and deleting duplicate tracks in iTunes.
With Dupin you can:
- Quickly find all sets of duplicate iTunes tracks based on your choice of criteria
- Select the "Keeper" tracks from among a number of duplicates automatically using a variety of versatile filtering options
- Purge duplicate tracks from iTunes and send files to the Trash
- Manage intentionally duplicated tracks
- Copy tracks to new iTunes playlists
- View duplicates in non-loaded libraries created with iTunes' multiple library feature
- View duplicates in iTunes libraries on other machines on your local network
- Sort tracks and view track info
- Export a list of duplicates to a text file
- Locate tracks in the Finder and in iTunes
- Audition tracks
In addition, Dupin features:
- Familiar iTunes-like interface
- Robust Help
- Ample keyboard shortcuts
- Visual progress feedback during operations
- Customizable toolbars
- Optional update checking
iTunes 7.0 or better and Mac OS X 10.4 or better (PPC or Intel)
That Didn't Take Long...
iTunes 7.4.1 was released today. No specific changes were noted by Apple, but by some accounts it blocks the ability to create your own iPhone ringtones by merely changing the file extension (to .m4r).
NEW: Album Rating Reset
Album Rating Reset will allow you to set the Album Rating for the album of the selected track to with full- and half-star ratings, or reset the Album Rating to its computed "clear-star" default rating. Requires iTunes 7.4.
iTunes 7.4 Released
iTunes 7.4 was released last night but I didn't get to it til this morning. New stuff! Album Ratings! My Good Friend Kirk McElhearn has observations on this new feature. I'm still looking into other AppleScript additions, but quite noticably there are three new track properties: album rating, album rating kind, and rating kind. The "kind" properties are read-only, but you can set album rating just like rating. I'll be posting a page of my findings later today.
DVD Housekeeping
Visitors who have been paying close attention to the latest AppleScripts posted here may have noticed a lot of DVD stuff going up. Well, I recently acquired a new DVD burner, a Sony DRX830UL/T. My Lacie d2 refused to burn any more DVDs. So far far, so good with the Sony. Anyway, I've been backing up all my TV Shows to data DVDs and naturally want to make the process as easy as possible:
- Go to the TV Shows playlist library and go into Browse mode. Select a Show and a Season.
- Make sure the tracks are sorted by Episode Number then Select All.
- Run the script Divvy Up For DVDs to create DVD-sized playlists using the selected tracks.
- Choose one of the new DVD-sized playlists and run the script Make Video PDF Booklet. This will create a PDF booklet with various info about each track and then add the PDF to the playlist.
- Burn the playlist (tracks and PDF) as a data DVD in iTunes. (Optionally, print the PDF to insert in the DVD case later. Paper...bah!)
- Have some sesame rice crackers and hummus. They're a great snack.
- When the DVD is cooked and mounted in iTunes, select it and run either CD Label of Selected Playlist (which uses AppleWorks) or Pages CD Label of Selected Playlist (which uses Pages) to create a sticky label for the DVD disc. (Sharpie...bah!)
- Optionally, return to the original playlist and use Print to make a DVD cover.
- Repeat for each DVD-sized playlist.
Then I smash the shows to make room for the upcoming new season's shows. We're big Season Pass users at my house.
NEW: Make Video PDF Booklet v1.0
Make Video PDF Booklet will create a PDF booklet containing video-oriented tag info from the selected tracks (or every track from the selected playlist) and then add the PDF to iTunes and copy it to the playlist where the selected tracks reside. Here is an example PDF Booklet made with the script. (Also see Make PDF Booklet).
NEW: Divvy Up For DVDs v1.0
Divvy Up For DVDs will create DVD-sized (no greater than aproximately 4.37GB) playlists using the selected tracks or playlist of tracks. Each created playlist is numbered sequentially, for example, "My Name Is Earl, Season 2 - Disc 1", "My Name Is Earl, Season 2 - Disc 2", and so on.
NEW: Pages CD Label of Selected Playlist
I downloaded the iWork Trial and have been playing around with Pages. I've never bothered before and I wanted to see the word processing in action. I think I'll be buying it. Anyway, I came up with Pages CD Label of Selected Playlist, which is an update to the AppleWorks version . It assists in constructing printable CD Labels (the sticky circular kind) in Pages using exported track data from the selected iTunes playlist. Requires included Pages Template and uses Avery 5692/8692 labels. Read Me explains more. I've only tested it in Pages 3.0.
UPDATED: Search SlothRadio for Artwork v1.1
Search SlothRadio for Artwork v1.1 uses the Artist and Album name of the selected or currently playing track in iTunes to initiate a search for corresponding cover artwork using SlothRadio's Cover Finder. They recently changed their web page format and so the script has been updated. Thanks to Correspondent Jostein Sletvold for the info.
NEW: Track Names With Incremented Number v1.0
Probably misnamed, but coming up with a more descriptive title for Track Names With Incremented Number would have been a job. This script sets the Name of the selected tracks (or every track of a selected playlist) to a user-configured string using tag variables for the current name [name], track number [tn], episode number [en], episode ID [ep] and position in the selection order [#]. For example, a string such as "Desperate Housewives - Season 3/[en] - Episode [ep] - [name]" would render "Desperate Housewives - Season 3/5 - Episode 305 - Nice She Ain't", and so on. While it's great for TV Shows it could also prove handy for audiobook chapters and the like.
iTunes 7.3.2 - Capacity and Free Space Bug Fixed
iTunes 7.3.2 fixes the problem with capacity and free space for source. When getting these values for an iPod source the correct values are returned.
iTunes 7.3.2 - The The Bug Seems Fixed
iTunes 7.3.2 seems to fix the the problem introduced in 7.3.1 where the browser arrow adjacent to an artist or album would not display all similar tracks if the tag began with "The".
iTunes 7.3.2 Now Available
Apple has released iTunes 7.3.2. According to the info page it "provides bug fixes to improve stability and performance."
UPDATED: Lossless to AAC Workflow v1.5
Because of the capacity and free space bugs I've mentioned recently, I had to update Lossless to AAC Workflow, which uses those properties to determine the free space on the iPod--well, not in this version. This is a collection of scripts that assists with importing/managing Apple Lossless audio files and sending converted AAC copies to iPod.
Gear for ScriptGeeks Only
This proves it: I have a few samples of the wares I'm selling at CafePress sitting on the kitchen counter. My wife says to me, "Those mugs are nice. But I don't understand it." Wife is a professional landscape architect, but not an AppleScripter. Married her anyway.
Hourly Newcasts - What I Do
I just released Play Hourly Newscasts which I've been working on for weeks; the things have gotta be tested in real time which takes hours a day when I have the time. ANYway, I've got a playlist I run everyday called "100 Songs or More". It's a Smart Playlist limited to 200 songs, live updated, selecting random songs according to various criteria. When nothing special is going on Around The House this is the playlist that plays pretty much all day (I work out of my house). I run one of the Newscast applets while this playlist is playing and every hour I get that newscast. Just like the way radio used to be before radio Program Directors decided news and music didn't mix.
UPDATED: Play Hourly Newscasts v1.2
The Play Hourly Newscasts download contains four script applets that each, respectively, download and play the latest AP NewsPulse, BBC Hourly World News Bulletin, CNN News Update, or NPR Hourly News Summary podcast episode when it becomes available enabling you to integrate an hourly newscast into your iTunes music listening throughout the day. This latest version consolidates the four applets into single download; streamlines routines.
UPDATED: Rip To iPod v1.6
I have updated Rip To iPod to account for the free space/capacity AppleScript problem in iTunes I mentioned earlier. This script will rip each enabled (check-marked) CD track to iTunes and immediately copy it to iPod, delete the file, and remove the track from the iTunes library, giving the appearance of seamless CD-to-iPod importing. You can also change your encoder on-the-fly and your Preferences-set encoder will be restored after the rip.
Capacity and Free Space Bug?
I haven't thoroughly investigated this, but I thought I'd put it out there. Using AppleScript you should be able to get the capacity and free space of a mounted iPod. These are two properties of source, along with kind. Thus, the result of this snippet should be a list of numbers representing the free space of each mounted iPod:
tell application "iTunes" get free space of every source whose kind is iPod end tell
I get 0.0 each time. This is wrong, as my Video iPod has well over 12GB of free space. Likewise, I get 0.0 if I attempt to get thecapacity.
This occurs with iTunes 7.3.1 with the iPod I mentioned above. Because the rest of my family is currently away with their iPods, I was only able to test a second generation Mini with iTunes 7.1.1 and the snippet works; it does not work with iTunes 7.3.1. So I can only assume that it's not the iPod but iTunes. Regrettably, I do not know which version of iTunes this bug first appeared.
This affects a small number of AppleScripts, notably "Rip To iPod" which uses capacity and free space to determine if there is enough room on the iPod to copy ripped CD tracks. Because of this bug, it always reports that there is not enough room. I'll update "Rip To iPod" to work around this.
Duh - Mute
I've been ragging on about this since iTunes 2: no Mute control in the contextual menu when click-and-holding the iTunes icon in the Dock. Today I discovered a Mute toggle was there! I'm not sure if it appeared in 7.3 or 7.3.1, but who cares!? Hurrah!!!
Update: I have it on good authority that it was added in v7.3.
Lyrics Follow-Up
Correspondent Otto K emailed me to say that Yahoo! Music's lyric site, though not terribly complete, provides licensed and legal lyrics.
Getting Lyrics - The Problem
This week's Get Lyrical Fiasco gave me pause to consider some options iTunes users have at their disposal for gathering lyrics. First of all, there are several good applications that can do this--check Version Tracker.
No, scratch that.
I mean first of all, lyrics are copyrighted material and how you get them is your own business. As far as I know no music publisher posts lyrics royalty-free. All those lyrics web sites are copyright infringers. That's why when you do see lyrics legitimately published or posted, unless used for critical or newsworthy purposes, they also must include a disclaimer to the effect that permission was granted by the music publisher to use the lyrics. Sure, some people would argue that the lyrics are out there for anyone to write down or otherwise duplicate--one can listen to the radio and write down the lyrics of any song--but to publish them without the copyright owner's permission is an infringement of applicable laws.
That being said...
Apple did not provide the "lyrics" tag in iTunes so that wide-spread copyright infringement could ensue. Their defense could easily be, "Well, you can input any text you want in the lyrics tag. How an iTunes user decides what text to use in the lyrics tag is not our problem." And they would be legally safe and right.
Which of the following is legal under US copyright law?
- Listen to a song and transcribe its lyrics to the lyrics tag yourself
- Go to a lyrics site and copy the text and paste it to the lyrics tag
- Use an application that tries to locate the lyrics of a track and copy the text to the lyrics tag
The only legal answer is the first one.
I have tried to develop scripts that scour lyrics sites for accurate song lyrics. And you know what? I gave up. The majority of them are filled with so much advertising crap that it is a waste of time to try and parse around it. The fact of the matter is they exist to get your web hits. They are not a public service. Indeed, they are a public nuisance. If I were a music publisher, music artist, music writer, I'd be wicked pissed-off that my work is being stolen and re-published without my permission and without my being compensated.
I have read rumors that Apple is working with publishers to provides lyrics in tracks downloaded from the iTunes Store. That would be fine.
But stealing lyrics from crappy websites is just as bad as stealing music. Art's art, man.
Get Lyrical Error
Chris Shull's "Get Lyrical" script -- v2.3 was posted yesterday -- apparently only retrieves lyrics for "Billie Jean" by Michael Jackson. I have contacted Chris about fixing it.
Update: Apparently there are some other problems with the script. After editing it myself to fix the "BJ" problem, I was unable to get correct lyric text for very many song selections. Again, I have notified Chris.
UPDATED: Get Lyrical v2.3
Author Chris Shull let me know that he has updated his Get Lyrical to version 2.3. This script will attempt to get the lyrics of the currently playing or selected tracks from lyricwiki.org and store them in the track's lyrics tag. This latest version uses lyricwiki.org as the source for lyrics and fixes some single quote problems.
iTunes 7.3.1 - The Bug
Correspondent David B. writes: On my machine when I click the "-->" links in the artist name field to display all the tracks of that artist, it does not work if the artist name begins with "The". Yep. Same here.
Update: Apparently the same holds true for Album.
iTunes 7.3.1 and QuickTime 7.2 Released
Yesterday Apple released iTunes 7.3.1 and QuickTime 7.2. "iTunes 7.3.1 addresses a minor problem with iTunes 7.3 accessing the iTunes Library." This is the -50 error some people were getting when trying to update the library. I have not noticed any AppleScript-related changes. QuickTime 7.2 finally allows non-Pro users to view movies in full-screen plus contains additional bug and security fixes. It also provides an updated H.264 codec for exporting movies to an iPhone-compatible format.
Also, several Intel Mac users are reporting that applications fail to start and that Rosetta seems crippled after installing the latest QuickTime and/or iTunes. Ouch.
...And All I Got Was This Lousy T-Shirt
In the interest of supporting the site and evangelizing AppleScript (and for laffs), I've set up a T-Shirt & Mug store at Cafe Press. I make $5.00 Amerkin on every purchase which helps offset my own personal costs in keeping this site going. Hopefully, you'll find the wares enjoyable. Thanks in advance ;)
Proximity + iPhone
Proximity is an application (menu bar app, actually) that monitors the proximity of your mobile phone or other bluetooth device and executes custom AppleScripts when the device goes out of range or comes into range of your computer. Guess what? Couple of geniuses have written some example scripts for it that work in conjunction with iPhone.
iTunes Maintenance
Perhaps you change your car's oil on a regular schedule (you should). You pay bills on a regular schedule. Perhaps you have other household routines you schedule on a regular basis--cleaning bathroom, changing sheets, clipping the dog's nails, weeding the garden, Swiffering the computer desk, and so on.
How about tending to your iTunes music collection?
Many people who frequent this site are looking for AppleScript solutions that will instantaneously completely transform their un-tidy iTunes Library into a pristene-perfect Library of Congress-quality digital music collection. To the contrary, I've found that there's no need to try and get iTunes maintenance done in one fell swoop. If you take your time to manicure your iTunes music regularly you will not only avoid frustration but maybe get to know your collection better.
I spend only about a half-hour a week pruning, updating, re-tagging, deleting, Smart Playlisting.... Usually, the best time for me is on Saturday morning. Just after the second cup of tea and before my wife announces (decrees) the Weekend Activities. Here's my regimen:
- Find duplicates - Using either iTunes' own "Show Duplicates" or the script Corral iTunes Dupes, I assemble a list of possible duplicates. This assemblage contains the (so-called) "original" track and the (so-called) duplicate(s). I actually listen to a portion of each track, and/or check the bit rate and sample rate, and/or do a "Get Info", and/or check the file (using "Show In Finder", Command/R) to make sure which is the "original" and which is/are the "duplicate/s". Delete accordingly. (See iTunes Help Menu "Keyboard Shortcuts" on how to delete tracks/files from a playlist.) Remember, I don't check every track since I only have a half-hour on Saturday before wife says clean garage.
- Check for empty tags - Do a sort by Album. Find tracks with blank albums. Do a sort by Artist. Find tracks with blank Artists. And so on with other tags. Correct, if necessary.
- Check Artwork - I use the script Tracks Without Artwork to Playlist. Then I use Find Album Artwork with Google to locate artwork. Of course, you can always use iTunes own "Get Album Artwork" in the Advanced Menu.
- Examine playlists - I'll often create temporary playlists (Smart and regular) and then forget about them. Now's the time to get rid of them.
- Archive TV Shows and Movies - I subscribe to several TV Shows. When the season ended for "Ugly Betty" and "My Name Is Earl" I dumped the shows to DVDs and deleted the files from iTunes. Likewise, I delete episodes of "The Daily Show" after a couple of weeks; since they are so topical, unless there is a real keeper, they get deleted. (Heck, YouTube has the best highlights anyway.)
- Always sort by Date Added - All my main libraries (Music, TV Shows, Audiobooks, and so on) are sorted by Date Added (newest on top) so I only have to scroll to the bottom to find out What The Deal Is. Archive 'em or delete 'em.
I certainly do other tasks which are me-specific, but the point is to do them regularly. Otherwise your library will almost certainly get out of control. Remember, you don't have to fix everything this Saturday. Take it one Saturday at a time.
iTunes 7.3 - Bundled Apps
Last August, this article at Mac OS X Hints pointed out the differences between AppleScript Application and Application Bundles running on PPC and Intel Macs. At the time, I asked if Bundles displayed and worked correctly in iTunes' Script Menu on an Intel Mac--they did not. However, the original poster, Harry Dymond, just emailed me to let me know that iTunes 7.3 (and/or perhaps OS 10.4.10) resolves this issue.
iTunes 7.3 - OSTypes Switched
A couple of Correspondents have noted that the OSType associated with the persistent ID property has changed to 'pPIS', which returns the persistent ID as a string. The previous OSType 'pPID' now returns a 64-bit number as in iTunes 7.1.1 and earlier. If you use raw Apple events to get this data then you may have to make some changes. (Thanks Milo and Manfred.)
1833 EDT -- No Sign of iPhone Users
Just wanted to say that, for the interest of historians, as of 30 minutes+ iPhone availability, no one that I know of has posted anything about the iPhone.
iTunes 7.3 - Sort By Difference
Tags starting with numbers now appear after tags starting with alphabetical characters when sorting by a particular tag. That may throw you for a loop. (Thanks Kirk.)
First Perusal of iTunes 7.3
As far as I have been able to tell, there are no AppleScript enhancements in iTunes 7.3. The iPhone, presumably, will display as a Source (like iPod) and (like iPod) audio files on the device will not be directly accessible with AppleScript. Since I have no plans to purchase an iPhone anytime soon, I'd be interested to know if AppleScripts such as Import iPod Audio Files work with iPhone. Then again, iPhone has its own OS, so file management may be completely different than with the iPod.
iTunes 7.3 Available
As suspected, Apple has posted iTunes 7.3. Presumably it provides support for iPhone, but if there are any significant AppleScripting changes, I will post as soon as I can.
iTunes 7.3 Coming Friday?
This iPhone Tech Specs page at Apple indicates that iPhone requires iTunes 7.3 or better. So evidently not all the iPhone goodies are in iTunes 7.2.
Beta Testers Aplenty
Thanks for the great response to my call for beta testers yesterday. I've got a great pool of testers and, sorry to say, will be unable to accept any more.
Beta Testers Wanted
I'm looking for a few beta testers for a new application I'm working on. Potential testers must be Mac OS 10.4 or better/iTunes 6 or better users, have access to all privileges of computers on the local subnet (Moms/Dads with home networks are ideal), and must not be afraid of getting their hands dirty with some safe and minimal poking around in the computer. If you are interested, get in touch with me by email. My email address is around here somewhere.
NEW: Nudge Stream URL
Nudge Stream URL is a stay-open applet that will attempt to keep the currently playing radio stream active. If the stream drops out, or another track is selected, the applet will re-open the stream's URL.
I recently got an email nudge from developer Daniel Jalkut. He's the developer of the application FastScripts, among other things. He noticed that I provide instructions for setting keyboard shortcuts for iTunes scripts and thought I'd be interested in FastScripts. I admit that I have known about FastScripts for awhile but never got around to trying it out. Well, I finally did. FastScripts goes the Apple Scripts Menu one or three better. It supports keyboard shortcuts for AppleScripts in its menu (both application-specific and global) and has the nice effect of taking place as soon as you set a shortcut value (without having to re-start an application like you would have to do if you set shortcuts in Apple's Keyboard Preferences), and will also allow you to set shortcuts globally. FastScripts is shareware, but FastScripts Lite is free and will let you work with ten scripts. I highly recommend it.
iTunes Give and Take
Chris Breen discovers a Gotchya in iTunes 7.2: "If you burn a playlist of iTunes? protected music to a CD in iTunes 7.2 and then rip that CD in the MP3 format (a trick people often use to remove the tracks? copy protection), those MP3 tracks won?t copy to an iPod. Try, and you?ll be told that the tracks are incompatible with the iPod." Those cheeky Apple devils!
Your ID Is Showing
My Good Friend Kirk McElhearn points out that your iTunes Account ID is accessible to any smarty who can open your iTunes Plus files. Derek DeLong extrapolates this phenomenon to suggest that if you P2P your iTunes Plus files Apple may be able to track you. Seems to me another sort of smarty could wipe any account info from the file anyway (along with any other purchase info) if one really wanted to nefariously P2P.
Locate .itc Artwork files
On the iTunes 7.2 info page, I've added a ham-handed script that will get the path to a selected track's .itc artwork file. It uses the persistent id properties of the current library and selected track to create the filename of the .itc file (eg: 855D16966D2635AE-E345A3A7AC7E50AF.itc), and UNIX find command to locate that file within the ~/Music/iTunes/Album Artwork folder. It then reveals the file in the Finder. Of course, more could be done with it, like converting to PNG or some such, more error checking, and so on. I've just been too busy to do much more with it ;)
iTunes 7.2 AppleScript Changes
I'll be posting any AppleScript changes I find in iTunes 7.2 on this page.
New reveal Command
iTunes 7.2 introduces the reveal AppleScript command. Given a track or playlist reference, it will select that track or playlist. Helpful!
iTunes 7.2 Released
Apple has released iTunes 7.2 which will accomodate DRM-free purchases from the iTunes Store. You may recall that you will be able to purchase tracks with DRM for the same price, or iTunes Plus tracks without DRM and at higher quality for a slightly increased price. Anyway, I'll report on any AppleScript changes as soon as I can.
UPDATED: Block Party! v1.5
I've updated Block Party! to v1.5. This script creates a "Block Party" playlist of random Artists and a specific number of their randomly selected songs arranged in a row ("two-fers", "three-fers", etc). Now works faster by virtue of being a compiled script, plus a few routines have been speeded up. Other changes include the ability to filter out movie and PDF tracks, filter out tracks smaller than a particular time limit, and filter out tracks of specific genres, the latter two of which are hackable in the body of the script.
NEW: Artist - Album - Disc from Selected Track
Artist - Album - Disc from Selected Track creates a new playlist--with the intention of burning its tracks to a CD--based on a single selected track's artist, album, and disc number. The tracks are ordered by album track number. There are other things to consider as well, so be sure to read the docs.
So I purchased "More Songs About Buildings And Food" by Talking Heads from the iTS today. This is an album we listened to in the dorm as An Actual vinyl LP back in 1978. I was reminded that "Found A Job" (track 6 of 11) has a long fade. This is because it was the last track on Side 1 of the original LP. Back in the day, the least-high person would run to the phonograph and flip the LP over. Then we'd all get ready for the anxious opening of "Artists Only"--and arguably the darker Side of the LP. Oh well. No one would never know now. Why not? How can we figure this out? How can we denote the Sides of an original LP which--no doubt--were mastered based on start/end of LP sides?
NEW: Number Song Names by Play Order
You know, there are probably four or five scripts here that attempt to number tracks or filenames the way people want. This has been an activity going back to SoundJam. Number Song Names by Play Order approaches the problem a little differently. The script will prefix each selected track's Song Name (I use the old "Song Name" nomenclature when actually the Song Name is now called "Name") with the number of its order in the selection (01, 02, 03...and so on). The selected tracks must be in a playlist that has been sorted by Play Order; ie, a user-created playlist, not a so-called "Master" playlist. The selection of tracks need not be contiguous, however it is important to have already established the Play Order. There's also an option to inhibit iTunes from renaming the tracks' filenames, since iTunes will automatically do that when you change a Song Name.
NEW: Get Airdate and Network
A Correspondent inquired whether the original airdate info for a TV Show track could somehow be obtained from the internet. While the IMDB offers this info, you can't really get at it so good with AppleScript, so I went with the--presumably--next best thing, which is IGN.com. Get Airdate and Network will use the show and episode names of a single selected TV Show track in iTunes to search the IGN.com website for that episode's page and then parse that page for the original airdate and network. You can then either open IGN.com's page for the episode or add the info to the selected TV Show's comment field. Note that results using this version are not one-hundred percent fruitful.
UPDATED: De-Genre v2.0
Eliminate superfluous Genre names fast with De-Genre v2.0. This script re-assigns the Library tracks of selected Genres to another Genre so that the original--and consequently un-assigned--Genres disappear from iTunes' Genre pop-up list. As you may know, you can make many superfluous Genres vanish from iTunes' Genres pop-up list simply by eliminating a reference to them in your tracks; when no tracks are assigned to a particular Genre, that Genre will be dropped from the list. (iTunes original Genre names cannot be removed this way; only those accumulated from other sources or created by you.)
UPDATED: Find Album Artwork with Google v2.5
Brett O'Connor's popular Find Album Artwork with Google has been updated to 2.5. This script will do a Google search for artwork based on the selected track's Album. This latest version updates image size settings to be in-line with Google Image's redesign and fixes a problem with an ampersand character breaking the search string.
Google Reader Problems
Several people who use Google Reader to view my RSS feeds had complained that links embedded in articles were not rendering correctly. I think I have fixed this. Google Reader is not as forgiving as some other new readers so I had to be much more particular about how certain characters were translated. If you use Google Reader, try deleting and then re-adding my feed links and let me know if you get the same nice results I do.
MPAA Ratings
Several people have asked me if it is possible to add or change the MPAA ratings of TV Shows and Movies via AppleScript. From what I gather, the simple answer is no. As far as AppleScript goes, there is no such thing as a "MPAA rating" property which can be directly accessed. As far as I can tell (and I haven't spent a lot of time investigating this), video files downloaded from the iTunes Store contain the MPAA data. For instance, my "Daily Show" video files contain some info that looks like this: "us-tv|tv-14|500|". This can also be seen in the XML file in the Content Rating node--remember that the XML file is written out by iTunes, not read in by iTunes, so changing the XML file does nothing. I actually opened one of video these files in TextEdit, changed the "tv-14" of this string to "tv-ma", and after saving the file, "TV-MA" appeared in the Track Name of the show. It took quite a while, but I'm sure a perl routine could do it faster. But be that as it may, I am not sure how to add an MPAA rating to a file which you may have gotten by some means. I am aware that the program Losify (which I recommend!) is able to do it, but the file does need to be re-written.
Make sure iTunes mounts a networked music library - Mac OS X Hints
This tip at Mac OS X Hints, Make sure iTunes mounts a networked music library, provides a simple method to ensure that the network drive containing your iTunes Music folder is mounted when starting iTunes. Simply put an alias of the iTunes app on the networked drive, copy that alias to your Dock, and launch iTunes with that.
UPDATED: Super Remove Dead Tracks v2.0
Super Remove Dead Tracks has been updated to v2.0. This script will survey iTunes for tracks whose files are no longer available (as indicated by a "!" next to their names) and remove them. Any playlists that subsequently contain no tracks will then be deleted. It now creates a text file on the Desktop listing the Song Name, Artist, and Album of any tracks removed.
NEW: Trackographer v1.0
Trackographer is a Stay-Open applet that will monitor iTunes and send tag information from each playing track (including radio streams if they provide track info) to a text file. Preferences can be set to include or not include various basic tags and to create a plain text file or a tab-delimited text file which can be imported into a spreadsheet.
NEW: Search Artists to Make Sort Artist
This script doesn't do anything you couldn't already do manually, but does put the whole process into a single script. Search Artists to Make Sort Artist will search for tracks whose Artist tag contains a user-entered search string. It will then ask you for a text string to use in each of those tracks' Sort Artist Tag. Or, rather than have the script automatically enter a Sort Artist, you can choose to display the results of the search in a new playlist to inspect them, then use Batch Set Tracks Sorting Tags to set the Sort Artist tag of just the selected tracks. FWIW.
UPDATED: Join Together v5.1.2
Join Together has been updated to v5.1.2. A couple of months ago I started getting reports from Join Together users regarding a strange "-54 file open" error. This error occurred as Join Together was attempting to apply tags to the joined file in iTunes. Turns out that iTunes 7.1.x is busy analyzing audio data during the "add" routine, thus leaving the file open and preventing the tags from being applied. I couldn't duplicate the error myself (still don't know why), so I had to rely on the kindness and patience of a good dozen or so users to fix the problem. Looks like it's licked. Also, the "-2753 variable" error that some people were getting has also been fixed. This was another error that I was unable to duplicate, so, once again, many thanks to the beta testers for their patient assistance.
...And Subscription Services?
If EMI drops DRM, what about those silly music download services that use the subscription model? Would any reasonable person subscribe to their music collection when untethered music downloads are available DRM-free?
FWIW, I've Started A Tumblelog
Because I don't think it's appropriate to post things I'm interested in at this site which fall outside the Venn diagram of iTunes and AppleScript, I've started a tumblelog with Tumblr. This is the link to the browser version, and this is the link to its RSS feed. Anything that strikes my fancy (such as berating myself for using the phrase "strikes my fancy") could appear there. I probably should have posted this item there, for example, but then how would you know that I had posted it?
UPDATED: CDDB Safari Kit v2.3.3
CDDB Safari Kit had to be updated because Gracenote mooked with their template. These two AppleScripts, "CDDB Safari" and "CDDB Tracks to iTunes via Safari", assist in finding and retrieving Album track information, Album, Artist, and Year from Gracenote's CDDB website using Apple's Safari browser.
Save Imported CDs to New Location
This hint at Mac OS X Hints points out that holding down the Option key while loading a CD (if "On CD Insert" is set to "Import CD" or "Import CD and Eject") or when clicking the "Import CD" button will allow you to choose a destination to save the ripped CD tracks to other than your default iTunes Music folder (set in Preferences > Advanced > General). Even if you have "Copy files to iTunes Music folder when adding to library" checked iTunes will ignore that setting and "know" that the imported tracks' files are in your selected location. Could be handy!
Apple TV Works With CRTs
Paul Kafasis, big amoeba at Rogue Amoeba, has posted a great overview of Apple TV. My favorite observation is Surprise #2: The AppleTV doesn't require a "Widescreen TV" or an HDTV. I have a wonderful Toshiba 32" CRT that already loves PS2 and which I'm sure would make room in its heart for an Apple TV.
NEW: Scour Web Page for Media v0.5
Scour Web Page for Media will examine the current web page in Safari for your choice of media files, such as those on a MP3 blog (currently mp3, aac, and pdf files are supported), and allow you to select any found files to download and then add them to iTunes. Options include selecting download location, adding to a particular iTunes playlist, and the ability to delete the original files after adding to iTunes.
UPDATED: Current Track to Twitter v1.5
Whew! Quick update to Current Track to Twitter, which was NEW this morning (see previous entry). Rather than have you hard code the script, you can now create a new password in your Keychain with your Twitter account info, thus keeping it secure. You'll have to set up a new password with the Keychain Access app and instructions are included in the script's Read Me. Much obliged to Coda Hale's original script for QuickSilver which provided some routines.
NEW: Current Track to Twitter v1.0
If you're a Twitter user, Current Track to Twitter is a stay-open applet that continuously monitors iTunes and when a new song starts playing will post info about that song to your Twitter account, including song name, artist, album, and rating stars. Geeky!
UPDATED: Super Remove Dead Tracks v1.5.1
I've updated the venerable Super Remove Dead Tracks (one of the oldest scripts on the site) which surveys iTunes for tracks whose files are no longer available (as indicated by a "!" next to their names) and removes them. I noticed some dialog box text problems so I fixed them and made some tweaks to the code. Nothing new added, just made more Super.
My Web Host Wants You To Know...
As part of our ongoing efforts to improve our hosting platform, we will be performing scheduled quarterly server maintenance between 12:00am midnight and 8:00am EDT on Sunday, March 25, 2007. During this time, your Web site may be inaccessible.
So don't expect mission-critical iTunes AppleScripts to be available this coming Sunday (or whenever; EDT is -4 from GMT currently). I will be asleep when this is going on. Please shut off the lights when you're done.
Apple's AppleScripts for iTunes Found
I had mentioned earlier that Apple's AppleScripts for iTunes page had been re-posted with no links to the original iTunes scripts. But the original has been resuscitated on this page, which includes a download link for the original iTunes AppleScripts from Apple.
UPDATED: Tracks Without Artwork to Playlist v2.2
Tracks Without Artwork to Playlist will survey the selected tracks or the selected Playlist for tracks without any artwork and quickly copy them to a new discrete Playlist. This latest version corrects for some rare "false positives".
Re-map Command-F to Activate Search
Rob Griffiths has posted a neat tip at his Mac OS X Hints Weblog at Macworld that describes how to Search local iTunes via Command-F. It explains how to assign Command-F to activate the iTunes search box rather than activating Full Screen View, and re-assign a new key combo for Full Screen View.
That Was Fast! iTunes 7.1.1 Released
I'll bet some people didn't even know iTunes 7.1 was out, and now Apple has released iTunes 7.1.1. According to the info, "iTunes 7.1.1 addresses a stability issue and minor compatibility problems in iTunes 7.1."
Apple's AppleScripts for iTunes Kaput
I just noticed today that Apple is no longer making their iTunes AppleScripts collection available, which used to be downloadable from this page (I believe they were written by Sal Himself). Instead they recommend visiting here or Script Builders at Macscripter.net. Just so, many of the scripts in that collection were getting old and in the way. No clue if they'll update them.
UPDATED: Export Selected Tracks to XML v1.2
Another update to a script that needs to locate the current XML file: Export Selected Tracks to XML will create an importable XML file using the data from the selected tracks, similar to the iTunes "Export Song List..." as XML menu command except that just the selected tracks' data are exported. Later, you can reimport the files using the iTunes "Import..." command in the File menu.
UPDATED: Export Smart Playlist Criteria v1.2
Another couple of scripts that need to reference the XML file: Export Smart Playlist Criteria is a collection of two scripts, "Export Smart Playlist Criteria" and "Export Selected Smart Playlist Criteria", each export just the criteria of the selected Smart Playlist(s) to an XML file. This file can then be imported to any iTunes using the "Import" command in the File menu. Handy for backing up Smart Playlist criteria or for sharing your Smart Playlists' criteria with other users. The latest version of each script is able to locate the XML file of a loaded multiple library.
UPDATED: Assimilate View Options v1.2
The script Assimilate View Options has been updated since one of its routines attempted to display the entire library playlist and this is no longer possible in iTunes 7.1. The script re-creates your playlists, excepting Smart Playlists and "special" playlists (Purchased, Podcasts, Party Shuffle, Audibooks, TV Shows, and Movies), then deletes the old ones so all of the View Options are the same as the main Music library (taking advantage of the fact that new playlists acquire the Music library's View Options).
Sort iTunes 7.1 by Release Date
iTunes 7.1 adds a "Release Date" sorting field, which I hadn't noticed until this morning. Tracks that come down from the iTunes store, including podcasts and videos, seem to use it. Unfortunately, it is not accessible by AppleScript or any manual-inputting means that I can determine.
Make The Loser Sing!!!
We love it at my house when someone gets booted from (the-campy-and-we-oh-so-love-to-hate) American Idol and then they have to sing. Make The Loser Sing! Sing, Loser! Sing!
More About PDFs
In my post yesterday, I suggested using "PDF Adder" to add PDFs to your iTunes. Duh. I neglected to mention that also in the PDF Adder collection is a PDF Service Workflow called "Add to iTunes...". When installed in your [username]/Library/PDF Services folder it appears as an option under the "PDF" drop-down in any app that supports a Print dialog. So, find a page in Safari, hit "Print" and select "Add to iTunes...". It will ask for a name, artist, and album for the PDF and then add it to iTunes.
30th HS Reunion
It suddenly dawned on me that it's 2007. I notice years that end with a 7 because I graduated High School in 1977. Like 1939 was great for movies, 1977 was great for rock music. And that was 30 years ago!? BTW: do not invite me to the reunion.
PDF Booklet via Safari
I've been messing with Wikipedia to get info for various artists (see Search Wikipedia). But I wanted to be able to save the info, perhaps even including it in iTunes for future reference. Can do. Today I tried this trick: use Safari to go to the Wikipedia page containing info on your favorite artist. Click "Print" in Safari's File menu and then click "Save as PDF" in the PDF drop-down. Optionally, hit the "Preview" button in the Print dialog to see what the PDF will eventually look like after it's saved and then save it as a PDF.
Once the PDF has been saved, use PDF Adder to add it to iTunes. The "PDF Adder" script in that collection will let you choose an existing PDF file and add it to iTunes and provide Album and Artist tags to the new PDF so that it will be sorted with the associated Album. If your iTunes Advanced>General Preferences is set to "Copy files to iTunes Music folder when adding to library" the PDF will be copied to your iTunes Music Library folder, and the original PDF can be Trashed.
As far as Wikipedia goes, it appears they use a "print.css" file that fomats the page for printing. This maintains formatting while eliminating the sidebars and such. Other sites may do so as well--like the one you're looking at now ;).
How To Write Your First AppleScript
Perceval McElhearn has posted How To Write Your First AppleScript at Macinstruct. It's a nice intro for those of you who want to get started. BTW: Perceval is the descendant of my good friend and Mac aficionado Kirk McElhearn. The nut don't fall far from the tree.
Show Entire Library Workaround
For those of you iTunes 7.1 users who are dismayed by the inability to display the entire library (as noted in this post) here's a workaround. Create a Smart Playlist whose only criteria is "Size is greater than 0" and click on Live updating. Name this new SP something obvious like "Everything" or "Full Library" or what have you. Then create a script like this, substituting the name of your SP where appropriate:
tell application "iTunes" set view of front browser window to playlist "Everything" end tell
Save it to your iTunes Scripts folder and give it a shortcut so you can easily display the SP when necessary. Thanks to Correspondent George Dick for the idea.
VoiceOver Accessible
From the comments at Chris Breen's What's new in iTunes 7.1 at Playlist:
One feature that undoubtedly escape[d] most peoples['] notice is [the] fact that iTunes is now accessible with VoiceOver. This is a major step forward for sight impaired individuals. In the past VoiceOver could not access anything within iTunes. Now virtually everything in iTunes can be navigated and controlled with VoiceOver....Kudos go to Apple for getting iTunes accessible.
No More View library playlist 1
Correspondent George Dick reports--and I have verified--that you can no longer display library playlist 1, that is, the entire iTunes library, with a script such as this:
tell application "iTunes" set view of front browser window to library playlist 1 end tell
NEW: Selected Tracks Played or Unplayed
Another new AppleScript track property in iTunes 7.1 is unplayed. This item does not appear in the GUI (not even in Smart Playlist criteria!?) but is accessible in the XML file, so I suspect this is something AppleTV may want to know about. In any case, you can set a selection of tracks as unplayed or played by setting the unplayed property to true or false, respectively. And that's what Selected Tracks Played or Unplayed does for a selection of tracks. Need I add for iTunes 7.1 or better only?
UPDATE: it appears the unplayed property may be specific to podcasts. However, the script will work with any track.
MORE UPDATE: do my TV Shows now have a blue dot on the far left indicating their played status?
NEW: Batch Set Tracks Sorting Tags
I don't know who doped my corn flakes yesterday, but after iTunes 7.1 came out I'd swear the dictionary didn't show the new sorting tags. Well, things have gotten back to normal here and I've got Batch Set Tracks Sorting Tags for you. This script will allow you to batch-set the new sorting tags ("Sort Name", "Sort Artist", "Sort Album Artist", "Sort Album", "Sort Composer", "Sort Show") of the selected tracks, rather than manually doing so one track at a time.
Apply Sort Field
iTunes 7.1 adds a "Apply Sort Field" submenu in the track contextual menu (Control-click a track). What's that about?
iTunes 7.1 Released
Apple has released iTunes 7.1, available from your Software Update or as a stand-alone installer from the iTunes download page. This is a major update (7.0.2 to 7.1) which probably accommodates Apple TV; we shall see if any AppleScript enhancements ensue. More to come...
UPDATED: Join Together v5.1.1
Join Together has been updated to version 5.1.1. This AppleScript Studio application will enable you to join the files of selected iTunes tracks together with QuickTime and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, you can then create a "chapterized" audio file of the exported AAC file with pointers to the individually joined tracks.
This is a minor fix release that fixes an error that occurred at startup when attempting to generate a Genre names list from the XML file of a loaded multiple library ("Can?t get items 1 thru -2 of {??}. (-1728)") and prohibits auto-selection of every track in the "Music" or "Audiobooks" playlist when no specific tracks have been selected.
More About Multiple Libraries
As I pointed out in the post about updating Tracks Without Artwork to Playlist, when using a loaded multiple library the current iTunes Music Library.XML file will be the one associated with the loaded library and not necessarily the XML file located in ~/Music/iTunes/. Several scripts which need to access the current library's XML file do not account for this--just one of those things I neglected to think about when iTunes 7 introduced the multiple libraries feature. I will be updating those scripts in the coming days.
UPDATED: Tracks Without Artwork to Playlist v2.1
I was wondering why some people were still getting false positives when using Tracks Without Artwork to Playlist. Then it dawned on me that if a multiple library was loaded, the wrong iTunes Music Library.XML file was being checked! This new version corrects that problem.
UPDATED: Remote Management Scripts v1.3
I've updated Remote Management Scripts, which is a collection of scripts that assist with managing/editing/copying shared tracks on a remote machine via the iTunes on a local machine. Nothing too major: I consolidated and streamlined some routines, changed the loginLib.scpt to allow the iTunes Music Library volumes for each machine to be listed (rather than in the individual scripts that require them), and provided an option to unmount volumes after scripts that mounted them have finished.
Featured at Lifehacker
Adam Pash wrote up a nice "Hack Attack" article at Lifehacker which features his 13 favorite AppleScripts for iTunes from Our Little Site. Much obliged, Adam!
Thinking About Remote Management Scripts
Remote Management Scripts have been up for awhile and enable you to manipulate tracks/files from a "Shared" music library--providing you have access to the "Shared" computer (username, password, Bonjour/Rendevous name, and the drive that the music files are located on). I was using them today to move stuff around our home network. Seems to me I can make these easier to configure and use.
How I Do It
I frequently get emails asking how I go about displaying the "Doug's Listening To..." thing, whereby I display the song, iTunes Store link, album art, and lyrics search for the song I'm currently playing. I wish it were easy, I wish I could make it available. But for reasons described here it just would be too much. Maybe you have some ideas?
Earl Is Available!
Yikes, have I been wanting this to happen. "My Name Is Earl" is finally available on iTunes. This is the best American TV ever.
NEW: Update Expired Podcasts
This Mac OS X Hints post proposes a solution to a problem I was having: iTunes will stop updating a podcast subscription if one of its episodes has not been played within five days (so that's what happened). The poster provided an AppleScript solution, which, although admirably on the right track, was somewhat convoluted. Why not just plain update the podcasts! Update Expired Podcasts will batch-update every podcast subscription in your Podcasts playlist by simply "telling" iTunes to updatePodcast for each podcast subscription. The trick is getting a discrete list of podcast subscription names for the updatePodcast command; put 'em in a repeat loop and yer done.
Microsoft R&D and Their 80's Transformers Mentality
I got a kick out of this MacNN Blog review of Microsoft's Transforming Media Device patent. I especially liked--as usual with MacNN's patent reviews--The Bottom Line analysis, including: "Microsoft?s detailed patents clearly go to demonstrate just how off-guard Microsoft was the day that Apple unveiled their iPhone?s many innovations and just how off-target Microsoft really was in respect to understanding what device innovation even means." Transformers! More Than Meets The Eye!
My Feeings Exactly
From Mac News World: "According to Jobs, only 3 percent of music on the average iPod is purchased from iTunes and protected with DRM. The rest is unprotected, having come from CDs as well as both legal and illegal file sharing.
In other words, the music industry has already lost the battle, thanks largely to its own, wholly unprotected, format, the CD. It is a curiosity of the music majors that an industry born in the crucible of free love and intergenerational rebellion should have become so Luddite in its approach to new technologies."
Like CareerBuilder monkeys.
Why can't digital media be released DRM-free like its CD counterpart? What's the difference? Explain that to me.
I Like PandoraBoy
As I've noted in a previous entry, I've been digging Pandora, the music discovery site. Normally, you have to run it from your web browser. I got tired of trying to remember to keep a Safari window to keep the stream going so I used a dedicated browser, Shiira, just to run it. Well, turns out there's a nice little app that uses Webkit to display Pandora called PandoraBoy from FrozenSilicon Labs. PLUS, it's AppleScriptable so you can assign hotkeys to control volume and skipping and thumbs ups/downs. It can also interface with Growl. And PandoraBoy is free. Can't beat that with a bat.
Wonder if they'd add an AppleScript feature so I could grab currently playing track info? Gotta drop 'em a line.
Update to iTunes Coming Soon
Probably not completely unexpected, but here are some clues. This recent AppleCare article on Windows Vista and iTunes compatibility: "iTunes 7.0.2 may work with Windows Vista on many typical PCs. Apple recommends, however, that customers wait to upgrade Windows until after the next release of iTunes which will be available in the next few weeks." This time frame jibes with the AppleTV specs page that had at one time listed iTunes 7.1 as a requirement (it now just lists "iTunes 7"), and AppleTV is due to start shipping this month.
Who Will Accept Gates' Challenge?
Bill Gates from his interview with Newsweek: "Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine."
UPDATED: Copy To Lyrics (Service) v1.1
A quick update to Copy To Lyrics (Service) adds display alerts to appear when appropriate. This Service menu service copies selected text from any application to a selected iTunes track's Lyrics tab. It was created from an AppleScript using ThisService. And BTW, I want to thank ThisService developer Jasper for helping me out with a few questions on how ThisService works.
NEW: Copy To Lyrics (Service)
I have been hearing some buzz about Waffle Software's ThisService application which will create and install services based on virtually any command-line script or AppleScript. So I thought I'd give it a shot. Copy To Lyrics (Service) is a service that will copy the selected text from an application to a single selected iTunes track's Lyrics tab. I just did it for fun, really, but it might save some lyric-gathering obsessives a few keystrokes.
Apple's Web Traffic Up...And Periphery Sites?
According to this MacNN article, "Traffic to Apple's website and the popularity of iTunes continues to surge at a rate greater than many of other top internet companies such as Google, Microsoft, and Yahoo!" Now, not for nothin', but this site also has experienced a surge of usage over the past six months; I've recently had to purchase more bandwidth to accommodate more traffic, which I have never had to do in five years or so of web presence. So I'm wondering: does this mean there really are more Mac users? And are they hitting other Mac-centric sites in the same proportion?
Why We Love Mac OS X Hints
Rob Griffiths, Mac OS X Hints' progenitor, recently posted a neat weblog entry at Macworld about downloading some cool free Apple fonts from the Apple iTunes AppleScripts download page. (Fonts from an AppleScripts download page?! Read Rob's article to grok.) In the course of the article, Rob casually mentions This Little Site Of Mine, and I'm much obliged.
Then, today, he's posted a hint about the usability of the new format of Google's image search results page. For those of you who may use Find Album Artwork with Google and are frustrated with the results, the hint is worth a look. Spoiler alert: get yourself SafariStand; I love that thing!
UPDATED: Tracks Without Artwork To Playlist v2.0
My friends at The Unofficial Apple Weblog posted a hint about Album Artwork that quickly caused a gushing of downloads for Tracks Without Artwork To Playlist. Unfortunately, the earlier version of that script did not account for artwork downloads from the iTunes Store, and thus would generate many false positives. I have corrected this in the latest version. Let me know how this new one runs at your place.
NEW: Google Video Search
Now that Google has finally incorporated YouTube videos in their Google Video search index, Google Video Search may come in handy. It uses your choice of the Song Name, Artist, Album, or Composer of the playing or selected track as the basis for a search of Google Video using your default web browser.
NEW: Search for Pandora Stations
My Good Friend, Best Man, and Ever-Faithful Correspondent Greg reminded me about the Pandora website: it creates streams of like-sounding songs based on a "seed" track you supply.You create "stations" which stream through your web browser. I've been having a ball with it. Search for Pandora Stations will use the Artist, Album, or Composer of the selected or playing iTunes track as the basis for a search of Pandora stations. If you like what you find, you can add a station to your Pandora account.
Shubert|it PDF Browser Plugin
In response to yesterday's query, three people suggested using the Shubert|it PDF Browser Plugin. I tried it out and it works great with Firefox. It's free for educational or non-commercial personal use, otherwise you can purchase a site-license.
PDFs and Firefox
I hadn't realized it until five minutes ago, but Firefox does not open PDFs from the web. Can you tell that Firefox is not my weapon of choice? Instead, it downloads PDFs and then relies on a helper-app--Preview in most cases I suppose, perhaps Acrobat--to display the content. Now, most of the script entries here have a "View the Read Me as PDF" link so you can, well, view the script's Read Me as a PDF before downloading the script. Safari will read the PDF online, without downloading it. So, Firefox users: is there a plug-in or something I can recommend to vistors so that Firefox opens the PDF, rather than having a .pdf turd (if you will) getting downloaded? TIA.
UPDATED: Search Wikipedia v1.1
I've updated Search Wikipedia to fix its corrupted Read Me file and also to improve the selected-or-playing track routine. This script will use the Artist, Album, or Composer tag of the playing or selected track as the basis for a search of Wikipedia, the result of which will display in your default browser.
-192 Error...the Finale
Well, I think this thing is nailed.
For those of you who have not been following along: several users have contacted me about a rare "Could not run this script because the required resources were not found. -192" error. This thing is so rare I have probably only seen it once or twice myself in my years of scripting. Here's the problem: my new "Installer" script that accompanies the latest .dmg download packages does not (currently) correctly copy AppleScript Studio apps. Some downloads use the "ProgBar" app, for example. In some download packages, the "ProgBar" app bundle is not completely copied; only its "Contents" folder is copied to your iTunes Scripts folder. This is totally fixable.
But here's the weird thing: when a folder named "Contents" is in your [username]/Library/iTunes/Scripts folder it somehow inhibits other scripts from running correctly.
What will happen is that when you run a script you will see its Splash Screen. None of the scripts from this site have been saved with this option. When you click the Run button, the -192 error appears.
Remove the "Contents" folder from your iTunes Scripts folder and the scripts will run correctly.
Here's what's weirder: create an empty folder named "Contents" in your iTunes Scripts folder and the same error occurs!
I am now updating the "Installer" script to handle AppleScript Studio apps correctly, and then this problem should disappear. If you are experiencing the -192 error, go to your [username]/Library/iTunes/Scripts folder and remove the folder name "Contents". In a few days, downloads which contain an AppleScript Studio application can be re-downloaded and re-installed correctly.
My sincere thanks to Correspondent Christian who figured out the "Contents" folder weirdness.
AppleScripts Are Macintosh Only, Will Ya?
AppleScript is a Macintosh-only technology. How do I make this any more apparent for Windows users who frequent the site?
Windows users will see this at the top of every page:
Yet I am frequently getting this type of email query (arrived today):
Doug - I'm sure you get way too many questions re: this great script [Make Bookmarkable], but I'm not sure how to begin to use it.
The downloaded zip file has 2 folders + three files. One folder and file are named _MACOSX, there folder and one file are named Make Bookmarkable v2.1 / AE, and the 3rd file is ._Makebookmarkable.
Is this script only for Macs? If not, what do I put into the iTunes Scripts folder?
Do I need to unzip the file or files first?
Thanks for any help you can give me.
Here's another, just arrived as I speak:
Hi Doug ?
I?m unable to locate home -> Library -> iTunes -> to load the script. I have Itunes v7.0.2 on a pc, is the script mac based?
I feel badly for the Windows people who write me. But I don't know poop about the Windows version of iTunes; I haven't touched a Windows computer since Citadel Communications/Providence "downsized" me four years ago.
So: how do I let Windows visitors know that this site can't help them out? Do a "if (ereg("^.+Windows.+",($_SERVER['HTTP_USER_AGENT'])))" and dump a warning window on them? How many Mac users dl stuff from their work computers and transfer to their Macs?
Any thoughts?
-192 Error Update
As I mentioned earlier, some users of my scripts are getting a "Could not run this script because the required resources were not found. -192" error. I originaly thought this was happening on Intel Macs only, but I received this from a Correspondent last night:
Here's my story: I downloaded some scripts from your site the past few days, and on my Powerbook (G4) with OS 10.3.9 and iTunes 6, several scripts give the same error you mentioned above, when launched from the script menu or by doubleclicking the script in the iTunes Scripts folder. But when I doubleclick the originally downloaded script directly, they all work! So I experimented a bit more: move script out of the scripts folder: it works (except it doesn't show in the script menu, obviously), move it back in, it doesn't work. I don't know enough of this to research it any further, but maybe this is a useful lead.
So, it appears that there is a problem with the Scripts folder?
But What About a Phone-less iPhone?
I'm as amazed and excited by Apple's iPhone as anyone. But what I want is just an iPod with Multi-Touch and the landscape/portrait detector. I don't need a phone and I don't need to access the internet or my email away from home. So, what do you figure...sometime this Summer? Oh, and since I'm wishing, how about a way to load and use AppleScripts on the darn thing?
iTunes 7.1 On The Horizon
The AppleTV specs page says iTunes 7.1 is required. Hmmm....got one of those yet? Since AppleTV won't be shipping until February, I think we can expect an iTunes update between now and then, and probably closer to then.
Definition of a Fanboy
How anxious for an iPhone do you have to be?
Now, who has more time to waste? The guy who makes the mock-up? Or the guy (me) who actually finds the website of the guy who makes the mock-up?
NEW: Search Wikipedia
Search Wikipedia performs a "Go" search of Wikipedia in your default browser using the Album, Artist, or Composer tag of the single selected or currently playing iTunes track. Wikipedia entries often contain album art, artist photos, and, of course, sundry information, discography, and esoteric factoids for artists, albums, and composers.
Required Resources Error -192
Lately, I have been getting an unusual number of emails from users who are receiving a "Could not run this script because the required resources were not found. -192" error. According to Apple's Error Numbers and Error Messages: Operating System Errors page, this is an operating system error which "occurs when AppleScript or an application requests services from the Mac OS. They are rare, and more important, there's usually nothing you can do about them in a script." This means that the script can't do much to work around the error. However, I am concerned because I am seeing this error reported much more frequently now than I ever have before.
It also appears that users with Intel Macs are getting the error. The error happens with a wide variety of scripts, many of which have been quite reliable in the past, so it is difficult to pinpoint what the problem may be.
I have posted this query at Macscripter's forum hoping that others may have seen this. If you are getting this error I would be interested in hearing from you.
MWSF '07 Predictions
Don't have any. And if I did, who cares? And those that do, what do you care? And those that care, what do you expect? And If you expect something, why should you care what I think? And if you care what I think, do you think I care? And if you care what I think, what do you think I think? And if you think what I think, do you care if I think what you care about? If you think I care about what I think I care about then why do you think I should care about what you think?
Have fun tomorrow!
Here's What We're Mixing This Weekend
Will The Circle Be Unbroken, Muswell Hillbillies, Exile on Main Street.
NEW: Batch Trim Start or Stop Time (Seconds)
Correspondent Chris Habig submitted a script which trimmed :15 seconds from the start of selected tracks (he wanted to skip over superfluous material from the beginning of a few podcasts). I added a routine that allows the user to enter any number of seconds, and another that allowed those seconds to be used as the new Start Time or to be subtracted from the Stop Time. Result: Batch Trim Start or Stop Time (Seconds).
Apple's AppleScripts for iTunes
Apple's AppleScripts for iTunes are dismally out of date. I do not believe these scripts have been updated since iTunes 2.0.3 (which was released December 14, 2001)! While they contain some useful routines, many of them are hampered by a subroutine that calls Internet Explorer--whatever that is. Far be it from me to alter these scripts, but perhaps I should put together a matrix that correlates Apple's Ancient AppleScripts with modern ones from this site?
Join Together Trouble-Shoot
A very few users have written to me over the past few months regarding an error that appears when using Join Together v5.1. The error is "The variable m is not defined. (-2753)". This will occur after QuickTime exports the final joined file. I'm trying to track down some of the reasons for this error. It occurs when Join Together is unable to successfully change the file type and creator of the final joined file. If you have seen this error, or have reported it in the past, would you mind letting me know some details: Does the error, indeed, occur after QT export? Is the final joined file very large--say, over two or three hours? I'd like to try and fix this soon and your help is appreciated.
Semi-Annual Advisements
A new year, same old reminders (clip 'n' save):
- 1. AppleScripts are for Macintosh computers only.
- 2. AppleScripts are for Macintosh computers only.
- 3. AppleScripts are for Macintosh computers only.
- 4. Do not bookmark scripts from your address bar. To spread the word about a particular script, right-click or Control-click its green "link to this entry" button and choose your option.
- 5. iPod AppleScripts will not work if your iPod is formatted for Windows.
- 6. The 30 Most Recent AppleScript postings are available via this RSS feed.
- 7. Before emailing me, check the FAQ.
- 8. Yes, I am very familiar with the other Douglas Adams (and my poor old elderly mother curses him because I have had to use the diminutive "Doug" in order to avoid the obvious; best joke: at bookstores I tell salespeople my name used to be Emily Bronte but I had to change it because...).
- 9. I do not much respond to custom script-writing requests. However, if you have an interesting idea, I'm all ears.
- 10. I think it's great that you have modified scripts from this site for your own use! BUT PLEASE, unless you have created something unique, do not send me script mods. They probably won't get posted.
Thanks for making this site a popular stop on the internet. And thank you very much for any monetary donations you have made, I really appreciate it, and it makes it easier for me to take the time to work on it. Six years, 417 scripts, and counting!
UPDATED: Quick Convert v2.6.1
Quick Convert v2.6.1 is a venerable script that allows you to convert all or just the selected tracks of the selected Playlist using your choice of available iTunes encoders, restoring your Preferences-set encoder afterwards. Correspondent Mark Donovan alerted me to an error thrown when canceling the conversion process, and, as a result, the original encoder would not be restored. This is fixed in the newest update.
Get iTunes Organized for 2007
This article at the The Unofficial Apple Weblog, posted by Erica Sadun, lists some interesting iTunes organization strategies.
Import iPod Audio Files Not Recognizing Your iPod?
Over the past few weeks, I've received email from users of Import iPod Audio Files who are getting an error along the lines of "Can't make [path/to/iPod] into an alias". I've been stumped on this one...until yesterday, when I got an email from a user who believes it is because his iPod is formatted for Windows--a recent Switcher, no doubt. Unfortunately, AppleScript can't read the file format of a Windows-formatted iPod, so the script will not work with it. This may not be the answer to everyone who may be having a problem with the script, but it's one I hadn't thought of.
UPDATED: Lossless to AAC Workflow v1.4
Lossless to AAC Workflow v1.4 is a collection of scripts that will assist you with maintaining a Lossless collection of audio files in iTunes while enabling AAC copies to be used on your iPod.
See, here was the problem: when AAC tracks were being sent to the iPod, the script wouldn't wait long enough for the file to be completely copied, and then the script would crash. Now, the script waits for the file to be copied. Actually, it waits (1.5 seconds) x (duration in seconds of the track/100). Should be plenty of time, even on slower Macs.
Indeed, this is a problem that several other send-tracks-to-iPod scripts have, so I may be updating them soon as well.
When and What to Email Me
We get letters. Lots of letters. I'm more than happy to get Correspondence, but please bear in mind:
1. If you are having a problem with a script you downloaded from this site:
Email me. Be sure to include as much Specific Information As You Can (FileVault? Alternate Finder? External drives? OS? iTunes version? Intel/PPC Mac? Background apps? Admin/User? Etc...) Otherwise, PayPal me travel-fare to your house (plus a week's lodging and entertainment expenses) and I will personally de-bug the script at your place*.
2. If you have suggestions for a New Kind Of Script That Has Never Been Done Before:
It probably has been done before. Do a Really Good Search of This Site; otherwise, Google. Or, if your requirements are convolutedly you-user-specific, PayPal me travel-fare to your house (plus a week's lodging and entertainment expenses) and I will personally write the script at your place*.
3. "I Have the Windows version of iTunes...." or "...and I should mention, I have a PC, not a Mac":
If your email contains either of these two phrases--or phrases to same effect--then you are barking up the wrong website.
*May require lodging for up to ten people depending upon the Coolness of your area.
Feedback on Open Selected in QuickTime, Show AV
"Thanks for this script! Makes a great tool for helping with piano practices, the demonstration/accompaniment song can be slowed down for the student and then sped back up as progress is made.
Works great,
Nice how the MSM does self-deprecating "Aw-gee" about being voted "You of The Year" by Time magazine. Like Time magazine is important or something.
NEW: Open Selected in QuickTime, Show AV
My friend Kirk McElhearn was asking about how to speed-up an audio file (presumably one that contained speech, although we got beyond that and started speeding up all kinds of things) in the manner that the iPod does. You can't do this in iTunes, only on the iPod. But you CAN speed stuff up in QuickTime via its A/V Controls window. So, if you're going to be listening to something on yer machine and want it a little speeded up, use Open Selected in QuickTime, Show AV, a very simple script that will open a selected track from iTunes in QT and then open its A/V Controls window; then you yourself can increase the speed manually in the Playback Speed area of the A/V Controls window (among other settings that you yourself can set).
BTW, you can set the speed of a QT movie 'script-wise by setting the value of the front movie's (or movie 1's) preferred rate to a real number. 1.0 is normal. 2.0 is 2x, 3.0 is 3x, and, of course, any number in between works as well (ie:1.98765654). Have a look at the script--in it, I set the preferred rate to 1.0. But feel free to Go Mental.
Busy Time Of Year
Maintaining this site and writing AppleScripts is not my regular job, despite what many people think. I tend to that stuff when I can, but I do have Regular Work that I do to Earn A Living; I do voice and audio production for commercial advertising and the like. At this time of year, my Regular Work tends to get pretty hectic (I can attest to the over-commercialization of the Holidays quite readily). ANYway, I regret that I have not been able to visit the AppleScripts for iTunes Plight Bunker as regularly as I like, so if you have sent me an email in the past few days with some troubles, concerns, errors, suggestions, and so on, please be patient and I'll get back to you as soon as I can. I appreciate all email and all concerns and wish to be as helpful as I can, but I hope you'll understand any delays in replies. And thanks for making this site as popular as it is!
I'm Blah About iPhone, Too
Andy Ihnatko pretty much sizes it up for me as well.
Re-converting MP3s
An interesting post at Mac OS X Hints today has Gotten My Dander Up. The poster wants to keep some of his podcasts from being synced to his iPod (or something like that). I suggested that he merely convert selected podcasts, using the same encoding and bit and sample rates as the original, and the file(s) will be re-added to iTunes' Music library; that is, a new copy will be added, as the original podcast download will remain where it is and its track in the Podcasts playlists. Then, since they are perceived by iTunes as "regular" music tracks, you can poke 'em into any playlist you want, even deleting the original podcast track/file.
The cream of the suggestion is to re-convert using the same bit and sample rates. Some might think that this will result in a loss of quality in the converted copy. Not So. iTunes will convert the audio it has extracted from the MP3. It will not--I don't know how this is even possible--re-compress the compressed audio from the original. An MP3 is not an audio file, like a WAV or AIF file. It is a file that contains compressed audio that Any MP3 Player will extract; the player isn't playing the MP3 file, it's playing the audio it has extracted from that file (that's what's so great about MP3!). Thus, when converting a file using the same bit and sample rates there will be no loss of quality. As I mentioned in a sub-post reply, think of it like mowing a lawn: you've already chopped off the tops of the blades of grass (that is, the audio that has been thrown out); going over the lawn again won't chop any more off; there's nothing to chop off. Try it yourself. Convert an MP3 file in iTunes using the file's bit and sample rates; convert that converted file with same; then convert that converted file...and so on. Hear any difference?
New Category: Retro Scripts
I just have too many scripts posted.
So, in the interest of making it a little bit easier to find scripts, I have wrangled a bunch of older scripts into a new Retro Scripts category. Scripts meet the retro-criteria by having their functionality replicated in modern versions of iTunes (Selected Tracks Bookmarkable is rendered obsolete because you can set multiple tracks' "remember playback position" in the Multi-Edit window) or because they are no longer relevant (freedb Safari Kit--the original freedb is gone and I Don't Know What That New Site Is About). Or, because I have subjectively decided a script is just plain old-fashioned (Wake From Sleep and Play is for OS 9, Import SoundJam Playlist...well...). That is not to say that these scripts don't have value. If you are a scripter, there is certainly stuff in the Retro Scripts category to learn from. But primarily I wanted to remove these scripts from the other categories to make those categories a little easier to browse.
Smartplaylists.com in WSJ
My Good Friend David Bills is the progenitor of Smart Playlists dot com, a handy site where users can exchange info on creating Smart Playlists for various intentions. The site got a nice little ol' write up in the Wall Street Journal last week. Bravo, DB! Keep on keepin' on!
Zoom Handy Recorder
My best pal called me up and said "Get this thing". Now, I don't know about you, but when my best pal calls me and says "Get this thing", I get it. Right then. Online. I even send him a pdf of the purchase order.
Well, this Zoom H4 Handy Recorder is out of this world [disclaimer: I am not receiving any compensation for this rave]. Super delicious. It does what it says and if you do any kind of field recording this is the guy to get. Shee, I'm even going to use it for in-house stuff. If you haven't gone to the spec page already, this guy has two condenser mikes in X/Y position (super-yummy live stereo recording), two XLR phantom-powered ins, 2 and 4-track capabilities, virtual amps (!), multi-tracking, records in PCM or full spectrum (CD quality 44.1 kHz to 320 kbps) MP3, easily downloaded to yer Mac via USB, way-long battery life....are you fainting yet? I won't go on then. All in a hand-held shampoo-bottle-sized contraption. Get this guy! NOW.
Best Switcher Story In A Long Time
UPDATED: Copy Tag Info Tracks to Tracks v1.5
Copy Tag Info Tracks to Tracks has been updated to include the Album Artist tag. This script lets you copy specfic tag data from the selected tracks to a second set of selected tracks. You can copy any combination of Song Name, Artist, Album, Album Artist, Composer, Grouping, Last Played Date,Rating, Play Count, Artwork, Genre, Comments, and Year.
Downloads from iTS Snagged
Hmm. I subscribe to the Daily Show and the Colbert Report from the iTunes Store (among other shows). For some reason, Monday's DS and Tuesday's CR won't download. They're stuck after a few seconds, 23.1 MB and 9.1 MB respectively. I've tried pausing/continuing and "Check for Purchases" with no results. Other purchases download fine. I've never had this problem before. Last night's (Tuesday's) DS is downloading fine now, so what gives?
Ihnatko Gives Thumbs Down to Zune
Andy Ihnatko says bah! to the Zune.
UPDATED: CDDB Safari Kit v2.3.2
Gracenote has seemingly updated its web pages again, so an update to the parsing routines in CDDB Safari Kit is in order. This is a collection of two scripts, "CDDB Safari" and "CDDB Tracks to iTunes via Safari", which assist in finding and retrieving Album track information, Album, Artist, and Year from Gracenote's CDDB website using Apple's Safari browser.
Happy Thanksgiving
Today is the un-official start of a four-day (I guess that would make it a five-day) Thanksgiving Weekend here in the US and A. So I probably won't be getting A Lot Done or Answering Much Email until this coming Monday (061127). Enjoy yourself and your thankful things!
Update on Updating Downloads II
I have begun the slow and steady process of updating the downloads. I am updating each script in alphabetical order. It takes a few minutes to check and update each script's Read Me. I can probably do about 10-20 a day, and at this rate I should be finished in early January! I've tried to AppleScript the workflow as much as possible, but there has to be a point where I can examine each script/script collection and Read Me by eye.
So, as you peruse the site and select scripts to download, don't be surprised if some un-zip as .dmg's and some continue to un-zip as folders containing files you must install manually.
Update on Updating Downloads
In a few days I will be re-uploading Every Single Script. Currently, scripts are downloadable as .zip files which then un-archive as a folder which contains files you have to install by hand. More than likely, you dispose of the folder, ignoring the Internet Location and Read Me files in it. No more.
In a few days, each download will be a zipped .dmg file. The .dmg will mount after being downloaded and you will have the opportunity to install the script and its Read Me. The AppleScript will go to the appropriate folder and the Read Me will accompany it there; the Read Me will also contain embedded links to what previously were Internet Location files in the download. Thus you will have access to all the information about the particular script and much more. The Read Me will not only contain embedded links to the site but also other helpful links and a link to that script's entry here at the site.
For a preview of what's in store, have a look at this Download FAQ I am putting together to explain how Things Are Gonna Be.
Virtual Zune Software Install
Engadget has the low down on the Zune experience. "We hoped installing the Zune software and getting our player running would be as seamless and painless as getting iTunes and an iPod running on your machine, since that is, after all, what it's up against...Unfortunately, the reality of our experience...is much like that of many version 1 software experiences. It sucks."
UPDATED: Whack Current Track v1.5
Here's one I thought would never need updating. Whack Current Track will delete all copies of the currently playing track from iTunes and move its file to the Trash. I'd gotten a few emails on it not working correctly in iTunes 7 and I think I've fixed the problems. Just needed a little modernization.
Streamlining the Downloads
When you download an AppleScript from this site, you not only get the AppleScript, but a bunch of other files, too, including an informative Read Me, and various Web Internet Location files pointing to helpful pages on the site. A few years ago this seemed like a simple and smooth way of providing as much help as possible. But I'll bet you delete all that stuff after installing the script, right? Otherwise, you may end up with folders upon folders of the same junk.
My thinking now is to consolidate those WIL files into the Read Me, since links can be created in an .rtf doc, and just providing the script and its Read Me. Additionally, a few years ago, my good friend John Paul Davis had written an installer script which would place the script in the right place (~/Library/iTunes/Scripts). I'm thinking of going one step further and creating the sort of drag-and-drop droplet you see a lot of Mac apps come with nowadays; you just drag the app to a folder alias in its disk image and it is installed for you. In this case, I would provide a faceless-background droplet onto which you would drag the AppleScript and its Read Me (the Read Me would be named the same as the AppleScript and have an .rtf or .rtfd extension); they would be copied to your iTunes Scripts folder, creating it if necessary. Then, you could delete the downloaded folder, retaining the original .zip file for archiving purposes.
If you have any feedback on this proposal, I'd appreciate hearing from you.
Mac Gems
Macworld's Dan Frakes gives Our Little Site a flattering boost in this dandy article at Macworld online in which Dan lists his favorite AppleScripts.
NEW: Show Description
Each track in iTunes has two description tags: the plain old description and the muscular long description. The latter is used in TV Shows and Podcasts, the former by pretty much everything else. A long description has the benefit of that "i" glyph, which opens a new window displaying the text; plain old description tags can only be displayed in their entirety if you expand the Description column to its maximum width. Show Description let's you view and update the long description for any track. It will always display the long description and let you enter new text which will be copied to both the description and long description tags. The Read Me explains more.
Recent Errors Accessing Scripts Here
Sometime around November 7 or November 8, unbeknownst to me until yesterday, I lost a chunk of my scripts database and about 23 scripts went missing. This raised a little havoc with the site's ability to locate a script's entry when clicking on any of the various links. I'm pretty sure I've got things up to date again and everything should be fine now. However, if you notice anything peculiar, let me know. I apologize for any inconvenience.
Not A Political Site, But...
Rove should go back to selling used cars. Hooray!
What A Country!
This November 2nd Reader Reports entry at Macintouch describes more iTunes Store 'Round The World experiences. The error is benign (and fun!) but still an error nonetheless.
iTunes 7.0.2 Released, Fixes
Apple has posted iTunes 7.0.2 which according to Apple "adds support for the Second Generation iPod shuffle and addresses a variety of stability and performance issues found in iTunes 7 and 7.0.1." Well, I can attest to a few of the fixes.
Firstly, and most happily, the infamous "convert bug" is fixed. iTunes 7 introduced a bug that prevented individual CD tracks from being imported/converted with AppleScript, instead importing the entire CD for each track selected. This is fixed, so scripts like Quick Convert and Rip To iPod (complete list of affected scripts here) now work as expected.
Setting a track's shufflable and bookmarkable property via AppleScript no longer generates a file permission error.
Tracks can be added to a selected Master Library and be placed in the correct Master Library; previously, a file permission error would be generated if you attempted to add a file to a particular Master Library instead of library playlist 1.
Those were the three outstanding AppleScripting bugs from iTunes 7 and it's great that they were addressed so relatively quickly (considering AppleScript is not always at the top of Apple's Critical Fix list).
More as it develops. Specific info is available on this What's New in iTunes 7.0.2 page.
iTunes Store Thinks I'm From the UK
Several MacFixIt Correspondents noticed that after updating to iTunes 7.0.2 and heading to the iTunes Store they would be directed to another country's store. France, Korea, Switzerland, Austria. I got sent to the UK store. You can set your store to your country easily enough by doing a "Check For Purchases" and the iTS will send you to the right place.
Shufflable and Bookmarkable Already Fixed
Oops. Noted above that the shufflable and bookmarkable bugs were fixed in iTunes 7.0.2. These were actually fixed previously in 7.0.1.
UPDATED: Set Video Kind of Selected v2.0
I got quite a number of emails from Correspondents over the past month with suggestions for updating Set Video Kind of Selected, which I have done. This script will let you change the video kind property of the selected tracks to your choice of "Movie", "Music Video" or "TV Show"; it will then be listed in the appropriate "Master Library". You can't do this en masse in iTunes. Additionally, "Show Name", "Season Number", and "Episode Number" can also be set or cleared for each selected track, making it easy to convert between "Movie" and "TV Show". I have also included some hints on how to change some localization variables. Nein: "QuickTime movie file", "MPEG-4 video file"; ja: "QuickTime Filmdatei", "MPEG-4 Videodatei".
iPods With Viruses; Apple's Mea Culpa
You may have heard that a small number of iPods recently shipped with a WIndows virus aboard; a relatively old virus that most anti-viral software can easily detect and eliminate. Apple expediently posted a notice to that effect with remedies, links to anti-virus software, and so on. So, they admirably did a CYA. However, completely Un-Apple-Like, they also blamed Microsoft for having an OS that couldn't deflect such viruses. I'm as dismayed as anyone about Microsoft's inability to safeguard their OS from viral attacks. However, I think it totally inappropriate for Apple to post such a childish "Yeah, but it wasn't all our fault!" missive. Whoever wrote and whoever approved that Apple support message should be given an evaluation right away. For Apple to descend into this sort of bickering is unbecoming.
iTunes Library Manager v5.0.2 Released
The latest update to iTunes Library Manager is now available. Version 5.0.2 mostly fixes some problems that Mac OS X 10.3.9 users were experiencing, including a "Bad name for file" error at startup, persistent nag screens, and a "NSCannotCreateScriptCommandError". Additionally, the Help menu has been updated and now included is an AppleScript that will allow you to activate iTLM from the iTunes Scripts menu.
Flame for Fame
Perhaps you have read the now notorius article by so-called technology advisor (oh brother) Larry Bodine at law.com's Law Technology News column about his switch to a Mac. Wil Shipley's parsing flame is an over-the-top riot.
Another Apple Endorsement Sorta!
Well, well, well. Apple has linked to this site once again from their Podcasting and iTunes: Technical Specifications page. I presume they mean to suggest that certain scripts here will assist with creating podcasts. No doubt! Whether it's converting files from one format to another or swapping and setting tags, AppleScripts for iTunes are the means to accomplish a gazillion tasks easily and fastily. Let me know what scripts you use use for working up your podcast and perhaps I will establish a new category.
I actually use an AppleScript (customized by me, for me--don't ask for a copy) to convert an AIFF from ProTools to an AAC, add tags, chapters, FTP to site, update links, create a "Show Sheet" (using the 'scriptable OmniOutliner) of links, and so on. So, perhaps I should--now that I'm thinkin' on it--post a how-to. Of course, my own podcast is weeks late, so you can imagine how long it will take me to get anything done around here.
Jobs Talks With Newsweek
This is one of the best interviews with Steve Jobs online I've ever read. Love this:
"Microsoft has announced its new iPod competitor, Zune. It says that this device is all about building communities. Are you worried?"
"In a word, no. I've seen the demonstrations on the Internet about how you can find another person using a Zune and give them a song they can play three times. It takes forever. By the time you've gone through all that, the girl's got up and left! You're much better off to take one of your earbuds out and put it in her ear. Then you're connected with about two feet of headphone cable." [emphasis mine]
Now that's what I'm talkin' about!
Repackaged (Sex/Keeps) Your Interest
Just wanna say: Hey. I was into Gof4 before Gof4 was a Marie Antoinette soundtrack, like in 1980. Like.
About Master Libraries
iTunes 7 introduced segregated "Master Libraries", which can be a boon for organization, but a bain (or pain) for AppleScripters. I've posted About Master Libraries which attempts to explain how the new "Master Libraries" work with AppleScript. Hint: they're really smart.
Bookmarking Entries: Semi-Annual Reminder
Many people like to link to the specific entry of a script. Do not copy the URL from your browser's address bar. Every entry is listed by date, and as a result, it's location in the script category it is listed in can change over time. However, each entry has a "link to this entry" button. Control-click, or right-click on that button and choose "Copy Link" (or whatever corresponding option your browser gives you) and use that link to refer to the entry.
Wrong Link:
Correct Link:
Look for this reminder again in another few months :)
Make an iPod Screen Saver
Dandy tip on creating a screen saver for 5G iPods.
NEW: Convert Movie for iPod
I had to have the Borat movie trailers on my Video iPod. Jagshemash! Didn't you not also, too? Convert Movie for iPod will convert a single selected QuickTime movie file in iTunes (.mov) to an iPod Video-compatible file (.m4v) with QuickTime and then add the converted file to iTunes. Additionally, you can choose to add the new file to a Video iPod mounted in iTunes. Speedy computer (G4 or better) highly recommended. Is nice!
UPDATED: Get Lyrical v2.1
Chris J. Shull has updated his Get Lyrical AppleScript applet to 2.1. Among other modifications, it now searches the lyrics.astraweb.com web site for lyrics to apply to the selected iTunes tracks.
NEW: Change Pitch of Song
I'll admit I haven't played a lot with this script from Peter Baxter, but I did get it to do what it says: Change Pitch of Song. It uses QuickTime to change the pitch of the selected track. The change isn't permanent, unless you save/export it from QT after the pitch change.
iTLM FAQ and Launch Script
Over the past few days, since releasing the updated iTunes Library Manager, I've gotten a few questions from users. I hope I can answer the most common of these questions in this iTunes Library Manager FAQ.
Additionally, since I neglected to explicitly mention it in the documentation, I want to emphasize that iTunes Library Manager is no longer an AppleScript and cannot be run from the iTunes Script menu. However, I have written a simple launcher script that can be run from the Script menu which will run iTunes Library Manager. It is available via the FAQ page mentioned above.
What? No Zappa?
Am I the last one to know? Or is it a known that Frank Zappa music, at one time available on the iTunes Store and via eMusic is now no longer available at either? Yo, Estate of Frank Zappa. Yer makin' a big mistake!
UPDATED: This Tag, That Tag Scripts v1.7
I get to work on plain old AppleScripts again!
I have updated the This Tag, That Tag Scripts to accommodate the iTunes 7 "Album Artist" tag. Ahh. Such a pleasure.
iTunes Library Manager v5.0.1 Released
I have spent the weekend tracking down a few obscure bugs in iTunes Library Manager that didn't occur during beta tests. Now fixed are a situation where the selected library may inadvertently select a different library and a rare "Bad name for a file" error. I've also added a confirmation dialog to the delete function, and (this was Kirk's suggestion) the Load button becomes the default after selecting a library in the Library List. This is a free upgrade for registered users of v5.0.
Got Me One Of Them Video iPods
After trying to resist, I gave in to Apple-lust and bought a 30GB Video iPod at my new friendly neighborhood Apple Store. I could not be more impressed with the little feller. The screen display truly is wicked sharp. We connected it to the Big TV with the AV cable and I couldn't believe the video quality of my iTunes Store TV Shows. Marvelous.
iTunes Library Manager v5.0 Released
iTunes Library Manager v5.0 makes backup copies of your iTunes Music Library database file and iTunes Preferences, allowing you to easily save multiple iTunes Library and Preferences configurations that can be retrieved and loaded at any time.
This upgrade is not free. Registered users will need to re-register to be able to save additional library configurations with v5.0.
What's New:
- Now an AppleScript Studio application that can stay active as long as you need it available
- Compatible with iTunes 7, accommodating the "Album Artwork" folder for individual libraries
- Main window displays names and modification dates of backed up libraries and displays the name of the current library
- Create new libraries, based on the current iTunes Preferences or from "scratch" using the iTunes Setup Assistant
- Delete backed up libraries
- Zoom to display a mini floating window that just displays the current library
- Comprehensive Help Menu
iTunes 7.0.1 Released
Apple has released iTunes 7.0.1. It's available from your Software Update or from the Apple iTunes download page. More as it develops.
The shufflable and bookmarkable bug Fixed
iTunes 7.0.1 fixes the bug which generated a permissions error when setting the shufflable and bookmarkable properties of a track.
The convert bug is not Fixed
The bug which prevents converting selected CD tracks is not fixed.
The add bug Is Not Fixed
The bug that generated a permissions error when attempting to add a file (via AppleScript) to a selected "Master" library has not been fixed. The problem is that these "Master" libraries are hard-coded "smart" playlists, and you can't add a file to a smart playlist if the file does not meet its criteria. The best you can do right now is just add the file without designating a particular playlist to add it to. Ya fallah?
Info About iTunes 7.0.1
As I experiment with iTunes 7.0.1, I will post info on this page as it develops.
NEW: Embed Artwork
Correspondent Brian Webster sent me Embed Artwork. It will re-embed downloaded artwork into each selected track's file. He originally sent this to me about a day after iTunes 7 was released, but with all the hub-bub I'm just getting around to posting it now (although I did post it in the A Look At iTunes 7 article).
Here's a Good Scam
Got this in the In Box this AM:
"Dear Mac Member,
Your e-mail account was used to send a huge amount of unsolicited spam messages during the recent week. If you could please take 5-10 minutes out of your online experience and confirm the attached document so you will not run into any future problems with the online service.
If you choose to ignore our request, you leave us no choice but to cancel your membership.
Virtually yours,
The Mac Support Team"
Accompanying it was an attachment labeled "readme.zip", apparently certified: "+++ Attachment: No Virus found +++ Mac Antivirus - www.mac.com".
Needless to say, I trashed the bastitch.
How Busy Is Doug?
I have been so busy with updating scripts and apps (and catching up on Season 2 of "Lost") that I completely missed the Apple Store Opening here in my hometown of Providence, RI. (Could have used 'em two weeks ago when my iMac G5 went down.)
UPDATED: Join Together v5.1
Join Together has been updated to v5.1. Join Together will enable you to join the files of selected iTunes tracks together--including CD tracks--with QuickTime and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed (download link included), it will create a "chapterized" audio file of the exported AAC file.
The latest version fixes a problem with selecting tracks in the "Music" playlist of iTunes 7, waits for files to load completely in QuickTime before proceeding, and allows selecting ".m4b" tracks from the "Audiobooks" playlist provided they are not protected (tracks converted with "Make Bookmarkable", even though they are displayed as "Protected", can be selected, joined, and exported).
Feedback We Like To Keep Like That
"Hello there !
My name is Kamil and I just downloaded and installed your script [Make Bookmarkable].
Seriously, god damn amazing job!!!
I don't remember how many hours I spent trying to find a script like that !
Thank you for coding it !!
Keep like that !!
Kind regards from Austria !
Kamil Kubicki"
View The Entire Library
iTunes 7 has segregated the tracks of the "master" library into several playlists by type: Music, Podcasts, Audiobooks, and so on. However, iTunes 7 does not provide a means for viewing the entire library, like in earlier versions that have a "Library" playlist. But this AppleScript will:
tell application "iTunes" set view of front window to library playlist 1 end tell
After running it, you'll notice that no playlist is highlighted...because none is selected. But the entire master library--audio files, movies, pdfs--will be listed. You might find this helpful for one reason or another.
I stumbled on this while updating Join Together. After a track is added to iTunes and you choose to play it the track plays from the master library, even though it will also either be in the Music (saved as m4a) or Audiobooks (saved as m4b) Library. You can't do a "Show Current Song" on it either. Might have to fix this in Join Together.
bookmarkable and shufflable Bug in iT7?
I get a file permission error whenever I attempt to set the bookmarkable or shufflable property of a track:
tell application "iTunes" set sel to item 1 of selection try get shufflable of sel set shufflable of sel to true on error m log m end try try get bookmarkable of sel set bookmarkable of sel to true on error m log m end try end tell
Strange add Behavior in iT7
Wooden Brain found that he got a permission error when trying to add a file when the Music Library is selected:
set newfile to choose file tell application "iTunes" set pl to get view of browser window 1 set addedtrack to add (newfile as alias) to pl end tell
If you remove the "to pl" stuff, it gets added fine.
Any other user playlist works, but not one of the "main" Libraries (Music, Podcasts, Audiobooks, etc). Apparently, iTunes likes to decide where to put added files. I guess this is good since you want Audiobooks to only contain audiobooks, Music to contain regular audio files and so on. But no doubt it will mess up some scripts.
UPDATED: Check For Purchases v1.1
The script Check For Purchases, which allows one-button operation of the "Check for Purchases" menu command has been updated to work with iTunes 7. The script uses GUI scripting to press the "Check for Purchases" menu and automatically enter your Account Name and password (which you must set in the script--editing instructions included). iTunes 7 has moved this menu command from under the Advanced menu to the Store menu and this new version accounts for that.
UPDATED: Make Bookmarkable v2.1
Well, well, well. Suppose you already have a batch of tracks that have been converted to bookmarkable? That is, they have a file type of "M4B " and extension of ".mfb". Running the previous version of this script would generate an error, and at the very least would not re-add the track to the Audiobooks Library. Thanks to Correspondent John Abel, who noticed this, I have updated Make Bookmarkable to account for this problem. You can select some tracks which are already ".m4b" and the script will still delete and re-add them and thus ensure that they re-appear in the Audiobooks Library.
iTunes 7 Convert Bug: Affected Scripts
Regrettably, an apparent bug in iTunes 7 breaks several CD-import scripts. The bug prevents a selection of CD tracks from being imported and instead imports the entire CD, sometimes as many times as you have CD tracks selected. The affected scripts that I have been able to identify so far:
- Copy From Start to Stop
- Import and Eject
- Quick Convert
- Re-Rip Non-iTunes MP3s As AAC
- Rip A Few My Way
- Rip CDs In A Row
- Rip This Where I Want It
- Rip To iPod
- Multi-Import
- Lossless to AAC Workflow
- Import on CD Insert
Let's hope for a fix soon.
NEW: Set Video Kind of Selected
Videos in iTunes 7 have a "video kind" property that can be changed. Set Video Kind of Selected will change the video kind property of the selected tracks to your choice of "Movie", "Music Video" or "TV Show". "Music Video" and "TV Show" videos will appear in the TV Shows Library. "Movie" videos will appear in the Movies Library. Protected files, such as those purchased from the iTunes Store, cannot be changed. Requires iTunes 7 or better.
Get Bookmarkable Tracks Into Audiobooks
I was lamenting yesterday how tracks whose files had been converted to bookmarkable with Make Bookmarkable would not appear in the Audiobooks library. Well, the solution is pretty simple: delete the track (don't Trash the file!) and re-add it. This hint at Mac OS X Hints goes into more detail.
UPDATED: Make Bookmarkable v2.0
Now that we know the trick for getting bookmarkable tracks into iTunes 7's Audiobooks Library, I have updated Make Bookmarkable to delete and re-add each selected track. This script will change the file type of the selected AAC tracks to "M4B " and file extension to ".m4b", thus making them bookmarkable. (That is, the track will resume playing wherever you left off the last time you played it.) Additionally, when used with iTunes 7 or better, deletes and re-adds each track so it will appear in the Audiobooks Library. Ratings, play count, last played date, skip count, and skipped date are preserved.
About the new Music Library and Join Together
The Music Library in iTunes 7 is classified (in AppleScript anyway) as a "special kind". Up until iTunes 7, the special kind playlists were Podcasts, Party Shuffle, Purchased, and Videos. Some AppleScripts may check the special kind property of a playlist for any number of reasons, but most probably to allow/disallow track selection from a particular playlist. An example is the application Join Together: it will not allow you to select tracks from a special kind playlist since, up until iTunes 7, no special kind playlist contained the appropriate kind of tracks that Join Together could use. Unfortunately, the current version of Join Together will not permit you to select tracks in the Music Library (an updated version is forthcoming). However, the workaround is to just create a playlist containing the tracks you want to use and select the tracks from that playlist. Join Together should work fine.
What Threw Me
You know what threw me?
The Chapters widget is now in the iTunes 7 menu when you select the Audiobooks Library.
That threw me.
UPDATED: Make UN-Bookmarkable v3.0
Oh yeah. Probably need to update Make UN-Bookmarkable. This script will change the file type of the selected AAC tracks--which you have previously made bookmarkable yourself with the script Make Bookmarkable--to "M4A" and file extensions to ".m4a" making them UN-bookmarkable. When used with iTunes 7 or better, each track is deleted and re-added so that it will be removed from the Audiobooks Library. Ratings, play count, last played date, skip count, and skipped date are preserved.
iTunes 7: Converting CD Tracks
Several Correspondents have noted that the AppleScript convert command in iTunes 7 seems to ignore a list of CD track references passed to it and instead imports/converts all CD tracks. Several of my scripts use this so I will investigate ASAP.
Shufflable and Bookmarkable
I thought this was self-evident, but I've gotten a few emails on it from people noting that Set Selected Tracks Shuffle and Selected Tracks Bookmarkable do not seem to work with iTunes 7. No need for 'em any longer! The Multiple Item Information window (select multiple tracks and do a "Get Info") now includes settings for "Remember Position" (bookmarkable), "Skip When Shuffling" (shufflable) and "Gapless Album".
On another bookmarkable note: files converted with the script Make Bookmarkable will not appear in the iTunes 7 Audiobooks category. However, interestingly, files joined with Join Together and set to ".m4b" will. They both use the same routine to change the file extension and file type, so I'm a bit curious about the whole thing.
I'm Down
Well, my main Mac, the iMac G5, has decided not to startup anymore so it looks like we'll be going to the shop. Unfortunately, this means that my output will be somewhat slowed until I can get the trusty iBook up to speed. I hadn't yet done enough work with iTunes 7 to finish my initial AppleScript report; also, some scripts are wanting some updating. I'm particularly interested in using the new "Album Artist" tag and with any luck I'll have some new stuff within a day or so.
iTunes 7 and Compatability with iTunes Library Manager
iTunes Library Manager users should check the product page for updated information on compatability with iTunes 7. As I mentioned above, I'm somewhat crippled due to the problems with my main work machine. However, I will try to get as much testing done as I can under the circumstances and post any new information as I develop it. Thanks for your patience.
NEW: Artist to Album Artist
Here's the first script for iTunes 7. Artist to Album Artist will copy the Artist tag to the Album Artist tag (new in iTunes 7) of the selected tracks. Obviously it requires iTunes 7 or better.
iTunes 7 Now Available
iTunes 7 (what a jump from 6.0.5 to 7.0!) is now available. AppleScript changes will be noted ASAP.
Like the New Icon?
iTunes 7 introduces the first new iTunes icon since...uh...iTunes 3? On install it will ask you if you want to automatically download artwork (assuming you have an iTMS account.) And what an ugly interface! Oh, I really don't like those Source icons. Your iTunes database will be updated to account for gapless-ness for Every Single Track in the library, so that will take a few minutes.
Updated AppleScript Stuff for iTunes 7
Here's the page I'm working on to describe the latest changes in iTunes 7. For a while this will be in flux.
I Think I Kinda Love It
Okay. We jumped from 6.0.5 to 7.0. And that's a big jump in versions. Now, I haven't even started looking at how to man-handle iTunes 7, but based on what I've played with so far this is one awesome app. I like the new GUI, I like the colors, I like the album art view thingy. I hate the new Source icons though. I also have some other complaints, but perhaps I should play with the thing more before I say anything.
For those of you wondering if current scripts are compatable with iTunes 7: my guess at this point (note date) is yes.
Zune: More of the Same from Microsoft
The AP parses American Technology Research analyst Shaw Wu's take on the Zune in this article. "Another classic case of overpromising and underdelivering", says the analyst. "Wu said he is unimpressed by Zune's fake clickwheel, which 'does not scroll nor is touch-pressure sensitive, making navigation difficult, particularly for users with large music, video and photo libraries.'" Apparently stock holders are paying attention: Microsoft's shares dropped 9 cents to $25.75 and Apple's stock rose 76 cents to $67.24 in yesterday's trading on the Nasdaq.
Mench at Mac OS X Hints
Graeme Smith, a prolific forums poster and iTunes nut, submitted this hint at Mac OS X Hints describing how to use iTMS previews to grab track info using Copy Tag Info Tracks to Tracks.
And What's This???
Is this for real? "Intended for Intel Mac OS X machines, CrossOver Mac will allow Mac users to run their favorite Windows applications seamlessly on their Mac, without the need for a Windows OS license of any kind."
UPDATED: Needle Drop v2.8
I have updated Needle Drop to repair an error that occurred when trying to set the player position under some circumstances. This script applet plays each track in the selected iTunes playlist for a chosen time interval starting at a chosen number of seconds into each track, beginning with the selected track (if no track is selected then playing will start from the beginning of the selected playlist).
UPDATED: New Play Count v1.1
I'm almost certain that when play counts were introduced in iTunes 4.1 back in 2003 that they were not a property of URL tracks. Be that as it may, when you keep a stream in the Library or a playlist, the play count is indeed incremented on each play. Interestingly, a stream's play count will increment as soon as it starts playing, unlike a file track's play count which increments when it has finished playing. ANYway, New Play Count, a script that allows you to set the play counts of the selected tracks, will now work on streams. Likewise, the script mentioned below...
UPDATED: Add or Subtract Play Count v1.2
As I mentioned above, play counts are tabulated for streams when they are played from the Library or a playlist. Add or Subtract Play Count has been updated to work with streams. The script asks you for a number which you then add or subtract from the play counts of the selected tracks.
Apple Wants to Help Run Sony Down, Too.
They won't beat Dell's recall, but Apple's battery recall doesn't help Sony stock.
UPDATED: Needle Drop v2.7
The script Needle Drop has been around since the SoundJam days. It's a stay-open applet that plays through each track in a selected playlist for a designated number of seconds. I was asked to provide a way to designate the number of seconds into each track to start playing, rather than just from the beginning. Done!
UPDATED: Find Album Artwork with Google v2.4
Correspondent Brett O'Connor has sent an update to Find Album Artwork with Google. He sez: "Nothing big - I just needed to update my website address and contact information. I also applied the MIT license to the script. I get a lot of questions about whether or not it's OK for others to modify the script and release it for their own purposes, and hopefully adding the MIT license will answer that (with a resounding "yes," of course)."
UPDATED: Export Selected Tracks to XML v1.1
Ooops! Export Selected Tracks to XML has been updated to fix a problem you may get when the script can't find the "replace_chars" handler.
NEW: Assign Half-Star Rating
Correspondent Greg Townsend has approached the half-star-rating-ability of iTunes from a new angle with Assign Half-Star Rating: select some tracks and choose 1 1/2, 2 1/2, 3 1/2...and so on to apply to the selected tracks. I would be remiss if I didn't also mention Add-Subtract A Half Star, which incrementally adds/deletes a half-star to/from the selected tracks.
NEW: Set Book Info in iTunes
Correspondent Elsan Debish (a name that sounds fine when you say it aloud, btw) has sent in Set Book Info in iTunes, a script that assigns chapter info to track names. For instample: if you have 50 tracks of an audiobook this script will let you designate chapter numbers in the track name for easier locating in iPod.
macitt is the new digg
My friends at AppleMatters.com have put together an Apple-centric digg-type site called macitt. Works like digg but is exclusively Apple. As digg has gotten more popular, the Apple/Mac refs seem to be dwindling. Thus, macitt. I ENCOURAGE you to participate. Plus, macitt seems easier to deal with than digg. I really dig macitt!
Bertrand Serlet: Awesome
After viewing the WWDC '06 QT vid, my new favorite Apple Employee has got to be Bertrand Serlet. In fact, I'd pay to see his stand-up act. I wish he could have had more time at WWDC and I insist he be part of the keynote at MacWorld SF '07. It'll be worth the price of the plane ticket!
NEW: Art to Desktop
I wrote this because there's been a bit of banter at Mac OS X Hints recently about using the current track's artwork as a desktop picture. I hadn't seen my desktop in several months so this turned out to be an interesting experiment. That gives you an idea of how busy I've been with other things lately, but this was a nice break. Most of the pieces already existed, so it was simple enough to come up with Art to Desktop, a stay-open applet that monitors iTunes and sets the desktop picture to the artwork of the currently playing iTunes track.
Perspective From Gruber's 8 Ball
All the answers regarding Microsoft's forthcoming Zune-Thang are provided via Daring Fireball's 8 Ball.
UPDATED: Play Album Next In Party Shuffle v1.1
A misnamed variable was casuing some trouble--when wouldn't it?--so I have updated Play Album Next In Party Shuffle to work properly. This script will use the Album tag of a selected track, or otherwise allow you to select from a list of your Album tags, to batch add tracks using the same Album tag to the Party Shuffle playlist in their track order as next to play.
UPDATED: Join Together v5.0.2
The latest update for Join Together fixes a few critical problems. And I do mean critical. Primarily, it no longer creates a temporary work folder in the local Applications Support folder but in the user Application Support folder. This will avoid permissions errors that some users were getting. Additionally, a problem with extended ASCII characters in the Song Name may have caused an AppleScript error, so this is fixed. And finally, I threw in a routine that double-checks for existing artwork if the "Use artwork in chapter list" setting was checked.
NEW: Append Date to Comments
A Correspondent at the forums was lamenting how you can't manipulate the Date Added for a track. This date is handled by iTunes and there just is no way to alter it. As I often suggest, it was proposed that one should put a customized date in the Comments field. To assist with this,for what it's worth, I knocked out Append Date to Comments. Select some tracks, run the script and enter a date, and it will append the selected tracks' comments with that date string.
Update: I think we can get it to also grab some other date info, too, like creation date and last modified, via the actual file and not from iTunes, know what I mean? So look for a new version, or, hell, mod the current one. I'll try to find some time this weekend. But first...
Next Join Together Update
A few Correspondents have reported getting an error with the latest version of Join Together v5.0.1. The error occurs when Join Together attempts to create a temporary folder in the Application Support folder of the Library folder of the startup disk (/Library/Application Support/). Regrettably, I should not be using this folder. I should be using the Application Support folder in the user's Library folder (~/Library/Application Support/). This was a complete oversight on my part; I didn't think it through or keep in mind basic rules about administrator and user permissions. So, I will be updating Join Together very soon with a fix. I hope to have an update by Monday or Tuesday of this coming week.
Wanna bet?
Blogger (and Delicious Library guy) Wil Shipley is putting up $10K that says Microsoft won't ship Vista by January. Bill Gates recently said that Vista has an 80% chance of making that ship date. This'll be fun to watch.
Any Thoughts On A Bluetooth Optical Mouse?
Can anyone recommend a decent Bluetooth two-button/scroll-wheel optical mouse for desktop use? I want to give my Mighty Mouse to one of our other computers, so something comparable--within reason--would be cool. Much appreciated, you know how to contact me.
The Join Together Surprise
You know, you work on a piece of software for such a long time. You send beta versions out to fantastic volunteers. You worry about every little thing. You tweak, you re-build. Then you release it hoping all goes well. You create screenshots, PR emails...checklist after checklist...
But before you release it make sure you've removed any beta-junk.
That's the lesson I learned with Join Together. Actually, I have a pretty good track record of putting stuff out there that's Not Quite Ready For Prime Time. I have to bump versions up a point because of it and not only is that not neat it's embarassing. In Join Together v5.0's case, I had left a beta expiration code in it that prevented using it after July 13th. So after a thousand downloads there are a thousand people who have an app that's dead in the water as of today. The latest v5.0.1 version removes the beta testing code, but still I am at fault for not double checking my own code.
So I extend my sincerest apologies to you if Join Together v5.0 has ruined your day. Obviously, that's not what I had intended. On the positive side v5.0.1 works just as well and will actually work any day of the year!
UPDATED: Join Together v5.0.1 (D'oh!)
So typical of me. I had neglected to remove the beta expiration code from the final of version 5.0 of Join Together. It is fixed in version 5.0.1 and should run un-encumbered.
UPDATED: Join Together v5.0
I'm pleased to announce that Join Together v5.0 has been released. This application will enable you to join the files of selected iTunes tracks together with QuickTime and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, it will create a "chapterized" audio file of the exported AAC file. Join Together is now an AppleScript Studio application that features a single screen for all user-settings. Additionally, Join Together v5.0 adds these features:
- adds additional tags for final joined file
- utilizes full range of available QuickTime audio export settings
- displays approximate size of final joined file based on export settings
- provides option to re-organize and rename selected tracks
- option to include track artwork in the chapter list
- remembers settings between sessions
- always-present progress window
- still free, and donations still accepted!
You can download the latest version as well as view a screenshot and the Read Me online at Join Together's entry in the Managing Files section.
30 Most Recent RSS Feed
Keep tabs on the 30 most recent scripts posted at the site via your news reader by subscribing to this RSS feed. It will display the latest posted scripts and their descriptions as seen in the script entry pages. Yeah, it's kinda redundant since I post all updates in the regular feed but who knows? Maybe I'll build a Dashboard widget or something someday.
UPDATED: Import iPod Audio Files v1.11
I have updated Import iPod Audio Files to version 1.11. This popular script will let you copy the files of selected iPod tracks to your iTunes Music folder and add them to iTunes. This latest version fixes a problem with a few previously ignored "bad" characters in artist and album names that iTunes would normally convert to the underscore character. Also, it will work correctly if your iTunes Music folder is located in your home folder and FileVault is active.
iTunes 6.0.5 Released
Apple has released iTunes 6.0.5, which "allows you to sync your Nike + iPod workout data to nikeplus.com, where you can easily track your progress, set training goals, challenge others, and much more. Visit the Nike Sport Music area on the iTunes Music Store to download workout mixes, Athlete Inspiration playlists, Nike podcasts, and more." My Pumas won't want to hear about that. More on any other fixes and additions when I've run the thing for a bit.
UPDATED: Export Smart Playlist Criteria v1.1
A Correspondent noticed that some punctuation in his Smart Playlist names prohibited their export using Export Smart Playlist Criteria. I have fixed the problem.
An iPod Nod to Wired
This Wired article discusses some of the new iPod slang being slung. What. No podcast version?
'Throwing the Switch' on Non-Scriptable Cocoa Apps
Well now, hey. Here's an interesting post at Red Sweater Blog that discusses how to get minimal scripting capabilities out of non-scriptable Cocoa applications.
Latest Podcast Available
My latest Podcast is now available. Didn't think I did 'em anymore, did you? Neither did I, but it was feeling rather embarassed to see my Podcast listed at the iTMS with the most recent episode being from September of last year.
AppleScript Applications No-Shows In Script Menu
A Correspondent has noticed that AppleScript applications do not appear in the iTunes Script menu on his MacBook Pro:
The top portion of the picture shows his Script menu and the lower shows the script files in the folder. Notice how .app scripts don't show. Is this an anomaly on his Intel machine? Because it sure ruins access to a lot of scripts otherwise.
Looks Like An Aberration
Several Correspondents have emailed to confirm that the behavior displayed above is an aberration and that AppleScript apps display fine in their MBPs. Whew! Now, I wonder what the problem is?
NEW: Re-Add Selected Tracks as Podcast
Some people have wondered why you can't get a file back into the Podcasts playlist once it has been removed. Basically it's because iTunes imports the original files from whatever web server they're on using the address of an URL track which it gets from the
Now, if only you could just upload any file to a web server...then you could re-download it as a Podcast episode. Hey! Your Mac has a built-in web server!
The script Re-Add Selected Tracks as Podcast will re-add the files of the selected tracks to iTunes as if they were a Podcast subscription. The files will then appear in the Podcasts playlist and "behave" as though they are a group of Podcast episodes. Such a Podcast can be set to automatically be copied to iPod and appear in the Podcasts category. It uses your computer's Apache web server, which can be turned on with a click of a button ("Personal Web Sharing") in the Sharing pane in System Preferences.
NEW: Export Smart Playlist Criteria
You know how when you want to tell your pals how to set up This Really Cool Smart Playlist you have and you have to scratch out something like "Artist"-contains-"Manilow" + "Last Played" - is not in the last - 6 - months + "Bit Rate" - is less than - 56 on a piece of parchment and attach it to the leg of a carrier pigeon to have it delivered?
Well, you don't have to do that any more.
Export Smart Playlist Criteria will export just the criteria of a selected Smart Playlist to an XML file--similar to the "Export Song List..." command--which any iTunes can import using the "Import..." command in the File menu. When the XML file is imported a new Smart Playlist appears in the Source List ready for action. Now, you can email your Really Cool Smart Playlist criteria to your pals, or backup all your Smart Playlists to transfer to another computer.
Jig Is Up at iTMS Album Art Finder
A great experiment for grabbing iTunes Music Store album art has been blocked by Apple. The iTMS Album Art Finder used a set of PHP code (I think) to grab iTMS album art using the store's Album URL. The URL contains code for specific albums and URL paths to the album artwork were discerned through a complex filtering/parsing code. The code that performed this magic was on the the Album Art Finder's server and it wouldn't be feasible to port it to one's own computer, unless a server was set up on it. Be that as it may, whenever you accessed the site, you were putting a load on their server and occasionally it wouldn't even be available due to extra traffic.
When this site first showed up I thought it was pretty neat. Then people began asking me to write scripts to interface with it. I always declined because I imagined that if traffic to the Album Art Finder site began to pick up, Apple would catch on, and at the very least C&D the website. Plus I didn't think it would be polite for a third party to contribute to a load on the Album Art Finder's server. Well, looks like traffic did increase when people started using an app called Corripio (and perhaps others) that acted as the user interface between iTunes and the website. Don't get me wrong, I'm not blaming Corripio for the iTMS Album Art Finder demise because it was probably bound to happen eventually, Apple Legal being the way it is. (Corripio now uses several other web sources to retrieve album art more or less the old-fashioned way: parse a website for album info and look for graphics links.) Anyway, it was fun while it lasted.
Join Together Improvements? Beta-testers Wanted
I have been working on creating an Xcode version of Join Together which essentially provides a single screen for all the settings and uses the full range of QuickTime export settings. A beta will be ready in a day or so. If you would like to be a beta-tester, email me and I'll get you a copy. This is a limited-time first-come first-served offer, so let me know soon.
UPDATED: Move Playlists to Folder Playlist v1.2
I like the concept of Folder Playlists but dragging playlists one at a time to a Folder Playlist is particularly aggravating (especially when all one's Zappa playlists are at the very bottom of one's 200+ playlists Source list). Move Playlists to Folder Playlist will allow you to select one or more playlists which will be moved to a selected Folder Playlist. This latest version has some logic fixes and also detects if there are no Folder Playlists at startup, enabling you to create some.
UPDATED: List Folder Files Not Added v1.2
List Folder Files Not Added creates a text file listing the audio files from any level of a given folder which are not included in your iTunes library. The default folder is your iTunes Music folder, but any folder can be selected. This latest version fixes a problem that caused a "can't find POSIX file" error. Don't know when or why that error started cropping up, but seems OK now.
iTunes 6.0.5 Available Soon...
According to this page at Apple, touting the nikeplus.com features, iTunes 6.0.5 will be "available soon".
NEW: Play Grouping Next In Party Shuffle
I was chatting with my friend Kirk McElhearn the other day, who was lamenting Classical listeners' lack of ability to add an entire Grouping of tracks as "next to play" in the Party Shuffle playlist. See, Classical tracks usually use the Grouping tag to designate a particular work, and the tracks comprise the contiguous movements of the work (see this recording of Vivaldi's "The Four Seasons" at the iTMS for an example). Play Grouping Next In Party Shuffle will use the Grouping tag of a selected track, or allow you to choose a Grouping from all groupings in your library, to gather the tracks belonging to that Grouping and then add them in their track number order to Party Shuffle.
NEW: Play Album Next In Party Shuffle
Using the same idea as Play Grouping Next In Party Shuffle mentioned above, the script Play Album Next In Party Shuffle will add an entire album of tracks in the track number order to the Party Shuffle playlist.
NEW: Disable Dated Tracks
Disable Dated Tracks will un-check the tracks in playlists you select whose last played date is before a user-entered date.
UPDATED: PDF Adder v2.3
PDF Adder is a collection of scripts that assist with adding PDF files to iTunes as digital booklets.
- Add to iTunes... is a PDF Service workflow that, when installed, will be available in the PDF pop-up menu of any application's Print Dialog. It allows you to save the current document as a PDF file and add it to iTunes.
- PDF Adder is an applet that will let you choose an existing PDF file and add it to iTunes. It can be installed in iTunes' Scripts folder for easy access from iTunes Script menu.
- PDF Dropper is a droplet that lets you add a PDF file to iTunes by drag-and-drop.
The latest version of the collection fixes a problem with the "Add to iTunes..." installer and makes a few changes to "Add to iTunes..." itself.
UPDATED: Join Together v4.0.2
QuickTime 7.1 was released last week and it looks like something broke in its AppleScript innards. Something like this no longer works as expected:
tell application "QuickTime Player" set theM to (make new movie) close theM end tell
A reference to the new movie created with the make command and stored in the "theM" variable is not understood later. This used to work. (Although I admit I haven't had a chance to thoroughly examine QT 7.1's aete to see if there's something else going on. But make is supposed to return a reference to the newly created object.) So I had to go in and update Join Together. If you are planning on updating to QT 7.1, which I suppose you should despite the AppleScript glitch, then definetly get the latest version of Join Together.
NEW: Make PDF Booklet
Make PDF Booklet will create a PDF booklet containing tag info from the selected tracks (or every track from the selected playlist) and then add the PDF to iTunes and copy it to the playlist where the selected tracks reside. (Here is an example PDF Booklet made with the script.)
UPDATED: Assimilate View Options v1.1
Back in December of 2003, Correspondent Jack Gill wrote the original Assimilate View Options, a script which replicated all of your non-Smart Playlists using the View Options of the main library, including columns, their width and position. This was possible by taking advantage of the fact that newly created playlists automatically acquire the main library's View Options. Over time, the original version has failed to work properly due to the addition of the Party Shuffle, Podcasts, and Videos playlists. I have updated Assimilate View Options to account for these playlists (skip 'em) and also provided an option to use selected playlists as well as all playlists.
UPDATED: iCal Calling iTunes! v4.1
iCal Calling iTunes! is an AppleScript application that allows you to use iCal events to schedule iTunes playlists to play. From simple iTunes alarm clock to sophisticated background music scheduler...iCal Calling iTunes! gives you whatever level of flexibility you need! Simply enter the names of iTunes playlists as new events in iCal, set the start and stop times of each event, and iCal Calling iTunes! takes care of watching the clock and playing your iTunes playlists throughout the day, from startup in the morning 'til shutdown at night. You can schedule music hours, days, weeks, even months in advance.
With iCal Calling iTunes! you can:
- Schedule the start and stop times of iTunes playlists, Smart Playlists, and Folder Playlists
- Schedule internet radio stations to play
- Schedule playlist events to repeat every day, every x days, every week, different days every week
- Change event times or create new events while the appplication is running
- Set playlists to shuffle before playing
- Set ? or fade up to ? a specific start volume for each scheduled playlist
- Assign one of several scheduling calendars
This update is free for registered users.
What's new in version 4.1:
- Detection of scheduled events improved for speed, accuracy, and efficiency
- Daily, Weekly, and Custom Dailly and Weekly repeat events recognized
- "on date" and "after" end settings in repeat events recognized
- Option to delete all expired iTunes Calendar events before a user-specified date
- On-demand Status dialog displays current playing playlist and next scheduled playlist
- GUI changes
- Checks for future updated versions
- Includes helper AppleScript to create new events from iTunes playlist names
UPDATED: Join Together v4.0.1
A quick update for Join Together. This script will enable you to join the files of selected iTunes tracks together--including CD tracks--with QuickTime and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, it will create a "chapterized" audio file of the exported AAC file. The latest version no longer prohibits using same-named tracks.
UPDATED: Play Hourly BBC/Hourly NPR News Podcast Episodes v1.1
I have updated Play NPR Hourly News Summary and Play BBC Hourly World News Bulletin each to version 1.1. These Stay-Open script applets will download the latest episode of news from either podcast as soon as they become available, play them after the current song ends, then continue to the next song with no interruption. These latest versions make sure play counts are updated correctly, prevent inadvertent play of less recent episodes, and transpose the time in the episode name to your local time zone; the latter displays in the app's startup screen.
iCal Calling iTunes! Update Coming Soon
I have been testing a new version of iCal Calling iTunes! This app will let you schedule iTunes playlists as iCal Events. The new version is pretty much re-written from scratch and the whole dynamic of the playing and queuing of playlists is much more efficient and accurate. The delay is because I have to test it in real time in as many situations as possible to snag any bugs. I hope to have version 4.1 ready by the end of the weekend.
NEW: Play Hourly BBC/Hourly NPR News Podcast Episodes
The two script applets, Play NPR Hourly News Summary and Play BBC Hourly World News Bulletin, each download and play the latest hourly episode of the respective podcast when it becomes available. If iTunes is playing already, the script will wait until the current song ends before playing the News episode and then play the next song in the playlist once the News episode has finished. Now, you can integrate an hourly newscast into your daily playlist listening.
UPDATED: Join Together v4.0
Join Together got a nice little mention in the latest Apple eNews, so I figured I'd better make it more respectable. Join Together 4.0 will enable you to join the files of selected iTunes tracks together--including CD tracks--with QuickTime and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed (download link included), it will create a "chapterized" audio file of the exported AAC file. The latest version works with enabled (check-marked) CD tracks and works properly with FileVault enabled.
UPDATED: iTunes Library Manager v4.3.1
iTunes Library Manager version 4.3.1 is now available. A small number of users had reported getting a "Bad name for file" error when loading a library. This is now fixed.
iTunes Library Manager is an AppleScript application that makes backup copies of the iTunes Music Library database file and iTunes Preferences, allowing users to easily save multiple iTunes Library and Preferences configurations that can be retrieved and loaded at any time.
The previous version, 4.3, works properly when FileVault is active, cautions about loading a new library if current library has not been backed up previously, includes several interface and performance enhancements, and includes new Helper AppleScripts.
FileVault, AppleScripts, and the home Folder
If you use FileVault, AppleScript will be unable to access files in your encrypted home folder using Finder commands. As a result, I've been working on updating some of the scripts that use Finder commands, substituting UNIX commands. One of the more popular scripts that this affects is "Join Together". I am working on an update now and hope to have it ready in a day or so.
NEW: iTunes Print Helper
iTunes will automatically remember the settings you have set in the Print Window dialog while it is running. However, if you Quit iTunes, those settings are lost and iTunes will default to "CD jewel case insert" and "Text only" theme when restarted. Print Helper stores your current iTunes Print Window settings. When you run the script later you can apply those stored settings to the Print Window dialog.
UPDATED: Export Artwork to iPhoto v1.3
Export Artwork to iPhoto v1.3 will export the artwork of the selected tracks--or tracks of the selected playlist--to iPhoto. This latest version can add artwork to a new or existing iPhoto album. You can also choose to import one track's artwork or all artwork from tracks with the same Album name; this is handy for exporting movie tracks' artwork, where the Album may be the same, but artwork may be different.
UPDATED: iTunes Library Manager v4.3
iTunes Library Manager v4.3 is a shareware AppleScript application that makes backup copies of your iTunes Music Library database file and iTunes Preferences, allowing you to easily save multiple iTunes Library and Preferences configurations that can be retrieved and loaded at any time.
This update is free to registered users of iTunes Library Manager v4.x
- Latest features in iTLM v4.3:
- Works properly when FileVault is active
- Cautions about loading a new library if current library has not been backed up previously
- Several interface and performance enhancements
- Includes new Helper AppleScripts
NEW: Check For Purchases
Like every other Truth-Loving American, I have a Multi-Pass subscription to Comedy Central's The Colbert Report. The show is available four days a week, so every morning I await my email from the Store letting me know that the last night's show is available. Then I trudge to iTunes, hit "Check For Purchases...", enter my account info and let iTunes download the show. Four days a week I do this. Typing my password every morning is so tedious. So I wrote Check For Purchases. This script will fire the Account Name and Password window, enter my account info, and log into the iTunes Music Store to grab undownloaded purchases. Even better, I assigned it to a Mail Rule so that when the email from iTMS arrives, the show is downloaded automatically. You'll have to edit to the script to include your account information, a simple operation and instructions are included in the Read Me.
UPDATED: Remove n Characters From Front or Back v2.0
I got so many requests to write a script like Remove n Characters From Front that worked on text at the end of track tags that I incorporated it into Remove n Characters From Front or Back v2.0. This script lets you delete a specified number of characters from either the beginning or the ending of the Song Name, Album, Artist or Composer tag of each selected track. For example, delete the initial digits and the space from "01 First Track", "02 Second Track", and so on.
UPDATED: GET Available Podcast Episodes v1.1
GET Available Podcast Episodes v1.1 will let you GET any or all un-downloaded episodes of the Podcasts you have subscribed to, rather than clicking the "GET" button for each one individually in the Podcasts playlist. This latest version fixes an error which listed all undownloaded episodes, not just those from selected podcast subscriptions.
UPDATED: Quick Convert v2.6
The venerable Quick Convert has been updated to v2.6. With it you can convert all or just the selected tracks of the selected Playlist using your choice of available iTunes encoders, restoring your Preferences-set encoder afterwards. Works with importing selected CD tracks, too.
Additionally, you can:
- copy all converted/imported tracks to a new playlist
- choose to remove and/or delete the original tracks and/or files
- if you have selected the AAC encoder you can choose to make the tracks "bookmarkable"
This latest version fixes a problem selecting a CD playlist; updates dialog and choose prompts to refer to import or convert depending on class of selected playlist tracks; prevents selection of iPod or Radio playlist tracks; prevents attempt to convert URL tracks.
The French Copyright Law
My friend Kirk McElhearn, an American author living in France, has the best perspective I've seen yet on the French government's attempt to pass a law opening up DRM. Read it here.
Thanks For Another Link Apple!
This site has been listed on a couple of Apple's AppleScript webpages, which seems like an obvious place to link here from. But I just noticed they've also linked here from this Podcasts Tips page. The link is at the bottom of the page. "Mac users, take advantage of Applescript to add a whole new level of functionality to your iTunes and podcasting experience." Thanks for thinking of me!
How iTunes Works
Although it was prepared using the Windows version, the article How iTunes Works at the How Stuff Works website is good stuff to read. (Thanks to Scott McNulty at TUAW for the link.)
UPDATED: Join Together v3.3
I have updated Join Together to version 3.3. This script applet will will enable you to join the files of selected iTunes tracks together with QuickTime and export them as a single AAC file/track. Optionally, with Apple's "Chapter Tool" application installed, you can then create a "chapterized" audio file of the exported AAC file. The latest version no longer requires Spotlight indexing or QuickTime Pro. Your vanilla QuickTime Player should handle the exporting. Also, I have fixed a problem with creating "gapless" tracks under certain circumstance. Better see the Read Me
UPDATED: Transfer Bookmark and Play v2.0
I have updated Transfer Bookmark and Play to version 2.0. This script will transfer the bookmarked position of a selected iPod track to the corresponding track in iTunes, or visa versa. If multiple iPods are mounted then you can select which iPod you want to search. Optionally, you can choose to play the track after the bookmark setting has been tranferred.
NEW: Pickup Playing In Other Playlist
A Correspondent wondered if it would be possible: Say, for instance, you're playing tracks from a playlist which have been assembled in some kind of random order. You hear a particular track and you think "Golly, I'd really like to hear the next track off that album after this one." But, of course, since the current playlist is made up of random tracks, you probably won't. Unless you go through a convoluted series of mouse clicks and key presses to find it. Now, if you're like me--which would be awesome--you may have all your albums set up as individual playlists and sorted in album-order. In this case, you can run Pickup Playing In Other Playlist. It will display a list of playlists containing the current track, allow you to select one, and then briefly pause the current track and resume playing it in the selected playlist, right where it left off in the current playlist.
Does that make sense? I tried really hard to make it so.
Finding Scripts Here
I'm about to hit 400 scripts. That's totally sick! Lately, probably because of the sheer number of scripts, I've been noticing that it is becoming difficult for users to find scripts for a particular purpose. Some even write their own not realising that something already exists. That's OK, of course. I advocate DIY AppleScripting. But anybody got any ideas on how to make it easier to locate stuff here? I've got the search boxes, I've got the Script Stats page, which can list scripts by name, popularity, and so on. Your ideas will be appreciated. You got my number, right?
Uh, And Wow. Works Great Witha Shortcut
Do I need to tell you? I've been assigning (and evangelizing) shortcuts to scripts for years. But, Man, am I happy with a keyboard shortcut fer Pickup Playing In Other Playlist. This so works.
UPDATE: Export Artwork to iPhoto v1.2.1
Ooops. The original coding only allowed iPhoto 5.x versions to use Export Artwork to iPhoto. Thanks to Correspondent D.F. Bills, who alerted me to the problem, I have updated the script to work with any iPhoto version 5.0 or greater.
Apple Releases iTunes 6.0.4
iTunes 6.0.4 was released last night. Apple says it "addresses stability and performance issues related to Front Row."
They Laughed At The Original iPod, Too
This forum link at MacRumors has the original knee-jerk reactions to the first 5GB iPod from October 23, 2001. Some good laughs here ("There are already two products similar to this on the market. The Nomad Jukebox and the Archos Jukebox which can come with a 20 gig HD. The iPod is obviously alot cooler and has firewire, but it is far from revolutionary. I for one am disappointed and think that Apple is making a mistake by trying to get into this market."). Thanks to Scott McNulty over at TUAW for heading me to it.
Yup. Microsoft is So Ahead of the Game as Usual
From White House Briefing, "Caught On Tape", by Dan Froomkin, 2006-03-02 (all emphasis is mine): "Here is the video from the Associated Press, showing Bush listening in on the [Katrina] videoconference from Crawford, where he was on vacation. (Hosted on washingtonpost.com, the video is prefaced by an unfortunate Microsoft Office ad that starts: "10 a.m.: Out of the office, out of the loop.")
NEW: Open Video In QT Player
I was surprised when I couldn't drag a video track onto QuickTime Player's Dock icon to open it, so rather than click "Show Song File" and drag the file, I banged together Open Video In QT Player. It will open the selected videos in QuickTime Player at either normal or fit-to-screen size.
Disappointed by the Fun, New Event?
I thoroughly agree with Peter Burrows' analysis in this BusinessWeek Online article. "Purists can sniff that the new Hi-Fi speaker system is a glorified boom box, but for Microsoft and others the message is clear: Jobs & Co. are coming on strong". Okay, maybe leather iPod cases don't appeal or mean much to the typical Mac geek, but if I were an iPod accessories maker I'd be looking at options.
What's Doug Up To?
1) Currently experiencing an AppleScripting lull, I am upgrading my Automator Actions Volume 1 to Universal Binary and fixing some stuff. I'm also working on Automator Actions Volume 2. Look for an update to Volume 1 in a week or so, and the new Volume 2 in a couple of weeks.
2) Attempting to get all Read Me's available online.
3) Got some dandy Perl scripts from Correspondents that assist with finding duplicates. Will post some AppleScript wrappers soon.
4) Continue to produce AppleMatters' daily "This Day In Apple History" podcast and BMI's "See It Hear First" podcast.
5) The usual commercial/industrial voice/audio work.
6) Answering the answerable emails, and--forgive me--ignoring the "You Can Find The Answer Via Google or in the Read Me" emails.
How's Life treating you today?
Option-Delete Playlist Tracks
Every so often, Correspondents will send me scripts that, unbeknownst to them, emulate functions already available in iTunes. Some examples include actions that are in contextual menus, like "Add to Playlist" or "Show in Playlist" or "Uncheck/Check Selected Tracks". (There are some scripts posted at the site that do emulate current iTunes actions, but chances are they were written before the iTunes developers incorporated their functions into iTunes and they remain posted for legacy reasons.) These are honest oversights, and usually the Correspondent will shout "Hooray!" when I clue them in. (Actual Correspondent response: "Ha! Oh man, what do you know, I didn't even look at the keyboard shortcuts list. It's been buggin' me forever that I couldn't do that, and it didn't even occur to me that maybe I already could. *sigh*") Afterall, there are new Mac and iTunes users popping up all the time and far be it from me to come down hard on them just because they're n00bs. There's no shame in that.
By far the most frequent script I get for a function that already exists is one that will remove selected tracks from the selected playlist and the main library with the option to delete the files. Although this was not possible to do in very early versions of iTunes, not for nothing, that's what Option-Delete is for.
If you press Delete while a track (or tracks) in a playlist is selected (or choose Clear from the contextual menu by right-clicking/Control-clicking selected tracks), the track will just simply be removed from that playlist and it will remain in your library playlist. If you Option-Delete on a selected track in a playlist, you'll see this:
This enables you to remove the track from iTunes entirely. And when you click the "Remove" button, you will then see this:
Even if you click on "Move to Trash", you can still recover the files from the Trash folder by double-clicking the Trash icon in the Dock. Conveniently, by clicking the Cancel button in this second confirmation box, the entire remove/delete process is cancelled, so that no tracks are removed and no files are deleted.
Now, it does happen that some people at some point or another checked that "Do not ask me again" box and won't see the first confirmation. In order to get the first confirmation dialog to show again after doing so, you have to delete the iTunes preferences file. This file is home > Library > Preferences > com.apple.iTunes.plist. Quit iTunes before deleting the preferences file. Then after deleting it, restart iTunes and it will create a new one. Of course, all your preferences will have to be re-set. Make sure you do this straight away otherwise you could be in for some surprises?iPod not updating, podcasts not downloading regularly, incorrect iTunes Music Library folder, and so on.
I highly recommend checking out the Shortcuts in the iTunes "Help" menu. Every few versions or so Apple sneaks some new shortcuts in there.
Correction: an earlier version of this post erroneously stated that "Trashed" files were immediately deleted. This is incorrect; files moved to the Trash remain there until you empty the Trash.
This Day In Apple History
I've been working with Hadley Stern over at AppleMatters.com for a few months on the "This Day In Apple History" project. I actually voice and produce the podcast version. Of course, "This Day In Apple History" is also available as a daily email and RSS feed. And now, you can post a "This Day In Apple History" widget on your own web site by getting the TDIAH sitelet. It will generate the code you'll need to add to your HTML and everyday it will be updated auto-mac-ically. I've got mine there in the left column beneath the site links. The sitelet will let you customize the size and content of the widget. You can choose to have a vertical or horizontal banner of various sizes and colors and choose to display all or some of the content. You can even choose to remove the AppleMatters icon, although having it appear on your website will certainly impress upon your visitors your obvious sophistication :)
Al Kooper Needs New Music NOW!
Legendary rock musician/producer Al Kooper?whom I greatly respect for his work...in the day?opines and gripes about not being able to get iTMS New Music Tuesday Music 'til Thursday (among other dubious gripes and incorrect facts).
Al, remember when it took weeks to see a new release in the record stores? Is 48 hours gonna kill ya? Smoke another bone and lighten up. No, I mean smoke another bone. The one you're smoking now doesn't count.
NEW: Most Played Artists
Correspondent Michael Henley whipped up Most Played Artists, a script that will create a text file listing artists by the number of their tracks' play count. Really, though, it was an excuse to play with scripting the faceless Database Events application which debuted in OS X 10.4. I'll admit, I hadn't done much with it myself, but I see some definite possibilities.
iTunes 6.0.3 - Ratings Stars Bug Fixed
I've only had a limited amount of time to play with iTunes 6.0.3 which was released yesterday. So far, the only thing I've found updated is a fix for the Smart Playlist Ratings criteria bug, which prevented selecting the desired number of Rating stars when setting up a Smart Playlist.
NEW: Reshuffle Smart Playlists
Correspondent Lukas Bergstrom likes to freshen up his Smart Playlists before he syncs 'em to his iPod. Reshuffle Smart Playlists will delete all the tracks from all Smart Playlists allowing them to re-populate.
iTunes 6.0.3 Released
Apple has released an updated version of iTunes, iTunes 6.0.3.
NEW: Backup Purchased Music
Here's a simple script applet that will assist you with periodically backing up your iTunes Music Store Purchases. Backup Purchased Music will allow you to select a backup folder in pretty much any location and copy the files from your Purchased playlist to it. On subsequent runs, previously backed-up files will not be copied, only newer additions.
Here's What Scares Spammers
Now I send undesirable spamming links to this F.B.I. page. Works a treat. (I wonder what they'll make of all the hits?)
Hearing Loss? What?
This AP story reports on a Louisiana man who claims in a lawsuit that Apple's iPod music player can cause hearing loss in people who use it. I don't think the lawsuit will get very far. I've been using headphones professionally for over twenty-five years. Some headphones manufacturers do include disclaimers stating that listening to headphones at high volume may cause hearing loss. It has been my experience that this is inherently true. I used to laugh at these warnings because it always seemed self-evident. (Denon used to also say that for best results the left earcup should be placed over the left ear, and the right earcup should be placed over the right ear. Thanks! Whew!) On the other hand, I've probably lost a bit of my own hearing capacity due to headphones use. I once worked with a radio announcer who would go back and forth using his headphones as monitors on his head or just lying on the console without ever changing the volume. You could hear his headphones on the other side of the room even if he was wearing them. He was nuts. But when you put a set of cans on your head you should know that it ain't the way your ears were designed to listen to noises, otherwise humans would have evolved with earbuds firmly planted in each ear and an 1/8th inch stereo jack dangling from their navels. Besides, there is such a thing as a Volume Control on most audio devices, which can not only raise but also lower the volume.
In other news, a Nebraska man has filed suit against bus manufacturer NeoPlan for developing transit vehicles that can severly injure or even kill people who walk in front of them while they are moving.
iTunes Logrolling
Giles Turnbull has a great article at MacDevCenter.com on "Tweaking iTunes" on the Mac. He not only mentions this site, but has a whole bunch of other tips and sites you might want to check out, too.
iTunes 6 Review at PCMag Laments...
"Perhaps the biggest disappointment, however, is that iTunes still offers no music subscription option to match Napster To Go, Virgin Digital Red Pass, and other flat-rate services."
Huh? And I'm disappointed that I can't keep books I borrow from the library like I can when I buy 'em from the bookstore. Read the review yourself.
Eyephedrine Visualizer
I'm not much of an iTunes visualizer guy, but my eyeballs gelatinized and brain cells I thought I lost in college were called back to life after installing Eyephedrine. $8 shareware and worth the trip.
One Complaint
Frequent visitors are no doubt aware of my spamming problem. Here's the only complaint I've received to date:
"I was directed to your site from the macosxhints board, and really disappointed to get blocked because of my operating system. Operating system discrimination is something that has always upset me, whether it be on the part of mac, windows, unix, or whatever os users. Your referer spam problem must really suck to force you to do this, and I'm very sorry, but it's too inconvenient if I can only access a site from my laptop."
Yes, it sucks very much. Thus the drastic recourse. But frankly I don't know what a Windows user expects to get from this site. If you're a Mac user and need to download a script, why not do so on a Mac?
UPDATED: Make UN-Bookmarkable 2.6
Ooops! The previous version of Make UN-Bookmarkable neglected to check if any selected track was indeed a "m4b" track. Thus, you may have run it on MP3s and their extensions would be changed to "m4a". This is fixed in the latest; the only tracks that can be affected are ones whose file type is "M4B ".
From the New York Times, January 30, 2006:
"Exxon Mobil, the nation's largest energy company, today reported a 27 percent surge in profits for the fourth quarter as elevated fuel prices gave rise to the most lucrative year ever for an American company, with profits in 2005 reaching $36.13 billion and revenue $371 billion.
Exxon's profits are expected to generate new scrutiny of the company's operations in Washington, where legislators have recently expressed concern over Big Oil's good fortune as soaring oil and natural gas prices pressure consumers. Exxon said its profits climbed more than 40 percent last year, while its tax bill rose only 14 percent."
I'm mad as hell and I'm not going to take it anymore! And neither should YOU!
NEW: Add-Subtract A Half Star
Here's one that got under the radar. Apparently, iTunes track ratings can now include a "half-star":
But the only way to get the half-star rating is with AppleScript; you can't drag rating stars "half-way". Add-Subtract A Half Star will increase or decrease the ratings of the selected tracks by a half-star. By the way, this only displays in the library. It won't display in a track's "Get Info" window.
I only stumbled on this with iTunes 6.0.2 (thanks to Correspondent Ingo Tekaat for bringing it to my attention) but it may work in 6.0 or 6.0.1.
Drastic Measures Taken Against Parasites
You may be familiar with the term referrer spamming. This is a technique used by unscrupulous websites to increase their search engine page rankings by hitting popular sites which may or may not post links to referrers. Mostly, these are sites that hawk porn, gambling, real estate, pharmaceuticals, and so on. Regrettably, when they bombard my site they steal bandwidth. Normally, I can cope with it. But this month has proven to be a bonanza for the spammers and as of today my bandwidth allocation is reaching into the Red Zone. Rather than pay for more monthly bandwidth, which to me seems to be an impractical short-term solution, I have decided to block all hits from Windows browsers--since this is the platform virtually all spammers use--until (at least) the end of this month. I don't feel too guilty about it since there isn't much here for Windows users. Although I do realise that on occasion many Mac users browse the site from their work computers, which (surprise) are Windows machines.
Not to put too fine a point on it but here is a screenshot of my webstats for this month so far. Duh: How many Mac users do you know who use a Netscape compatible (may be moot) or MSIE 6.0 browser?
Am I being taken advantage of (for lack of a worse term) or what? Am I being played? I expect the RSS readers and search engines, of course. But what's with all the MSIE and Windows-centric browsers? And that curl/Linux browser may be next to get blocked.
I do not like having to do this, but I feel I do not have a choice. I hope you understand, and I appreciate your visits to the site, no matter what platform you use.
Archive Updates
I mentioned yesterday that I am working on a method to post PDF versions of the scripts' Read Me docs. Well, this is turning into a general housekeeping project. In order to convert each Read Me to PDF, of course, I have to open it. Well, then one starts to see inconsistencies in formatting, and then the script itself may need updating, because there are better ways to make it go, or I've learned more about iTunes AppleScripting, or iTunes itself has been improved to accomodate better scripting...well, you get the idea. So over the next few weeks I will probably be posting many new updates to the scripts. It's quite a chore, what with over 380 scripts to examine. Probably should be done anyway.
I may not publicize each update here or in the RSS feed, unless a particular script warrants widespread publicity by virtue of its popularity or potential Great Usefulness. Otherwise, they will appear in the "10 Most Recently Added" list in the right column there.
10 Random Scripts
For laughs, and because you can't possibly discover interesting scripts by browsing the entire site, I've created a "10 Random Scripts" section over there in the right column. Every time a page loads or re-loads it will display ten different scripts from the archive selected at random. Hopefully you'll discover something you hadn't noticed before.
NEW: Search for Local Artwork Files
I've been playing with Spotlight 'scripting on and off for a while now. A Correspondent inquired if something could be done about locating and adding graphics files whose file names contained the artist and/or album of the selected tracks. Search for Local Artwork Files doesn't actually add the files, but it does attempt to locate any PNG or JPEG files whose filenames contain the artist and/or album of the selected track. Then it will show the files in the Finder. You can take it from there. Dragging a PNG or JPEG to the artwork pane in a track's Get Info window (or Multple Song Information window) works great. The Read Me explains the thing a little bit more.
Read Me's Online
I am working on developing a way to provide the Read Me's of uploaded files online. That is, you'll be able to read a PDF of a file's Read Me online before you download a script. The trouble is getting it to work in my Flow. I have a Good Flow already. But if it can be done Nicely then look for a "View the Read Me" link in each script's download entry very soon.
Apple Comes Through
Check your MiniStore today for a courteous advisory from Apple regarding how the MiniStore works and Apple's policy on data collection.
UPDATED: Quick Convert v2.5
Quick Convert has been updated to version 2.5. This applet will convert all or just the selected tracks of the selected Playlist using your choice of available iTunes encoders, restoring your Preferences-set encoder afterwards. Works with importing selected CD tracks, too. Additionally, you can copy all converted tracks to a new playlist, choose to remove and/or delete the original tracks and/or files, and if you have chosen to use the AAC encoder you can choose to make the tracks "bookmarkable". This latest version provides the option to remove or delete original tracks and/or files, adds "m4b" extension to converted AAC files selected for "bookmarkable".
Smart Playlists in iTunes 6.0.2 and Rating Stars
iTunes 6.0.2 has a bug in both Mac and Windows versions that prevents using rating stars properly as Smart Playlist criteria. The problem and (ahem) workaround are outlined in this Apple K-base article.
UPDATED: List Folder Files Not Added v1.1
So, you wanna find the files in a folder that may or may not have been added to iTunes. Me too. The latest version of List Folder Files Not Added, v1.1, fixes a problem with un-escaped characters in file paths which would generate an error like: "sh: -c: line 1: unexpected EOF while looking for matching ' "". Duh. Also I added a dialog notifying if all files in selected folder were found in iTunes, streamlined the opening preferences dialog routines, and added some formatting to the final text file. Whew.
UPDATED: Move Playlists to Folder Playlist v1.1
I have fixed a small problem with Move Playlists to Folder Playlist. If you have no Smart Playlists, then it could have generated an error. This is fixed. This script allow you to select any number of iTunes playlists and move them to a new or existing folder playlist.
Stream a Movie
I don't know how long this has been possible, so forgive me if I'm going over old ground. I've been working on a script that can download a movie from the front Safari window into iTunes (you can imagine the possibilities). I've been experimenting with trailers from the Apple Trailers site. While the script isn't near done yet, one of the things I've found is that you can add the URL of a movie trailer to iTunes as a stream. That is, click on "Open Stream" in the Advanced menu and copy in this URL to "Pirates 2" [http://movies.apple.com/movies/disney/piratesofthecaribbean2/piratesofthecaribbean2-tsr3_h.640.mov]. The movie will play in the Artwork pane in iTunes. You can't open it in another window, unfortunately, nor save the file. But you can move the stream URL track around and view it whenever you wish. If you make your Artwork pane big enough, by dragging the Source pane's right border, an external window it isn't necessary--you can view it from its internet site. See? (I suppose all images are owned by the copyrighter--don't mean to "pirate" anything.)
About iTunes 6.0.2
This article contains an overview of some of the new features and AppleScript additions in iTunes 6.0.2. I'll will continue to update it as I have more time to explore.
NEW: Zero Bookmark of Selected Tracks
Zero Bookmark of Selected Tracks will set the bookmark pointer of the selected tracks to 0 seconds. iTunes 6.0.2 or better required.
NEW: Move Playlists to Folder Playlist
Move Playlists to Folder Playlist will allow you to select one or more playlists and move them to an existing folder playlist or one that you can create on-the-fly. iTunes 6.0.2 or better required.
AppleScript Updated in 10.4.4
According to the release notes, the Mac OS X 10.4.4 update includes fixes to AppleScript, but doesn't specifically mention what fixes were made. Not sure what they are yet either because I haven't installed 10.4.4 yet.
Apple's New Spyware and Adware Application?
Kirk McElhearn raises some interesting privacy issues regarding iTunes 6.0.2's new MiniStore. This will be interesting to watch pan out.
iPod Updater 2006-01-10
Hot on the heels of the iPod Shuffle update from a couple of days ago, you will find iPod Updater 2006-01-10, which, according to the description, provides "iPod Software 1.1 for iPod, iPod Software 1.1 for iPod nano, iPod Software 1.2.1 for iPod with color display, iPod Software 1.4.1 for iPod mini, and iPod Software 3.1.1 for iPod with Click Wheel. For all other iPod models, iPod Updater 2006-01-10 contains the same software versions as iPod Updater 2005-11-17."
iPod Updater 2006-01-10
Hot on the heels of the iPod Shuffle update from a couple of days ago, you will find iPod Updater 2006-01-10, which, according to the description, provides "iPod Software 1.1 for iPod, iPod Software 1.1 for iPod nano, iPod Software 1.2.1 for iPod with color display, iPod Software 1.4.1 for iPod mini, and iPod Software 3.1.1 for iPod with Click Wheel. For all other iPod models, iPod Updater 2006-01-10 contains the same software versions as iPod Updater 2005-11-17."
QuickTime 7.0.4 Availble
Apple released QuickTime 7.0.4 today (among other things, including an iPod Software update for Shuffles--check yer Software Update--and iTunes 6.0.2). Apparently it has some bug-fixes and support for iLife '06 and H.264 performance improvements.
iTunes 6.0.2 Released
Apple has released iTunes 6.0.2 via the Software Update and the website. It offers "stability and performance improvements over iTunes 6.0.1". More info later as it develops.
New AppleScript Stuff in iTunes 6.0.2
New command move for playlists (to folder playlist?). New property folder playlist. New elements: the item property now also can get persistent id, which is the non-changing id of the added track (unlike database id) or playlist in the library, and the track property has bookmark whose value is the time pointer in seconds to the track's bookmark. I'll play around with these and post a review soon.
NEW: GET Available Podcast Episodes
I don't auto-download podcast episodes, preferring to be selective about the ones I want. But after awhile the un-downloaded episodes begin piling up. Or, perhaps I have subscribed to a podcast with past episodes yet to be downloaded. In either case, clicking the "GET" button for each un-downloaded episode is a prescription for a RSI. GET Available Podcast Episodes will allow you to select the subscribed podcasts with available episodes and choose which of those episodes to download one after the other.
NEW: iPod Lyrics To Notes
This script, iPod Lyrics To Notes, was originally suggested in this Mac OS X Hints hint. I had completely forgotten about it until doing some Googling on Notes creation in iPod (here's the straight dope from Apple). This incarnation of the script works a bit differently than the original. It will allow you to copy the lyrics of the selected iPod tracks (or the tracks of the selected iPod playlist) as Notes to that iPod's "Notes" folder. Lyrics Notes will be organized in Artist/Album folders in a "Lyrics" folder created in the iPod "Notes" folder. Additionally, a link at the beginning of each Lyrics Note will allow you to play that particular track from the iPod.
No-Show at MWSF This Year
Many far-flung friends and Corresondents have asked if I'm going to make it to MacWorld next week and I'm afraid the answer is "Maybe next year". Last year's MWSF was pretty exciting, what with the Shuffle and Mini and the Tiger Previews. I also got to meet a lot of my Favorite Mac People. This year, however, I frankly just couldn't swing the expense. But if I start saving my spare change now, I should be able to make it in 2007. All you guys have fun now!
UPDATED: Join Together v3.2.1
A quick bug fix for Join Together. There may have been an error generated after a join if "ChapterTool" was not installed. Fixed.
NEW: Disable Gracenote
Correspondent David Mundie has refined a script he originally posted at Mac OS X Hints. The script, Disable Gracenote, will toggle your firewall settings to disable/re-enable Gracenote CDDB database searches when you insert a CD or choose "Get CD Track Names" from iTunes' Advanced menu. Read Me contains details.
Oh, And One More Thing...
On 1.1.06, Applematters.com debuted their This Day in Apple History Podcast, which, I am proud to say, I am the Voice Of. My good friend Hadley Stern (for whom I contributed the AppleScript chapter of iPod and iTunes Hacks) and his associates at Applematters have done a remarkable amount of research to create a daily "Day In Apple History" which you can download as part of your daily podcast repertoire or read on the web or receive as daily email. I recommend signing up for the daily email as this will also enter you into a contest to win a Newton, an Apple II, or a 5G iPod.
RECOMMENDED: iTuneslove.com
Steve Mallet has put together a digg-like site that lets users recommend cool tunes of any genre and then ref 'em to the iTMS. I highly recommend iTunesLove.com 'cause I'll never find out what's hep without it. Plus, it won't work unless you contribute. Hey! I love LCD Soundsystem's "Daft Punk Is Playing At My House"! I do! And I never would have found it without iTunesLove.com. C'mon! Let's get the community thang happenin'.
RECOMMENDED: iPodDisk
I ran across this application while checking out a hit from a Japanese site. iPodDisk is an application that will mount your iPod's hidden Music directory by emulating it as an iDisk drive. All the files are accessible and arranged by Artist/Album folders and by Playlist folders. All you have to do to retrieve your iPod audio files is run iPodDisk and just add them to iTunes. Even better, iPodDisk enables other applications to easily access the iPod Music folder, since it appears in the Finder as a mounted drive. I highly recommend it. I may even write some scripts for it!
Tired of Explaining Bookmarking
This article provides a Fabulous Matrix outlining what tracks and/or files are recognized by various iPods as bookmarkable Audiobooks and How To Get Them That Way.
UPDATED: Make Bookmarkable v1.5
About once a week I get an email from users who wonder why Make Bookmarkable didn't work. They offer as proof that the file extension wasn't changed to ".m4b". True enough. But the file type was changed and on a Mac that's how iTunes and iPod recognize bookmarkable files. So simply changing the file extension to ".m4b" doesn't make an AAC file bookmarkable on a Mac. Well, I'm getting tired of that email. So I have updated Make Bookmarkable to now add the ".m4b" extension as well as changing the file type. I don't know why I didn't have it do that in the first place.
UPDATED: Rip To iPod v1.5
After two and half years I have updated Rip To iPod to version 1.5. This script imports the enabled (check-marked) tracks of a loaded CD to iPod via iTunes using your choice of encoder (your Preferences-set encoder is restored afterwards), then removes the tracks from the iTunes library and deletes the files from your hard drive. This gives the appearance of seamless CD-to-iPod ripping. If you lack hard drive space then this is the solution for you, since at most only one file ripped from the CD is stored on your hard drive at a time, and even then only temporarily. The latest version allows you to select one of two or more CDs whose enabled tracks you want to rip and one of two or more mounted iPods to which to copy the ripped files.
Here they are. Man, it?s happenin?.
UPDATED: Restore iPod Album Art v1.1
Restore iPod Album Art v1.1 is a script that will attempt to re-add or replace the display artwork of the selected iPod tracks with artwork from a corresponding album's tracks in your iTunes library. This update fixes a problem deleting the working folder in the Temporary Items folder, which is used to convert and temporarily store artwork files during operation.
NEW: Remove All iPod Artwork
...And while I was working on updating Restore iPod Album Art, I needed a way to remove the iPod artwork so I could re-add it over and over. Remove All iPod Artwork is an applet that will delete all the artwork from every track on your iPod. Now, you could easily remove artwork by doing a multiple edit on selected iPod tracks, but this applet works in the background. It will also report on how much space you recouped on the iPod after removing the artwork. Additionally, no one at my house owns an iPod that displays album artwork, so there isn't much point in having artwork on the iPod while its just taking up valuable space.
New Script Category: Managing Artwork
I created a new Managing Artwork category. As the number of scripts being added grows larger--378 to date; who knew?--it becomes more difficult to browse for scripts for a particular task. I'm always looking for ways of making it easier and one of the best ways is to segment the current script categories into more categories. Hope this helps you browse the site.
Getting the Files From an iPod Shuffle
My daughter owns an iPod Shuffle. Up until recently, she was using my Mac to manage music on it. But a few days ago I created a new User on one of our other Macs for her to use. Naturally, she wanted to manage her iPod Shuffle music from there. Well, it's not so easy. First, her Shuffle was "registered" on my Mac. Now, somebody correct me if I'm wrong, but in order to register it on the other Mac, it would have to be erased and then re-registered on the other Mac. This would mean she would lose the music on the Shuffle. No big deal, right? I'll just select the tracks from the iPod Shuffle source on my Mac, drag them to the Finder and copy them over the network to the other Mac, right?
You can't copy the files of an iPod Shuffle source by dragging the selected tracks like you can with regular iTunes playlists. But you can do it with AppleScript. You can use a script like "Copy Files to Folder... " in Files to Folder Scripts (written by Derrick Bass), which will copy the files of the selected tracks to a user-selected folder. Using this script, I copied the files from the iPod Shuffle source to a folder on a Lacie portable and sneaker-netted them over to the other Mac.
I've written a little more about it in this article.
UPDATED: Join Together v3.2
I have updated Join Together once again. This script will enable you to join the files of selected iTunes tracks together with Quick Time Pro and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, it will create a "chapterized" audio file of the exported AAC file. This latest version puts all the settings at the start of the script so it will work better unattended. I also provided an option to set the extension and file type of the final joined file as either ".m4a" or ".m4b". A ".m4b" file will show in iPod's Audiobook category as well as the Music categories on click-wheel iPods. It also checks for the correct installation of "ChapterTool" before asking if you want to chapterize the final file. And, unless you have selected to concatenate MP3 files, audio files are no longer copied to the temporary work folder but are opened in QuickTime from their original locations.
UPDATED: New iPod Playlist From Selection v2.3
New iPod Playlist From Selection has been updated to fix a problem with waiting for files to be copied to the iPod before placing the tracks in the new iPod playlist. This script works handily when assigned a keyboard shortcut.
NEW: Clipboard to Lyrics Scripts
Save your mouse-clickin'-finger for the important stuff! Clipboard to Lyrics Scripts are two scripts that will copy text you have copied to the clipboard to either the current track's or the selected track's lyrics tag.
NEW: Yahoo! Audio Search
Yahoo! Audio Search will use the Song Name, Artist, or Album of the selected or playing iTunes track as the basis for a search of the Yahoo! Audio Search site. The results will be displayed in your default browser. The Yahoo! Audio Search provides some interesting results, including locations for file downloads, album reviews, artwork, video, podcasts, and other esoteric info.
Duplicate Duplicates Duplicates!
There is no question that the most email I receive is in regard to duplicate tracks and files. I have started to write an article on this I-don't-know-how-many times. In fact, based on my rare discussions with the iTunes developers, it is their worst problem as well. So, instead of starting and stopping again, I have posted Duplicates Duplicates Duplicates!, which is the beginning of what I hope will be an authoritative article on what types of duplicates can exist, how duplicates can "by accident" be created, and how misunderstanding the way iTunes works can halt the Duplicates Pandemic. Please have a look at it and give me your feedback. Frankly, I have been using iTunes since it was SoundJam and I don't have a duplicates problem! I never have! And I don't understand why some users do! So your input would be helpful.
UPDATED: Join Together v3.1
I have updated Join Together to version 3.1. This script allows you to combine selected iTunes tracks into a single audio file using QuickTime Pro. Optionally, using Apple's ChapterTool application, you can create chapertized pointers to each of the combined files. This latest version adds a 64kbps/Mono export setting (considered by some users to be optimum for voice content) and creates a new QT movie rather than a QT audio recording as this resulted in errors for some users without an audio recording device.
Follow-Up On Bookmarkable/Audiobooks
Coincidentally, this hint at Mac OS X Hints yesterday discusses using iTunes' "Remember playback position" setting on AAC tracks. While this setting will make any track "bookimarkable", only the "bookmarkability" of an AAC track is recognized by 3G iPods and better.
Bookmarkable and AudioBooks
Recently I have received a few seemingly conflicting observations from Correspondents who want to convert their AAC files to "bookmarkable" and having them show up in the iPod's "Audiobook" category. Here's what works at my house: rip the tracks from a CD as AACs; run the script Make Bookmarkable on those AACs; copy them to iPod; they will display in iPod's "Audiobook" section.
UPDATED: AMG EZ Search v1.5
Thanks to a forum post at this site pointed out to me by Correspondent Tom Robinson, AMG EZ Search, which searches the All Music Guide using data from the selected or playing track, has been updated to correctly replace spaces in search strings with the "|" (pipe) character. This results in much more accurate search queries.
NEW: Startup iTunes-Some Playlist
I've been playing around with a method of grabbing particluar text from the filename of a script application. Using such a method would allow non-scripters an easy way of "hard-coding" some text, rather than opening a script and entering a property or setting a variable. Startup iTunes-Some Playlist is my first stab at something practical using this method. The script is an applet that you would load in your Login Items. By changing the "Some Playlist" part of its name to the name of one of your iTunes playlists, the script, when activated at startup, would play that playlist. Specific instructions for changing the filename are included as well as how to set Login Items in the Accounts System Preferences.
Of course, you could always just simply write a script applet that played a playlist and load that in Login Items. But where's the challenge in that? :)
Record Companies: Cease and Desist Lyrics Searches
This article at MacUser describes how some record companies are getting a little touchy about lyric-searching apps. Specifically, pearLyrics is a target.
NEW: Selected Playlists to iPod
While we have two scripts that will copy a single playlist to iPod, several Correspondents have asked about a script that can copy several selected playlists to iPod. Selected Playlists to iPod will do this. The difficulty, if you care, is that one has to wait for a music file to be completely copied to the iPod before copying it to a new iPod playlist; determining when the copying is complete was proving to be a bother. However, this script will wait a second or so for each 10 megabytes of each file before proceeding to copy it to a new iPod playlist. I was able to copy 23 playlists from my iTunes library, each with files ranging from 2 or 3 megabytes to 160 megabytes, to the iPod without difficulty. Let me know how it works for you.
NEW: Migrate to Script Menu
Since the article Managing Scripts With Script Menu went up, a few additions have been made. Additionally, Correspondent David Powers reminded me that compiled AppleScripts for iTunes which are run from Script Menu may take much longer to run. This is due to all the background OSA stuff that has to go on. But David did provide an amazing solution. I'll let you read about it. Meanwhile, I have packaged two scripts that will assist you with migrating your cumbersome collection of iTunes AppleScripts to the Script Menu folders in Migrate to Script Menu. These are the two scripts mentioned in the article.
Managing Scripts With Script Menu Addenda
I've updated the article Managing Scripts With Script Menu to include a script that will create the requisite folders in the appropriate locations such that you can have your iTunes AppleScripts appear in the user scripts section of Script Menu and the application scripts section when iTunes is frontmost. It will also create sub-folders using the names of my script categories. All you have to do is run the script and then copy/move your iTunes AppleScripts to the newly created folders.
Managing Scripts WIth Script Menu
A Correspondent recently asked if I could come up with some way of managing all the scripts he had in his iTunes Scripts menu. No need! Using the system-wide Script Menu, you can organize your plethora of iTunes AppleScripts in nested folders. Here's an article with a few tips on how to get it going.
NEW: Set No Cover
Some of my iTunes tracks don't have "official" artwork, so for these tracks I like to use a graphic that simply says "no cover". Is that weird? Anyway, I got tired of having to locate the graphic each time I wanted to apply it to some tracks, so I wrote Set No Cover. It knows where the graphic is and applies it to the selected tracks. And in case you don't like the graphic supplied--which comes from the All Music Guide website--you can create your own and use the accompanying droplet to convert it to the correct format and save it to the location where the script expects it to be.
File Vault Peculiarities
I often get queries from Correspondents regarding the inability of some AppleScripts (and some of my shareware apps which are AppleScript based) to access files when File Vault is activated. Does "Finder got an error: Can't get name of alias "your_disk_path" number -1728" look familiar? The trouble is that File Vault encrypts your "home" directory. AppleScript cannot penetrate File Vault so you will get an error when you run an AppleScript that attempts to access any files in the home directory. There's no way around this. Isn't that a good thing? However, I suppose that there may be a way of catching the error before the script tries to run; but even so, if you are using File Vault and you are getting errors from AppleScripts, could you just turn File Vault off for a bit while the script needs to work? I dunno. Seems to me you only want File Vault operative when you are not around. Maybe that's a Whole 'Nother AppleScript. I have never used File Vault so I don't know.
NEW: Copy Tracks to Multiple Playlists
Steve Meuse likes to Copy Tracks to Multiple Playlists. Now you can, too! This script will copy the selected tracks to any number of playlists that are choosable (er, I mean "able to be chosen") from a choose from list dialog box.
NEW: Restore Artist 'Last, First...'
Correspondent Will Friedwald wanted to convert a bunch of his old MP3 Artist tags that were of the format 'Last Name, First Name' to 'First Name Last Name'. Restore Artist 'Last, First...', although it doesn't recognize names per se, does recognize the ", " separator and will juxtapose the text on either side of it.
My Aching Email Back Log
I have been severely remiss in answering email queries over the past few weeks and I apologize. If you have sent me a question and I have not responded please re-send and I'll try my best. Please remember that I am not an iTunes Guy but an iTunes AppleScript Guy and if your questions have more to do with using iTunes rather than 'scripting it then I may not get back to you as quickly as you'd like.
That Fixed Header Had To Go
Well, as much as how neat I thought it was, I eliminated the fixed header here at the site. It was just causing too much confusion with scrolling and hitting name anchors correctly. I wanted to keep the search forms and main menu stuff In Yer Face but you'll just have to remember that all that stuff is at the top of every page.
Where've I Been?
It's been a couple of weeks since I've last posted anything. I've been working on my Tex-Edit Plus AppleScripts site and trying to bring that guy into the twenty-first century. But don't worry. If some good stuff turns up for iTunes, I'll get it posted ASAP.
Site Re-Alignment Complete
Frequent visitors will have noticed I have been mooking with the site's design and I'm pretty sure I'm finished messing with the CSS and PHP and HTML and such. Couple of notes:
- 1) This site looks best in KHTML browsers like Safari and Shiira.
- 2) Get a modern browser. If you are still using Internet Explorer 5.23 you are just being silly and we all think you are a Luddite.
- 3) Printing pages from this site is as Easy As Pie. I've spent quite a bit of time formatting the printing CSS. Only the main section of the page will print; no left or right columns. Do a print and click Preview first to see what I mean.
- 4) I've ceased using the "-moz" CSS attributes. Bah!
- 5) Because of the way the top header is "fixed" to the top of the page a very few name anchor ref's will cause the main page to re-locate under the header. However, I've made a JavaScript fix for most name anchor refs.
Doug's Listening To...
I finally got the "Doug's Listening To..." widget to work in non-Gecko browsers. The thing works with an idling AppleScript checking my current iTunes song--you know how that's done, right? The script also uploads artwork and does a bunch of other futzing about before assembling the HTML code for cURL upload to the server. Unfortunately, I had not coerced the assembled HTML to "text" in the AppleScript, and as a result, the raw HTML itself would display in non-Gecko browsers. That'll learn me.
By the way, I often get requests to make that script available, but it's such a convoluted mess and it requires a lot of customization. One of these days I'll get around to it.
Stupid Web Tricks
OK. I probably have the site looking the way it should. But I can't help playing around with a bunch of stuff because I can. So indulge me for a few more days and I'll settle down when I get tired of any goofy effects.
Site Updates
Over the next few days I will be updating the site's structure. It's not a re-design, it's a "re-alignment"! So don't be surprised to see that some pages have a new style and some pages have still got the old style. There's a bit of hand-coding that has to take place and I'm still working out bugs for Opera and other browsers.
Site Changes
Frequent visitors may have detected that I have updated a few things around the site. The search boxes have been stripped down, saving some real estate, and Safari/KHTML browser users (have you tried Shiira yet?) will notice that the search input boxes now use the WebCore-exclusive "search" type attribute for input. This is the same sort of search box used in Safari itself and enables a search history to be saved and provides a reset "x" button once you start typing text in it. I've also updated the main header with some graphics stuff. Something I've been wanting to get around to is designing an AppleScript icon with an iTunes beamed eighth-note glyph on it, so the fruits of that are displayed in the main banner at the top of every page.
NEW: Drop to Make M4V Movies
Drop to Make M4V Movies is an AppleScript "droplet" that will convert movies to ".m4v" (H.264) using QuickTime Pro, save them to your "Movies" folder, and then add them to iTunes.
Requires QuickTime Pro 7.0.3 or higher and iTunes 6 or higher.
NEW: Batch-Delete Playlists
I have a short script on the Missing Menu Commands page that simply lists all users playlists in a choose box so you can select a bunch and delete them. But Batch-Delete Playlists also includes playlist folders and their contents in the choose box, and displays all the playlists in order. Plus, you can batch-delete playlists from iTunes or from the iPod.
The iTMS Album Artwork Finder
A Correspondent turned me on to the iTMS Album Artwork Finder. It displays the 600 x 600 px album artwork for any cover art at the iTunes Music Store. Simply right-click or control-click on the album art shown for an album at the Store and select "Copy iTunes Music Store URL". Go to iTMS Album Artwork Finder and paste the link into the form. In a few moments you get the big ol' artwork. Not always fruitful, depending on the kind of link you enter. Works best with the link from the actual album listing's album art, as in this snap:
UPDATED: Super Remove Dead Tracks v1.5
It's been nearly two years since I've posted Super Remove Dead Tracks, one of the most popular scripts on the site. Time for an update! This script will survey your entire iTunes library for tracks that are no longer available on a local drive (as indicated by a "!" next to their names) and remove them. Additionally, any playlists that subsequently contain no tracks will then be deleted (excepting Smart Playlists and special playlists, such as "Podcasts", "Party Shuffle", and so on, which can't be deleted). This latest version prevents an error that may occur upon completion when some playlists couldn't be deleted.
NEW: Random CD
Rob Covert has submitted Random CD, a script that will assemble a new CD-sized playlist of random tracks from the selected playlist and then initiate the iTunes Burn Disc process. Very clever use of GUI scripting.
UPDATED: Yahoo! Video Search v1.2
Yahoo! Video Search is a script that will allow you to search for videos via the Yahoo! Video Search engine and return the results as episodes in a podcast which is loaded to iTunes.
This latest version can toggle bewteen filtering for QuickTime (.mov) and MPEG (.mpeg or .mpg) files, and has a couple of other minor fixes.
NEW: Yahoo! Video Search
Lookin' for a ton of videos? Get 'em from Yahoo! Run the script Yahoo! Video Search and enter a search query for the Yahoo! Video Search engine. Results are downloaded as podcast episodes to your iTunes. You can decide to "GET" whichever video strikes your fancy.
UPDATED: iTunes Library Manager v4.2.4
Because of some trouble some users were experiencing I have quickly updated iTunes Library Manager to version 4.2.4. The problem occurred for some users when iTLM couldn't correctly access the iTunes Music Library.xml file. This updated version fixes the problem.
UPDATED: iTunes Library Manager v4.2.5
Once again, another quick update to iTunes Library Manager. Several users reported a serious error when creating new back up folders. This error is now fixed in version 4.2.5. All users are encouraged to update!
UPDATED: iTunes Library Manager v4.2.3
iTunes Library Manager has been updated to version 4.2.3. This is basically a maintenance release, although I did fix a problem when sometimes iTunes or the app itself would not return to the front when some routines had completed. There are also some performance tweaks. iTunes Library Manager makes backup copies of the current iTunes Library database and Preferences files, allowing you to easily save multiple iTunes Library and Preferences configurations that can be retrieved and loaded at any time.
iTunes 6.0.1 Released
Well, I was busy all day and didn't notice 'til later that iTunes 6.0.1 had been released. I got it via Software Update and I don't know when it will be available from Apple's download page. It features stability improvements over iTunes 6. If there is anything new AppleScript-wise, I'll post as soon as I know.
RAVE: Not for Nothing But...
Come on, you boys. Transparency is cool!
That Reality Distortion Field Thing Again
This Slate column by Jack Shafer has an interesting perspective on the Press' fascination with Apple products.
NEW: Restore iPod Album Art
A Correspondent inquired whether or not it would be possible to replace the display artwork of some of his iPod tracks--display artwork is the first piece of artwork in the artwork queue--using existing artwork from the corresponding tracks in the iTunes library. Apparently he had removed the artwork to save space, but now wants the artwork back. Sounded feasible to me. Restore iPod Album Art will attempt to find an iTunes library track that contains artwork which corresponds to each selected iPod track and then copies the artwork from the iTunes track to the iPod track. Know what I mean? You should be sure that your selected iPod tracks have the correct artist and album tags (so that corresonding iTunes tracks can be located) and that you have enough room on yer iPod to accommodate the extra space the artwork will take up in each selected iPod audio file.
Two things I discovered this weekend:
If using AppleScript to get the QuickTime version property of QuickTime Pro 7.0.3 it returns 7.0. I think we all see how that is erroneous.
If using AppleScript to get the special kind of the "Podcasts" playlist on the iPod, it returns none. It should presumably return Podcasts.
UPDATED: Join Together v3.0
Now that iTunes 6 has repaired the chapter pointer bug I have updated Join Together to include the old "Pass-Through" option for QuickTime Pro. This script will enable you to join the files of selected iTunes tracks together with Quick Time Pro and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, it will create a "chapterized" audio file of the exported AAC file. This latest version will allow you to join selected files with QT Pro very quickly using the "Pass-Through" export setting, provided the selected files are all AAC and have the same bit rate.
Latest Smart Playlist Criteria
Maybe I missed this in iTunes 5? But you can now use "Description", "Category", and "Podcast" tags as selector criteria when creating Smart Playlists.
iTunes 6 Released
Apple has released iTunes 6, a new version of iTunes with the ability to download and store videos. It requires QuickTime 7.0.3 for video playback. Oh yeah, and 5th generation iPods with video playback were announced today as well. I will have more soon.
Best Steve Performance In A Press Event
If you haven't seen the "One more thing..." press event via QT, you gotta check it out. Steve's lovin' it.
Chapter Pointer Bug Fixed in iTunes 6
iTunes 5 introduced a bug which prevented audio files created using QuickTime Pro's "Pass-Through" export options from being recognized correctly. They fixed it! Consequently, I will have an updated version of "Join Together" posted very soon which utilizes the faster "Pass-Through" export option.
UPDATED: Save Album Art to Album Folder v1.2
I have updated Save Album Art to Album Folder, a script that will export the artwork of selected tracks to a track's Album folder (or, at least its file's parent folder) or a user-selected folder. It now gives you the option of exporting each artwork as PNG or JPEG no matter what the original format. A Correspondent requested the mod so he could re-apply artwork as JPEG for use with his Archos MP3 player. As he wrote: It seems that when you add JPEG artwork using right click + "Paste" [or control-click] in the iTunes artwork area it will convert artwork to PNG. But if you add your Artwork by drag'n'dropping a JPEG file it keeps JPEG format. The JPEG format is also kept if you choose to add the artwork in the track Information window. Well whadaya know.
UPDATED: Mail Signature from iTunes
John C. Welch has updated his Mail Signature from iTunes script to account for a bug in the old version. However, this script can only be used with Mac OS X before 10.4 since the scriping of Mail sigs seems to be busted nowadays.
GUI Scripting iTunes
A Correspondent recently sent me a script that used GUI Scripting with iTunes. I have never gotten GUI Scripting to work very well with iTunes. Seems I left out an important component: activating iTunes. Thus, this will work when a playlist is selected:
tell application "iTunes" to activate tell application "System Events" try tell process "iTunes" click the menu item "Burn Playlist to Disc" of the menu "File" of menu bar 1 end tell end try end tell
I haven't done much else, like trying to script info boxes and such. But I'll let you know.
Long John Baldry Lives!
For those of you following along (and who may care about the Little Things That Make The Day Worth Waking Up For), my Long John Baldry CDs, "It Ain't Easy" and "Everything Stops For Tea", arrived today!
Updated: Import iPod Audio Files v1.10
Import iPod Audio Files has now been updated to include Audible files--they have an ".aa" extension. Also, the ProgBar progress indicator displays the name of the track rather than its filename so as to avoid seeing those random four-character iPod filenames.
Updated: Art To iChat v1.1
This script continuously updates your iChat Buddy Icon with the arrtwork of the currently playing iTunes track. The latest version of Art to iChat uses the startup disk's temporary folder rather than the one from the user domain for temporary storage. This seems to have helped some users.
Updated: Export Arrtwork to iPhoto v1.2
Export Artwork to iPhoto lets you export the artwork of the selected tracks--or tracks of the selected Playlist--to iPhoto 5, where they will also be copied to a "My iTunes Artwork" album. The latest version changes the location of the temp folder to prevent potential "Unreadable" error; detects if artwork already exists in iPhoto using Artist-Album tags and won't re-import; now an application.
Updated: Copy Tag Info Tracks to Tracks v1.3
Copy Tag Info Tracks to Tracks now handles the Comment tag of selected tracks. Thanks to D.F. Bills for the suggestion.
Updated: CD Text to CD Info v1.2
Correspondent Paul Linford kept getting inconsistent results with CD Text to CD Info, until we discovered that Panther and Tiger require different syntax for the drutil commands the script relies on. The latest version of the script, which attempts to use an audio CD's CD Text data to populate the CD tags, now works correctly in both Panther and Tiger.
Updated: Copy Tag Info Tracks to Tracks v1.2.1
Copy Tag Info Tracks to Tracks has been updated to correct a Boneheaded Programmer Error. It now correctly copies artwork from selected tracks to the second set of tracks.
GAP.com Response, FWIW
As you may have heard, the GAP's website (along with Old Navy and Banana Republic websites, who are all under the same corporate umbrella) no longer support Safari. I complained, and, for what it's worth, received this:
Dear Mr. Adams,
Thank you for your e-mail. We apologize for the difficulties you experienced on our site. Currently we support AOL, Netscape Navigator, Microsoft Internet Explorer, and Firefox for PC users. Unfortunately, we temporarily do not support Microsoft Internet Explorer for Macintosh. Our developers are aware of this issue and hope to have this resolved soon.
If you continue to experience problems with any of the browsers that we support, please check your browser settings to confirm that they meet our requirements. For Mac users having difficulties using Safari, you can download Firefox for free at Mozilla.org.
If we may be of further assistance, please contact us via e-mail at email@example.com or by calling 1-800-GAP-STYLE. Our Customer Service Consultants are available 24 hours a day for your convenience.
Customer Service Consultant
Since I have Safari's Debug menu enabled it's not really a Big Problem...but it's The Principle Of The Thing!
Updated: Copy Tag Info Tracks to Tracks v1.2
A Correspondent suggested adding the ability to copy artwork and year data in the script Copy Tag Info Tracks to Tracks, so I have updated it to do so. I also added the genre tag. This script will copy specfic tag data from the selected tracks to a second set of selected tracks. You can copy any combination of Song Name, Artist, Album, Composer, Last Played Date, Rating, Play Count, Artwork, Genre, and Year.
New: CD Text to CD Info
"CD Text" is available in some consumer audio CDs and also available to add with some burning software ("WaveBurner" and "Toast" as far as I know). "CD Text" contains extra text info about the files on the CD including Artist, Album, Composer, Songwriter, Track Title, and Genre info. CD Text to CD Info will attempt to get the "CD Text" information from the selected audio CD in iTunes and apply it to the CD's disc and track tags in iTunes.
Updated: trackReporter v1.2
Bret Van Horn's trackReporter has been updated. This script writes the currently playing track and artist to a local text file and then uploads that file to an FTP server using cURL. The latest version addresses a potential problem with text encoding on the artist name and song title.
New: Lyrics to Text Edit
If an AppleScript can save me from making even just a single click, you know I'm on it. While I'm not the most frequent user of the Lyrics tag, having to select a song, Command-I, and click the Lyrics Tab is too many clicks for me. Lyrics to TextEdit will display the lyrics of the current or selected track(s) in a new TextEdit document and bring TextEdit to the front. Give the thing a shortcut key (Command-Option-L works well at my house) and, voila: one-click lyrics access.
Missing Menu Commands Updated
I've added the script "Pretend We Played This Today" to the Missing Menu Commands page. Select some tracks and run this script; it will increase each selected track's play count and set its last played date to "now". See, I have a Smart Playlist that live updates to tracks not played in the last 8 weeks. If I see some songs I don't want in the playlist, I run this script on 'em and they vacate.
New: Artwork=1 BPM
Here's one I've been sitting on for a long time. There's no way for Smart Playlist criteria to detect if a track has artwork. So I wrote a script (for my own self) that set the BPM tag to "1" if selected tracks had artwork. Then I created a Smart Playlist that uses "BPM is 1" to pull in tracks with artwork. Duh. Today I get iChatted by a user who wanted to do something similar, so I had to own up to the script and thought I might as well post it. Artwork=1 BPM. Now, if you Really Use the BPM tag for Beats Per Minute then you don't want this script. But, if you're like me and see the BPM tag as superfluous, this is a great way to use it for Something Advantageous. It may also give you ideas for other BPM settings...sort of like a secondary Genre tag or something. Whatever. It's Friday.
Updated: Import iPod Audio Files v1.9
Import iPod Audio Files has been updated to version 1.9. This script will allow you to select tracks on the iPod and import their files to your Music folder and iTunes library. This latest version streamlines the routine to locate your designated Music folder.
Some users have recently reported that this script will cease functioning after only one file is imported. I'd like to hear more about that if you experience the same problem.
System Events and Key Codes
Key codes are the numeric codes representing the keys on your keyboard. You can use these numbers to emulate key presses via AppleScript with "System Events", provided you also have the "Enable access for assistive devices" option checked in the "Universal Access" System Preference. Using these key codes, you can have AppleScript perform some shortcut actions, which, on occasion, may be more advantageous than scripting the actual action. Indeed, as far as iTunes is concerned, some of these shortcut actions aren't possible with AppleScript without using key codes. For instance, opening a Get Info Window or the View Options window. Here's an article describing how to get the most from key codes, AppleScript, and iTunes.
Popular Designation
Because I got bored today, I decided to attach a image to those scripts which have had 5000 or more downloads. This is an arbitrary number, since the total downloads of a script may not actually reflect its popularity, just how many times its various incarnations have been downloaded. But, like I said, I was bored.
AppleScripts As Automator Plug-Ins
Just posted AppleScripts As Automator Plug-Ins, an article that briefly describes how to use Automator's "Run AppleScript" Action to create Plug-Ins which can be accessed from a Control-click in the Finder or via the Scripts Menu.
Latest Podcast Now Available
The latest edition of my podcast is now available. To subscribe, drag this link to you podcasting software. To subscribe via the iTunes Music Store, go here.
Updated: Make UN-Bookmarkable v2.0
iTunes 5 has a simple way of making tracks "bookmarkable" with the "Remember playback position" option, and I had created Selected Tracks Bookmarkable to change this setting for selected files. Previous to iTunes 5, the "Make Bookmarkable" script served this purpose by changing a file's file type. Make UN-Bookmarkable has been updated to "un-do" either of these settings on the selected tracks.
New: No Lyrics to Playlist
Correspondent Herwin Lans has submitted No Lyrics to Playlist which will copy tracks in the main library that don't have lyrics to a new playlist called "No Lyrics". The download also contains another script which will clear the "No Lyrics" playlist of tracks which you have added lyrics to.
Not Fer Nothin' But: Shuffle
I know Apple says they've made shuffle "more random" in iTunes 5.0.1 -- or less random, depending on how you view it -- but I still get separations between Artists as short as four or five songs even with the "Less Likely" slider maxxed to the right. An Option-click on the shuffle button once or five times tidies it up somewhat. I don't really care, actually. I know what "random" means, and if The Faces show up every few songs in a Smart Playlist set to live update songs not played in the last 8 weeks, well, I guess that's how it goes. Fact is, expecting Apple to accommodate our musical tastes is pretty much wishful thinking. Why be picky? iTunes can't network to the "Musical Taste" section of your brain; you can't expect a piece of software to know what you want to listen to; iTunes provides several ways of sculpting a playlist to your taste, but You Gotta Work On It. It Ain't Automatic and can't be.
Remember those old record changers? You'd drop five or six vinyl discs onto the changer (a disc from Elton John's "Goodbye Yellow Brick Road" always had to be included for some reason) and after a side played, the next disc dropped down. And I thought THAT was amazing. Ruined a lot of stylii due to the angle of the tonearm, but, MAN. Party music for hours.
We've come so far and people still aren't satisfied.
Missing Menu Commands Page Updated
I've just updated the Missing Menu Commands page with a revised "Current Track to (Select Playlist)" and a new "Selected Tracks to (Select Playlist)". The latter evolved out of my frustration of selecting tracks in the main browser to copy to a playlist, and then having to scroll, page up and down, home, end and all that stuff in the Source column to get the target playlist in view, only to very often lose my selections. Don't forget to add Shortcut keys!
Updated: Join Together v2.1
Despite iTunes 5.0.1 not fixing the multi-session bug, I have updated Join Together to version 2.1. This script will enable you to join the files of selected iTunes tracks together with Quick Time Pro and export them as a single AAC file/track. Optionally, with Apple's ChapterTool application installed, it will create a "chapterized" audio file of the exported AAC file.
This latest version supplies some timeout and error protection, restores the ability to concatenate MP3s of the same bit rate (though this type of file cannot be "chapterized), ensures files open in separate QuickTime Pro windows, prohibits the naming of the joined track using one of the selected tracks' names, and other code enhancements.
New: Create Archive of Selected
Create Archive of Selected will copy the files of the selected tracks to a new folder in a location you specify and create a .zip archive of the folder.
New: Enter Category Text for Selected
iTunes 5 introduced a new "Category" track tag. Unfortunately, the tag does not appear in a track's Get Info window, even though it is editable. Enter Category Text for Selected will allow you to enter some text and have it appear in the Category tag for each of the selected tracks.
New: Delete Lyrics
Correspondent "weiriuc" came up with Delete Lyrics after some lyric-gathering software he was using grabbed the wrong lyrics. The script will clear the Lyrics tag of the selected tracks.
iTunes 5.0.1 Released
Apple has released iTunes 5.0.1. As of now (Tuesday afternoon) , it's only available from Software Update, but I imagine it will be available from Apple's iTunes download page shortly.
No fix for the infamous multi-edit session bug (audio files joined by QuickTime Pro using "Pass-Through" settings are incorrectly recognized by iTunes).
New: Enter Description Text for Selected
Hot on the heels of iTunes 5.0.1, Enter Description Text for Selected will allow you to enter text to the selected tracks' Description tag. There apparently was a bug in iTunes 5 that prohibited this.
New: Enter Long Description Text for Selected
And why not? Although the "Long Description" tag is not visible in iTunes, it is used by podcasters. So along with the other two scripts I posted today for Category and Description, here's Enter Long Description Text for Selected.
Playlist Magazine Exclusives
Last week I made a collection of scripts available exclusively to visitors of Playlistmag.com. Just so ya know, these Playlist-exclusive scripts have been updated. So head over there and grab 'em while their hot! And while you're there, check out what else Playlist has to offer, why don't you?
iTunes 5 Update Next Week?
C|NET is reporting that Apple plans an update to iTunes 5 next week.
New: Art to iChat
There's probably a billion apps like this around, but after the rigors of working on "Join Together", it was just fun to make. Art to iChat will use the artwork of the currently playing iTunes track as your iChat's Buddy icon while your status is "Available". Your original Buddy icon will be restored on quit, or when your status changes to "Away", or when the current track doesn't contain artwork. I use it it conjunction with iChat 2.0's "Current iTunes Track" status message.
Updated: Join Together v2.0
I have updated Join Together to version 2.0. This script applet will enable you to join the files of selected iTunes tracks together with Quick Time Pro and export them as a single AAC file/track. Optionally, with Apple's "ChapterTool" application installed, you can then create a "chapterized" audio file of the exported AAC file.
This latest version accepts any combination of MP3 or AAC tracks for joining and export as AAC with QTPro; exports from QTPro using AAC-LC settings, rather than the "Pass Through" settings used in previous versions; makes final track bookmarkable (requires iTunes 5 or better); converts European time formats for ChapterTool compatability, i.e: 12:34,5678 to 12:34.5678; adds option to supply Composer tag; other minor improvements.
As you may have read in my previous posts, iTunes 5 has trouble with files created with earlier versions of Join Together, whereby only the first of the joined files is recognized. I have been told to assume that this is a bug in iTunes 5, although this hasn't been completely confirmed. As a result, the script no longer uses the "Pass Through" Audio setting in QuickTime Pro, but enables you to select a specific bit rate. This increases the time it takes QTPro to export the final file, but it's a sure-thing that the final file will play correctly in iTunes 5.
Thanks to the many Correspondents who provided excellent feedback and encouragement!
New: Get Lyrical
Well, I knew it wouldn't take long before someone came up with something like this. Chris Shull sent me Get Lyrical, a script that will use the track name and artist of the current or selected track as the basis for a lyric search of searchlyrics.org and store the result in the lyrics tag. iTunes 5 is required. Chris is going to continue improving it so look for updates soon.
So THAT's How They Did It
"The iPod nano is a sham. They haven't made the iPod smaller; they've made Steve Jobs much, much larger." Details.
On CD Insert
Correspondent Gary Wagman wants to know (as did I) where the heck the "On CD Insert" option went in iTunes 5 Preferences. It is now located under the "Importing" tab in the Advanced Preferences.
New: Set Selected Tracks Shuffle
My friend Kirk McElhearn asked for a script that would batch-enable/disable the iTunes 5 "Skip when shuffling" option for the selected tracks. Set Selected Tracks Shuffle does so.
Paul Withey Maintains His Sense of Humor
Long-time Correspondent Paul Withey sent this along, calling it "Sing Along WIth Mac":
tell application "iTunes" if player state is playing then tell current track set TheLyrics to lyrics if TheLyrics is "" then return end tell end if end tell say TheLyrics
iTunes 5 only, of course. And you need to have lyrics in there.
Latest Progress on Join Together Bug
Since upgrading to iTunes 5, any files I created with my script "Join Together and Chapterize" play incorrectly. The effect is that only the first chapter is recognized. After investigating a little bit I have determined this:
- The selected files are joined correctly by QuickTime Pro. However, when the final joined file is exported with the "m4a" extension, iTunes 5 clearly does not recognize any portion of the file except the first file, whether the file has been "chapterized" or not.
- If the joined file is exported from QuickTime with a "mp4" extension, iTunes 5 recognizes it as a QuickTime Movie file and can access/play the entire file. However, if this "mp4" file is "chapterized", its format is set to AAC, and again, iTunes 5 does not recognize more than the first of the joined files.
I have tried various combinations of extensions but it always comes down to iTunes 5 not recognizing any more than the first of the joined files. My assumption is that iTunes 5 now is much more "fussy" about AAC files. I'll continue to investiagte the situation. Note that creating a "chapterized" file from a single AAC file still works; it's just that files joined and exported as MPEG4 from QuickTime Pro fail.
Join Together Also...
Hmmm. Some success with using new QuickTime Pro export settings. Rather than use "Pass Through", using actual AAC-LC settings seems to work. However, the export process takes an incredibly long time. More as it develops.
Hmm, QT 7.0.2 Released
Apple has released an update to QuickTime.
Progress on Join Together, Part 2
I was hopeful that the update to QTPro (7.0.2) would update some components that made "Join Together" files work in iTunes 5. But no dice. However, I have managed to get an updated version of "Join Together" to go and work correctly. Unfortunately, exporting AAC files from QTP takes a while. I had to create export file settings files for each bit rate, which are selectable from the script. Works fine. Even makes the final file bookmarkable in iTunes 5. I'll run some more tests and try to have an update available soon.
iTunes 5 Released
iTunes 5.0 was released on September 7, 2005 at an Apple Special Event in San Francisco's Moscone Center, along with the Motorola ROKR iPod/cell phone and iPod nano. New features in iTunes 5 include improved search capabilities, "Smart Shuffle" to provide more control over shuffle by artist and album, and parental controls to restrict downloading of iTMS music with explicit lyrics. iTunes 5 sports a new "shinier" metallic look.
I'll be providing info on AppleScript ehancements and changes on this page.
Dump Lyrics to File
Correspondent Sam Elowitch inspired this script to write lyrics from the current track in iTunes 5 to a file on the Desktop which will open in Text Edit:
set target_folder to (path to desktop from user domain) as string set lyric_file to "" tell application "iTunes" if player state is playing then tell current track set TheLyrics to lyrics if TheLyrics is "" then return set nom to name set art to artist end tell end if end tell set TheLyrics to (""" & nom & """ & return & art & return & return & TheLyrics) as string set lyric_file to (target_folder & "Current Lyrics") as string try set fileRef to open for access file lyric_file with write permission write TheLyrics to the fileRef starting at 0 as Unicode text close access the fileRef on error close access the fileRef end try tell application "TextEdit" open lyric_file activate end tell
Mod it if you like. Thanks, Sam.
New: Selected Tracks Bookmarkable
iTunes 5 will let you set any to track to be bookmarkable, not just AACs. Selected Tracks Bookmarkable will let you select some files and make them bookmarkable. Requires iTunes 5.
Chapterized Tracks in iTunes 5
My script Join Together has a problem with iTunes 5--at least, I hadn't experienced it with iTunes 4.9. After joining selected AAC tracks with QuickTime Pro the finalized file will load into iTunes. However, only the first song seems to be recognized in the joined file. If you have opted to "chapterize" the joined file the effect is such that when you select a "chapter", the next track in the playlist plays. Other joined tracks are not recognized. In fact, any file created with Join Together behaves the same way, whether I created it with iTunes 4.9 or iTunes 5. I am investigating.
New: Save Album Art to Album Folder
Yet another...You know, those of us who have been trying to write scripts that dump a batch of artwork to the ol' hard drive have run into a "out of memory error" so many times. I finally beat that error and have come up with Save Album Art to Album Folder. This script applet will dump the artwork of the selected tracks--or tracks in the selected playlist--to each track's file's folder, or en masse to a folder you select. Each graphics file will be re-scaled (the default is 300 x 300) and the image will be used as the file's icon. Have a look at the Read Me for more info on making your own mods.
Script Editor Help Help
Do you suppose my copy of Script Editor is trying to tell me something?
If you have any ideas on how to fix this, let me know. Short of a re-install, I think I've tried everything.
...And Help is Found
Correspondent C. Posey writes in my response to my double-Help Menu dilemma: "I had this same exact problem of 2 Help menus in several of my apps after updating to Tiger. Finally found the solution. It involved an older, incompatible version of DivX plugin I had installed.
Remove "/Library/QuickTime/DivX 5.component" or it may be located in ~/Library/Quicktime and then restart your apps and I think that will solve your problem. Then if you want to re-enable DivX - try the DivX Fusion plugin - has been working perfect for me in Tiger. Is currently beta and free."
Worked like a charm!
New: Song Title Articles to the Rear
When you sort a playlist by Artist, iTunes conveniently ignores the word "The" that may appear as the first word in a band's name. Thus, "The Beatles" show up in the B's and "The Ramones" show up in the R's. I believe this is the only sorting column that behaves this way. Because this effect doesn't work with Song Titles, I wrote Song Title Articles to the Rear. This script will transpose the initial "The" or "A" to the end of a Song Title among the selected tracks. So, "The Wall Street Shuffle" becomes "Wall Street Shuffle, The" and "A New Day Yesterday" becomes "New Day Yesterday, A". Additionally, you can edit the script to include or remove "acceptable" words. Currently, only initial "the" and "a"--case being insignificant--are targeted. Works with iPod tracks as well as library tracks. Note that changing the Song Title will also change the file name, too, if you have "Keep iTunes Music Folder organized" checked in Advanced Preferences.
Latest Podcast Now Available
My latest podcast is now ready for you to download. You can subscribe to it by copying this link to your podcasting software. It should also be available from the Podcast section of the iTunes Music Store.
Fixed the Search Results Page Links
If you have used the "Search Scripts" form there on the upper-left and the results had totaled more than a single page, you may have noticed that the links at the bottom of the search results pages produced a "No results found" error. Well, I've fixed that and the page-bottom links should work correctly now.
Not For Nothin', But...
Someone took this picture--which I cropped a bit--of me and my 10 year old daughter at a wedding we attended in late June. The picture has nothing to do with AppleScripting, but everything to do with what I do everyday. Thought you might like to see.
Vacation's Over
My family and I took a few days off last week for a camping trip on Cape Cod, Massachusetts. Needless to say, on my return I was confronted with a lot of un-read email, RSS feeds, forum digests, and the like. Since we neglected to leave enough pans of cat litter for the duration, there were also some other surprises around the house when we got back. So, first things first, and then I will be playing so catch-up on the email. Thanks for being patient.
And Where's The T-Shirt?
It was sorta old news when MacOSXRumors published this story on Friday about Apple trademarking the phrase "Made for iPod" and its corresponding logo. My question is: who can use the logo and for what purposes? Can I stick it next to my links for my podcast? And where do I get a coffee mug and belt buckle emblazoned with it?
Robert Moog
Oh Man. Robert Moog is gone. Where are today's innovators? Sigh.
My Old iPod
My wife owns an iPod Mini. My daughter a Shuffle. And me? I still have my trusty First Generation 5GB. What is it, almost four years old now? You know what? The thing just runs. Never let the battery drain, mount it when you're not using it. Clean with warm soapy water on a paper towel. Don't bring it to the beach where sand can get into the scroll wheel. (Although, I do bring it to the beach and sand does get into the scroll wheel. But after a few rotations it all falls out. Happens every Summer.) I just cleaned it up now and except for a few scratches that I gave it courtesy of occupying the same pocket with my car keys and jack knife the damn thing looks brand new.
And to think I paid $400 for it back then.
"My iPod?well, one of my iPods..."
Apple's Mighty Mouse
Despite the negative stuff you may have seen, Mighty Mouse works great at my house. I ditched the Logitech.
Disc or Disk?
In case you need to know: What's the difference between a "disc" and a "disk"?
Track or File?
Now, here's my pet peeve. A track is a thing in iTunes. A file is a thing in the Finder. iTunes does not contain files, it contains tracks, which are pointers to files. It is easy to confuse the two because you add files to iTunes; but when you do they are represented as tracks.
Apple Knowledge Base Articles Link
To give myself something interesting to do before breakfast this morning, I got rid of the iTMS feeds link in the right corner of the site's header and replaced it with a link to the most recent iTunes, iPod, QuickTime, and Mac OS X Apple Knowledge Base articles. Clicking the k-base link will open a new window displaying the K-Base titles and links to them. The default list is the iTunes article listing, but a pop-up will let you select the iPod, QT, and Mac OS X article listings. Additionally, the window contains a link to the main Knowledge Base search page.
Mac Tutorials Boogies With iTunes
This Mac Tutorials article has a neat regimen for using Smart Playlists for organizing your iTunes Library.
Getting Correct Track Tag Info
In a posting at the Macworld Forums, Correspondent Graeme Smith advises: " Sometimes the tags that iTunes grabs from Gracenote when you rip a CD aren't very good: misspellings and stuff. But on the iTMS the tags are usually correct. So if the album your ripping is on the Music Store you can just copy it from there. To do that you'll need this Applescript ("Copy Tag Info Tracks to Tracks"). First find the album on the Music Store then make a new playlist. Select all the songs on the Music Store and drag them to the playlist. Then select them all and run the script. That saves me a lot of time editing meta data."
New: Sync Playlist Files to Folder
The script Sync Playlist Files to Folder when run will copy the files of the tracks of a designated playlist to a designated folder (you must edit the script to "hard-code" these two settings). On subsequent runs, the script will remove files from the designated folder that are not in the designated playlist any longer and then add the files of the extant tracks of the designated playlist to the designated folder. It's "Sorta-Syncing". This is quite useful if you have it set up to run via cron or at startup, or run it manually on a regular schedule, or use a macro utility like iKey to get it to go. Many thanks to Correspondent James White for the protracted beta-testing.
What Have I Released Lately?
Listen: I send PRs out to the websites I *consider* to be interested in the stuff I post. But don't count on their editors to be interested (you'd be amazed). If you want to stay updated on what I release on a relatively immediate basis grab my RSS feed. Sheesh.
Updated: iCal Calling iTunes!
After several months of procrastination (oh, and testing, too) I have finally released iCal Calling iTunes! v4.0. This version will work with Tiger and iCal v2.0 or better. It's a free upgrade to registered users, just dig up that ol' registration code and re-enter it.
New: Unique To This iPod Playlist
Rob Woman's Unique To This iPod Playlist solves a domestic problem: he wanted to delete track's from his iPod that previously belonged to his wife (I assume she get her own iPod!) but which were not in any of his iPod playlists. The script will determine which tracks in the selected iPod playlist have not been assigned to any OTHER iPod playlists.
New: Amazon Lookup
Amazon Lookup from Josh Thomas is a handy search script that uses info from the selected or playing track as the criteria for a search of Amazon for the track's Album.
New: Rip These To My Mobile
Ken Tidwell loads his Motorola E6801's SD card with tracks from iTunes using Rip These To My Mobile. This script may work with other phone and player devices; at the very least, it should inspire others to create scripts that do.
My Tremendous Aching Backlog
Today I've been able to post just three new scripts that are among a dozen or so I have received over the past few months. Because of Summertime activities, family scrambings, workload, work on my own scripts, and other time-consuming activities I'm afraid i just haven't had the time to test and post the user-submitted scripts I've been getting lately. I hope to rectify this over the next few days.
Shiira Browser
My old pal Charles W. Moore did a nice run-down of popular Mac browsers at AppleLinks recently. (I like Charles 'cuz he's an old-school Mac-guy, and I mean that in a very complimentary way 'cuz I'm and old-school Mac-guy.) One browser I wasn't familiar with, which Charles rates at #2, is Shiira, a Japanese browser which is based on Apple's Safari WebKit. Very small, very fast, and has some great features, like a sidebar menu for Bookmarks, History, and Downloads; Tab Expos? (you can imagine!); the ability to share your Safari and/or Firefox bookmarks; modest AppleScript support. Nice customization flava also. I've been using it along side Safari and may just migrate over to it exclusively. I'm anxious to see how it develops. It's quite good and I recommend you check it out.
Join Together Stuff
Several European users of Join Together have reported that their number localization of starttimes chokes Chapter Tool. What I see as, for example, "12:34.5678", they see as "12:34,5678". Now, you can wait for an update (the update will have a few additional new features) or you can stick a little code into your v1.1.1 version. In the "fig_time" handler, insert this code before the final return command:
if final_time contains "," then set final_time to my replace_chars(final_time, ",", ".") return final_time
I haven't tested this, so I'd be interested to know if it works as I imagine.
A couple of users opted to edit the script so that the fractional portion of durations are ignored. However, as you tally the time durations, you will find that chapter pointers are progressively incorrect by a few seconds--you're not adding the fractions of a second! In a large joined file your later chapter pointers could be off by as much as four to five or more seconds.
Speakers? Sure!
Just bought me a pair of Behringer TRUTH B2031P speaks. OK, not exactly desktop speaks, but MAN are they the Most Awesomest Near-Fields. I've been running My Best Crazy audio through 'em and I really like the clean sound. You may be able to get yer own fer less then $200. Do the search. They are large (10 X 10.5 x 16 inch-wise). Be warned: they are 4 OHM, so get a couple of 4OHM resistors and hook 'em in series to the hot lead so yer 8OHM amp can deal with 'em. *So* the Best. Yep.
Macworld Magazine September 2005
Jonathan Seff asked me to contribute 10 of my favorite AppleScripts for iTunes to an edition of Macworld Magazine. I presumed it was to appear in the August issue, but, what with That Intel Thing and All, it was pushed up to the September issue. Wanna see what scripts I contributed? Jonathan and the Macworld staff did a nice job with the descriptions and a few screenshots.
Multi-Import of CD Tracks
Christopher Breen at Playlist Magazine has posted a great tutorial on How to multi-import audio files which uses the script Multi-Import to import Apple Lossless and AAC files from CD in the same ripping session. Also, along the same lines, you may be interested in the script collection Lossless to AAC Workflow which assist with importing/managing Apple Lossless audio files and sending converted AAC copies to iPod.
Mighty Mouse
What. Did I order one? You bet!
Updated: CDDB Safari Kit v2.3.1
CDDB Safari Kit has been updated to version 2.3.1 to accommodate recent changes in Gracenote's pages.
Updated: Join Together v1.1.1
Another update to Join Together, now up to version 1.1.1. This applet will join selected MP3 or AAC tracks together sequentially (QT Pro 7 required for AAC joins), and optionally chapterizes them with Apple's ChapterTool. This update corrects a rare occurrence of a "file not found" error.
Updated: Playlist Tracks to ChapterTool XML v1.2
I've used the same routines from the "Join Together" script in Playlist Tracks to ChapterTool XML for creating the XML file required for ChapterTool, and thus need to update it in tandem with "Join Together". This latest version converts some common XML entities correctly.
Long John Baldry, 1941 - 2005
One of my favorite British R&B artists has passed away. "Long John" Baldry died on July 21 at a Vancouver hospital of a chest infection he had battling over the past four months. Long John was a part of The Hoochie Koochie Men and later Steampacket in the '60s along with Rod Stewart, Mickey Waller, and Brian Auger. After Steampacket broke up, Baldry joined up with Bluesology with Elton John among others. Later in the '70s, after a string of British pop hits, he re-united with Stewart and Faces regulars and Elton John (and a contingent of super British musicians) to produce two landmark albums, "Everything Stops for Tea" and "It Ain't Easy", which contained some of the best British R&B, folk, and blooze evah. He was planning to tour this year with a new band, and those albums have been slated for re-release. Long John made quite an impression on me when I was a teen and I wore those records out. Hope he's looked up Ronnie Lane and hope they're doing some jamming.
Updated: Join Together v1.1
I have updated Join Together to version 1.1. This applet will join the files of selected MP3 or unprotected AAC tracks together into a single file, then optionally create a "chapterized" version of the joined file using "ChapterTool" (QuickTime Pro 7 is required for AAC joins). I fixed a bug having to do with XML entities. Also, I threw some timeouts around some of the routines that will allow those routines to finish properly. Apparenly, very large files were taking too long to be moved or copied and a "not found" error would be generated. Let me know if this helps. Finally, I changed the name of the working directory the script creates to "_temp_join_folder", rather than use the playlist name. Originally I had something else in mind when I set it up that way, but some characters in the playlist name could have caused a problem with the folder creation.
Updated: Playlist Tracks to ChapterTool XML v1.1
I have updated Playlist Tracks to ChapterTool XML to v1.1. This script creates an XML file for use with Apple's ChapterTool by using info from selected tracks as the "titles" and generating "starttimes". If you use "ChapterTool", you know what I'm talking about. I found that by using Spotlight I could get a more accurate timing of the tracks--to the one-millionth of a second in some cases! Also, I have fixed a problem with Unicode text in Song names, although I am cautiously dubious about this fix; I have seen no troubles here with Unicode after making the fix, but....
New: Join Together
I've been working on creating an AppleScript that joins selected tracks together, be they MP3 or AAC, and then uses ChapterTool to create an enhanced AAC audio file of the joined tracks (it doesn't create enhanced files from an MP3 joined track, but still it will join MP3 tracks together as one). The result is Join Together. This is an applet that, first, let's you join MP3 or AAC tracks together (QT Pro is required for the AACs) and then then optionally let's you create a "chapterized" audio file--that is, an enhanced audio file--using Apple's "ChapterTool". Correspondent David Duke clued me into using QT Pro for joining AACs. MP3s use the UNIX 'cat' command. But ANYway...after the joined track is complete the script will use "ChapterTool" to create an enhanced "chapterized" version of the joined track, enabling iTunes 4.9 to skip to the various songs that have been joined. This is v1.0 and works great at my house. Of course, there may be exceptions so let me know.
ChapterTool Trivia
Know what? While Apple's ChapterTool says it requires a MM:SS format for the "startimes"...Damn! You can have something as esoteric as "38:49.603333333333"!
Correspondent Logan Browne let me know that because of an AAC's QuickTime enclosures, the UNIX cat command will be unable to join them as a single file. Well, that settles that, I suppose.
New Scripts From Wooden Brain
Longtime contributor and Correspondent Wooden Brain Concepts has updated his "WBC iTunes Scripts Collection" to v1.1. The collection includes WBC iTunes Suite for Salling Clicker, WBC iTunes Hot Keys Set, WBC iTunes Scripts for Big Cat, WBC iTunes Meets GeekTool, and WBC Grab Bag scripts (mostly for ID3 tag clean-up other miscellaneous scripts).
New: Playlist Tracks to ChapterTool XML
Playlist Tracks to ChapterTool XML will allow you to select a playlist, or tracks in a playlist, and use those tracks' names and times in creating a "basic" XML file for use with creating a "gapless" chapterized audio file using Apple's ChapterTool. The XML file created will still need to be edited to include artwork or links. You should be familiar with ChapterTool because I'm afraid I can't tutor you on it! See this great tutorial.
Does anyone question the fact that "Doug" begins with the letter "Duh"?
Just installed Mac OS X 10.4.2 (and iSync update) via Software Update. So...did I read what the latest changes are? Don't answer that. So far, so good. But--drat--where, how, who do I get to read about latest changes? Probably know later tonight, huh?
Thank MacNN
Here 'tis. And here is the official Apple doc.
Updated: Flip Arrow Link Action v1.1
Flip Arrow Link Action is a script that will invert the actions of the Music Store Arrow Links in your iTunes library. Normally, a click on an arrow adjacent to a particular tag will search the iTunes Music Store using that tag; when you Option-click, the search is performed on your own library. This script simply re-sets a preference file setting to reverse these actions. This latest update accounts for the preference file being re-written when updating iTunes which eliminates the properties the script reads and writes. In other words, it should work for you again.
Re: Track Splicer
"Track Splicer" was written by J. Gill awhile back. Unfortunately, it seems, that the routines it uses no longer work in Tiger--Mac OS X 10.4.x. I have been messing with the same commands in order to write a script that creates a gapless-Chapterized file of selected tracks. However, no matter how I approach it, "cat"-ing m4a files--"cat" is the UNIX command that can append files together--just Does Not Work. Your thoughts?
Latest Podcast Now Available
My latest podcast is now available. I used ChapterTool to integrate chapters and a link to the Shownotes. But here's the thing: NetNewsWire sees the enclosure as a protected AAC file, and downloads it as "dougspodcast_050708.m4a.mp4"! (If you subscribe from the iTMS all seems to go well.) Now, I assume this has to do with setting the "type" in the enclosure tags. Right now I'm using "audio/aac". So, what is the type of a "chapterized" m4a file? Should I rename the audio file to include the mp4 extension?
More Podcast Stuff
A great tutorial on creating podcasts with Apple's ChapterTool is located here. Also explained is how to use ChapterTool to create indexed/gapless joined tracks using Gijs van den Heuvel's PodCastEnhancer. PodCastEnhancer pretty much automates using ChapterTool, essentially helping you to create the required XML file with the pointers to chapter times, links, and titles. I incorporated a similar script routine into my own podcast workflow; it just repeats a dialog asking for chapter names and times, then writes out the XML file. If you download my latest 'cast, or check out Apple's New Music Tuesday 'cast, you'll see how chapters work.
Also, Logan Browne has created a similar script called Export As XML Chapters (that's a direct download link). He writes: "This allows you to create a single m4a file from a CD and then specify named bookmarks in the file for each track. I have not done a full write up on it yet, but thought that some folks might get some use out of it on your site." Indeed!
Geez! Macworld is Next Week
Macworld Boston is next week and I'll be making the drive from Providence for at least one of the days, probably Wednesday. If you want to meet up, lemme know. My email address is around here somewhere.
Apple has released a "beta" of a command line application called ChapterTool (see bottom of the page) for use with creating enhanced podcasts. An enhanced podcast is an AAC audio file that can contain markable chapters, specific artwork for each chapter, and a link that displays over the AAC's artwork in the artwork pane pointing to a specific web link. The chapters are accessible via a little icon/glyph in iTunes 4.9 just to the left of the, what is it, View window? Using the icon, you can jump to specific chapters in an enhanced podcast. Additionally, the artwork for each chapter can be made to change, and the link that appears can also be different for each chapter. I think the best example of this can be seen with Apple's New Music Tuesday podcast.
But anyway, several Correspondents have pointed out that "ChapterTool" can be used with joined-track AACs, creating chapters to the start times of each track enjoined. Several have sent me scripts that do this; well, at least help create the XML file that "ChapterTool" requires to meld a new AAC file. I'd post 'em but I'm still messing with the enhanced podcast thing myself, trying to incorporate it with my own podcast; so I'd rather wait until I get my head around the whole enhanced podcast thing before listing anything.
Updated: iTunes Library Manager v4.2.2
I have released another update for iTunes Library Manager. Version 4.2.2 should be better at converting old-style database files if you are an iTunes 4.9 user with previously backed-up libraries. I have also included important instructions on how to convert those old-style libraries to the new format used by iTunes 4.9. As always, thanks for your patience!
Podcasting and Stuff
Now that I can finally take a breather from working on iTunes Library Manager (whew, what a week last week was!), I'd like to just write some about iTunes 4.9 and its new ability to subscribe to podcasts via the iTMS.
First of all, my podcast is now available from there (along with the "See It Hear First" podcast I produce for BMI). Those of you who have subscribed to my podcast's RSS feed via a newsreader, like NetNewsWire, know that the actual feed contains dozens of links to updated scripts and articles on the site and elsewhere. Unfortunately, at this point, this stuff doesn't come down with the podcast from the iTMS. I believe I may be able to stick a link that appears in the artwork of the 'cast which will point to the feed; you click on it and it will load in your browser. Still, it's a little extra work. And I have read that there are still a few glitches in the whole process. One I'm seeing (or not seeing) is that the artwork assigned to appear with my podcast listing in the iTMS does not appear. This seems to be something that can be fixed on Apple's end. Other people have noted difficulty downloading particular "episodes" of some podcasts, and still other hardcore RSS people are complaining that Apple has, by adding new RSS tags, shanghai'd the format. Oh well, dust must settle.
Rob Griffiths has a nice Editor's Note at Macworld regarding the Whole Podcast Thang. While he doesn't condemn podcasting, he just doesn't see what all the excitement's about. He makes many good points. But the fact is that podcasts are here, people are downloading and listening to them (one million subscribers in the first two days, according to Apple) and, well, there it is. It's like the same with me and hip-hop: doesn't do much for me but somebody must be enjoying it.
OK, there's my two-cents. Back to AppleScripting!
URGENT: Problems With iTLM v4.2.1
Still having a problem with iTunes Library Manager. Some previous users have noted a problem when loading backed-up libraries. I will have a fix very soon. Because of the US Independence Day Holiday weekend, my time is at a premium, but I will have something ASAP. Thanks for your patience!
Updated: iTunes Library Manager v4.2.1
I have posted iTunes Library Manager v4.2.1, which fixes the issues some users were having with v4.2.
URGENT: iTunes Library Manager 4.2 Bugs!
Several Correspondents have reported a couple of bugs in iTunes Library Manager v4.2. These include mis-naming of the loaded library and a freakish first-run error where your Music folder can't be located. If you have already downloaded v4.2 then refrain from using it. No data will have been lost, but performance is not up to par. I will have version 4.2.1 ready later today. Thanks for your patience!
Got Through to iTMS Podcast Publish
After two days of trying to submit my podcast URL to the iTMS, it finally went through this AM. I don't know if the iTMS will list it, but at least I got it submitted.
iTunes Library Manager Updated to v4.2
iTunes Library Manager v4.2 is now compatible with iTunes 4.9. Apple changed the name of the iTunes database file from "iTunes 4 Music Library" to "iTunes Library"--sensibly, at last! Consequently, versions of iTunes Library Manager prior to this version 4.2 will not recognize the new database file. Users of iTunes Library Manager are strongly encouraged to update if you have installed iTunes 4.9.
Here's What I Get
So I've been trying to suggest my (totally itunes-spec-qualified--hey, validator anyone?) podcast to the iTMS since yesterday. And this is what I get every time:
I can wait. No problem. Regular visitors know how to subscribe to the feed.
iTunes 4.9 Released
Apple has released iTunes 4.9 via Software Update. As of this morning, 4.8 was still listed on the iTunes website.
New features include the ability to download podcasts from the iTunes Music Store and sync to iPod, as promised.
New Playlist Property, Special Kind
iTunes 4.9 introduces a new playlist property called special kind, which contains a read-only value. The values can be none, Purchased Music, Party Shuffle, Podcasts. Thanks, this'll come in handy.
New Track Property, Podcast
New in iTunes 4.9, a new track property called podcast. As you may imagine, this is a read-only boolean that will be true for a podcast track, and false if otherwise.
New Podcast Preference Pane, Updated iPod Preferences, New Podcast Playlist
New in iTunes 4.9 is a new "Podcast" Preference pane that allows for various settings regarding downloaded podcasts: how often to check for new podcasts, what to do when downloading, how long to keep 'em. And, in the iPod Preferences, a new tab to tell iPod when and which podcasts to sync. Additionally, a new "Podcast" playlist will appear in the main browser's Source pane. When selected, you will have options to visit the iTMS podcast directory and "Report a Concern". The Podcast playlist can be sorted by the usual tags and by a new tag, "Description". This tag is available in other playlists as well, but I didn't see a reference to it in the AppleScript dictionary in the track section. Nor is it available in the track's Get Info window; must be just the "description" namespace from a podcast.
New Namespaces for Podcasts at the iTMS
Apple is requiring some new info be added to your podcast feed in order to be published in the Store. Get the technical specs and see for yourself.
Phone On The Way?
According to this article at AppleInsider, the curious have already found signs in iTunes 4.9 to a future "iTunes phone" component.
AppleScript Changes in iTunes 4.9
Info on AppleScript changes in iTunes 4.9 is now available, updated as it develops.
Oh, and Dang!
I was going to release version 4.0 of iCal Calling iTunes! today. But with all the hubbub about iTunes 4.9 I'm afraid it would get lost in the shuffle (so to speak). Look for it on Thursday or Friday.
iTunes Library Manger Broken in iTunes 4.9
Apple has changed the name of the iTunes Library file, from "iTunes 4 Music Library" to "iTunes Library". Consequently, iTunes Library Manager v4.1 will not work with iTunes v4.9. A fix will be coming VERY soon.
Updated: SaveFave v1.1
SaveFave is one of the first iTunes scripts that I converted from a SoundJam script. When run, it will copy the currently playing track to a "Favorites" playlist. You can change the name of the "Favorites" playlist if you wish and instructions for making this simple edit are in the Read Me. I hadn't visited this script in quite awhile, until Frequent Correspondent David Bills notified me that it kept creating new "Favorites" playlists. He got well over 300 of them before he noticed! Ooops. So I've pretty much just re-written the script from the bottom up.
Latest on iCal Calling iTunes!
The latest version of iCal Calling iTunes!, version 4.0, is in the final beta-testing phase. I should have version 4.0 ready to go after this weekend. Thanks as always for your patience.
De-Shuffle Them Playlists
I needed to turn "shuffle" off for a bunch of playlists; so, to turn "shuffle" off for all playlists:
tell application "iTunes" repeat with i from 1 to (index of last playlist) try set shuffle of playlist i to false end try end repeat end tell
The try block is required because that pesky "Party Shuffle" playlist won't let you shut "shuffle" off.
This script has been added to the Missing Menu Commands page.
Index of Playlist Is Your Friend
So how come I never did anything with this before? Playlists can be targeted by their index, which is their order in the Source pane. A Correspondent inquired about a script that would play a random track in the next playlist. The following is an excellent Missing Menu Command:
tell application "iTunes" if player state is playing then set last_p to (index of last user playlist) set this_p to index of current playlist if this_p is not last_p then my play_this(this_p + 1) else my play_this(1) end if end if end tell to play_this(i) tell application "iTunes" set view of front browser window to playlist i -- un-comment to shuffle the playlist first (* repeat 5 times set shuffle of playlist i to false set shuffle of playlist i to true end repeat *) play some track of playlist i end tell end play_this
You could also select a random playlist index number rather than the next playlist:
tell application "iTunes" if player state is playing then set last_p to (index of last user playlist) my play_this(random number from 1 to last_p) end if end tell to play_this(i) tell application "iTunes" set view of front browser window to playlist i -- un-comment to shuffle the playlist first (* repeat 5 times set shuffle of playlist i to false set shuffle of playlist i to true end repeat *) play some track of playlist i end tell end play_this
Works nice with a Shortcut or attached to a Remote of some sort for Maximum Party Fun.
New: MusicOutfitter Search
MusicOutfitter Search will use tag data (Artist, Album, or Song Name) from the selected or playing track in iTunes as the criteria for a search of the MusicOutfitter site. MusicOutfitter sells CDs and also provides album artwork and lots of album, artist, and track information. (I have no affiliation with MusicOutfitter.com; I just like the site as a source of information.)
I Want My Long John Baldry!
OK. When I was a teenager we all totally grooved to the Long John Baldry albums "Everything Stops For Tea" and "It Ain't Easy". These albums were put together by Rod and Elton and the Faces and the instrumentation is Faces and Maggie Bell and Elton's band and Caleb Quaye and Sam Mitchell and Geez who else felt like they was British in 1971? I no longer have the vinyl but these albums made such a huge impression on me that I abandoned my Rolling Stones fandom and hooked into that Faces sound. Weird folkie-British-derived-Amerkin-rock. Yah!
So bring forth the re-issues you stinking record company bastids!
Updated: Color File Labels of Tracks v1.1
Due to an oversight on my part, I have updated Color File Labels of Tracks. This script will set the label color of the files of selected tracks to a different color based on the kind of track. Unfortunately, I erred in the routine that determines whether tracks have been selected or a playlist has been selected. The error would only happen if you selected the main library. The update corrects this.
Thanks to Playlist
Chris Breen over at Playlist has listed a batch of our latest scripts. He credits the article to "Douglas Adams", which, of course, is the name on my birth certificate. But for reasons that are probably obvious I prefer to go by Doug Adams. Especially where the Mac is concerned. Fer inst: Try buying a book when the name on your credit card is "Jane Austen" why don't ya?
Photo Debate
The debate rages on about my latest "Official Picture".
Updated: AMG EZ Search 1.4
Apparently the All Music Guide now requires a "www" in their URL, so AMG EZ Search has been updated to accommodate this.
iCal Calling iTunes! Status
I have been working on updating iCal Calling iTunes! so it works with iChat 2.x. I have had to remove the routines that utilized the "Status" setting in an Event's Info window since this setting is no longer available. I hope to have finished testing within a week. Of course, the difficulty with testing it is that it has to be done in real time. So every experiment can take several minutes or even several hours. Thanks for your patience.
Updated: Find Album Artwork with Google
Brett O'Connor has updated the very popular Find Album Artwork with Google script. This script will do a Google search for artwork for the selected track. It now accommodates non-ascii characters in album and artist names. I highly recommend you upgrade!
New: List Folder Files Not Added
Here is the finished version of List Folder Files Not Added. This is the script I've been working on over the past few days that will create a text list of audio files in your Music folder (or any other folder you select) which have not been added to iTunes. Be sure to check out the Read Me for important info. Since it uses Spotlight, Mac OS X 10.4 or better is required. Thanks again to Glenn McDonald for the perl knowledge!
New: Text List of Music Folder Files
Here's a script that uses a routine from List Folder Files Not Added. Text List of Music Folder Files will create a text file listing the file paths of the audio files in the "designated" Music folder or any other folder you select. The file paths are listed alphabetically. Runs pretty quickly, too. Requires Mac OS X 10.4 or better due to Spotlight technology involved.
99.7 The Edge Reunion
Ten years ago (1995) I was among a super group of people who put together a radio station in Rhode Island called 99.7 The Edge. This was about the time that Alte ative Music (whatever that is) was reaching its peak. The radio station was eventually sucked up and spit out by Citadel Communications. But while we were independent and lasted we Had The Best Time Ever. Those that were a part of the startup are having a reunion tomorrow. Cain't wait to see you guys! Here's a sample playlist of what we used to play:
- Cannonball - The Breeders
- The Distance - Cake
- Revved Up - Triple Fast Action
- Here In Your Bedroom - Goldfinger
- Novocaine For The Soul - Eels
- Fire Escape - Fastball
- Song 2 - Blur
- Seether - Veruca Salt
- Nearly Lost You - Screaming Trees
- Pure Massacre - Silverchair
- Don't Go - Yaz
- The Hungry Wolf - X
- Go Your Own Way - The Cranberries
- More Human Than Human - White Zombie
- Girlfriend - Matthew Sweet - Girlfriend
- Mother Mother - Tracy Bonham
New: Color File Labels of Tracks
Here's that script, Color File Labels of Tracks, I mentioned a couple of days ago. It will set the label color of the files of selected tracks to a different color based on the kind of track. Could be handy, I suppose. Feel free to edit it for your own purposes.
Latest On That Spotlight Script
I've been working on a script that uses Spotlight indexing to verify if a file has been added to iTunes or not. The conventional thinking is to use the text of the Song Name, Album, and Artist. But thinking outside the box I can use Size and Date Modified as the criteria; what are the chances that two or more files of the same size were modified at the exact same time? Here's what I've done: do some mdls stuff to get various meta-data, including Song Name (kMDItemTitle) and Artist (kMDItemAuthors). But I also grab the Size (kMDItemFSSize) and Date Modified (kMDItemContentModificationDate). I use the Song Name and Artist merely for display purposes. The real fingerprint is the Size and Mod date. Those strings I use in a perl matching command of the iTunes Music Library.xml file. Works like a dream. I'll post the script when I have finalized it. Thanks very much to Glenn McDonald who handed me a great perl routine and did a lot of heavy lifting.
What I Been Working On..and Your Help
I've been having a ball doing Spotlight scripting. However, I am not a perl/awk/sed Genius and this script needs help. It uses "ProgBar" (which if you need I can supply). The script I refer to will look at a user's designated Music directory (or another selected directory) and grabs the Song Name, Artist, Album, and Size of each "Sound" file via Spotlight. Then it checks to see if there is a single track in the iTunes "main" library that contains those data. The effect is to find files in the designated folder that are not in iTunes. Now, I think this could be done faster via UNIX scripting. But I'm damned if I can beat the escape problems. All I need is a perl script (or awk or sed or some grep script) that can locate an entry in the iTunes XML file; if so, then we will know the file in the directory is in iTunes. I've done a basic "if exists..." with AppleScript. But I think a do shell script can attack it faster. Any ideas?
Don't Ollie On Yer Xootr
People that know me know I love my Xootr Street model kick-scooter. Tonight I over-did it on the ollie attempts and scraped the tips of both my index fingers and one or two others. My 10 year old daughter--quite an experienced scooter herself--had a good laff but applied the Witch Hazel like a pro. Anyway, try typing code with your ring fingers! Needless to say, I'm out of commission for a day or two, but! I have been working on a script that searches the designated Music folder for files not added using Spotlight. Quite fast! And I think I can make it faster! So, we'll see.
Well, Gee, I Wrote It
Plaid Cow has a memory like an elephant and reminded me to check this forum post about the Color Labels script. Man, am I getting old? Falling off scooters and not remembering my own scripts?
Who Wrote This!?
I just was going through my iTunes Scripts folder and I came across a script called "Color Label Files of Tracks". It changes the label color of the files of selected tracks to a different color depending on their type: Regular AAC = red, Protected AAC = orange, AIFF = yellow, Apple Lossless = green, MP3 - blue, WAV = purple, QT movie = gray.
Who wrote this and why do I have it? I searched my email for any reference to it but turned up nothing. I searched MacScripter and Mac OS X Hints and nothin'.
Did I write it? The script uses syntax and phrasing that I might use, but that could just mean that someone borrowed stuff from other scripts I wrote. If you are the author of this script, please step forward! Otherwise I'll post it in awhile and attribute it to Anonymous.
Spending the day listenin' to The Kinks. Are you?
'Duh' Is The First Letter in 'Doug'
Well, I fixed the NNW/podcast problem. It was all me. My RSS enclosure tag was of the type "audio/mpeg" when in actuality it should be "audio/aac". I had forgotten to update this when I started doing bookmarkable m4a podcasts. Funny, it worked in Panther...Because THAT was where the bug was. But since it has been fixed in Tiger, my bad code was creating the problem. Thanks again to Brent Simmons at Ranchero for putting me on the scent.
NetNewsWire 2.0 Bug Affecting My Podcast?
Correspondent Sean Mooney e-mailed me saying he couldn't get my latest podcast onto his iPod. The message he got whenever he attempted it was Some of the songs in the iTunes music library, including the song "dougspodcast_050523.m4a", were not copied to the iPod because they cannot be played on this iPod. Additionally, iTunes could not read any of the tag info. On further investigation, Sean discovered that the podcast file had been downloaded by NetNewsWire 2.0 as "dougspodcast_050523.m4a.m4p". I double checked my server and the original podcast file does not have the extra extension. When he removed the ".m4p" extension, all worked fine.
I was able to verify this behavior. Apparently, NNW2.0 sees that the podcast file is of a type "M4B " (bookmarkable, for your convenience), doesn't agree with its ".m4a" extension, and appends ".mp4" to it. I've filed a bug report with Ranchero.
Looks like it's my server that is telling everybody (in Tiger) that my podcast is an mp4. Oh well. Gotta work on this after the weekend. (Thanks Brent!)
Who goes to MacWorld/Boston? ME. I loved MWSF in January so much that I got my early-bird registration for MWB. I'm going with my brother, who is Geoff Adams, who does video, who makes those live-action "Now A Word From Us Kids" bits between "Arthur" episodes. (Why is he balding, yet I have a full head of luxurious auburn hair? As Herschel Bernardi might say, "The world may never know.") Anyway...if yer goin to Boston in July and wanna meet up then email me. I'll remind you again in late June.
Joy! Apple Store In Providence!
According to ifo AppleStore, Apple has secured some space at the Providence Place Mall (historical note: my wife and I were the first to be married at Water Place Park--foreground of the photo there--in 1994 before the mall was built), which is about a stone's throw from my house. Now I'll finally have some place to hang out when my wife goes to the GAP.
Latest Podcast Available
OK. I've uploaded my latest podcast, but I'm getting some whacky results from my podcasting software. Let me know how it works at your house.
New: eMusic Search
I was getting tired of searching eMusic manually, so I wrote a script I can run from iTunes that will use a selected track's or currently playing track's tags as the search criteria and automatically do the search. The thing about eMusic, like AMG, is that you can only search by a single criteria, in this case Song Name, Album, Artist, or Composer. eMusic Search throws up a choose box of those tags--if they are not blank--you choose one, and the search results are displayed in your default browser. (I should note that some older scripts here at the site which search eMusic no longer operate correctly because eMusic changed their search methodology since those scripts were posted.)
Oh, and regarding my query about artwork from eMusic: who cares? Just drag it to the artwork pane from the browser. I also recommend using other artwork-searching scripts including Find Album Artwork with Google and Search SlothRadio for Artwork.
New: Search for Album's Files
I've taken the script I listed below and made it available for download wih a few additions. Search for Album's Files will search your Spotlight-indexed drives for audio files that contain a user-entered Album name. Read Me explains all.
Spotlight On Spotlight
I am really liking the ability to create Spotlight queries with AppleScript. Check out this article I wrote a week back on the basics. But here's a script that's fairly practical. Let's say you KNOW you have the files of a certain album, some or none of whose tracks are in your iTunes library. Run the script below, provide an Album name, and the script will locate any audio files on your Spotlight-indexed system, list them in a choose box, and allow you to select which ones you want to add to iTunes:
-- get Album name set alb to "" repeat until alb is not "" set alb to text returned of ? (display dialog "Find all audio files whose album name is:" default answer "") end repeat -- get Spotlight to find audio files set the_command to ("mdfind " & ""kMDItemAlbum == '" & alb & "'"") as string set returned_list to text_to_list(do shell script the_command, return) -- set up choose box set add_these to (choose from list returned_list with prompt ? "Select audio files to add to iTunes..." with multiple selections allowed) if add_these is false then return -- add selected files to iTunes repeat with this_file in add_these set this_file to POSIX file this_file tell application "iTunes" to add this_file as alias end repeat -- famous sub-routine on text_to_list(txt, delim) set saveD to AppleScript's text item delimiters try set AppleScript's text item delimiters to {delim} set theList to every text item of txt on error errStr number errNum set AppleScript's text item delimiters to saveD error errStr number errNum end try set AppleScript's text item delimiters to saveD return (theList) end text_to_list
This requires Mac OS 10.4 or better and your system should have been indexed with Spotlight.
New: Delete m3u Files
So I got eMusic up and running. And I apologize for my impetuous comments yesterday. I had a small problem with selecting the correct location for downloads and once I selected a folder on my startup disk everything ran smoothly.
One of the things you will want to do with eMusic is Preview a Ton of Stuff. When you do that, you will accumulate many many many ".m3u" files on your drive and just as many "MPEG audio stream" tracks in iTunes. While I mentioned Delete 'Continuous' Tracks yesterday, a script that will remove the "MPEG audio stream" tracks from iTunes, this morning I whipped up Delete m3u Files which will locate ".m3u" files (via Spotlight technology--sorry pre-Tiger users!) and allow you to select which to delete.
Unfortunatley, I was unable to find a decent correlation between specific ".m3u" files and their specific associated iTunes tracks, so I can't yet roll the two scripts together into one. But if I figger a way to do that I will, natch, post.
Artwork From eMusic?
Can I not download album artwork from eMusic?
So all the chatter about Yahoo! Music Unlimited has compelled me to make a decision: join eMusic! For $9.99 a month I get 40 downloads a month (25 cents per song). But just for joining I get 50 FREE 196 kbps MP3 downloads. Who can resist? Of course I love the iTMS and love its a la carte purchasing, but with eMusic I get the music cheaper (I think this is the best way to reincarnate my ancient vinyl faves--I buy new music from iTMS) and feel more obliged to download it since I've already paid for it. Those marketing weasels!
I cannot tell a lie: Thomas Bartlett's latest Audiofile page at Salon was the clincher.
Delete Continuous
Using eMusic to preview music, I've noted that MPEG audio streams litter my library. Lest we forget that Delete 'Continuous' Tracks will remove these turds from iTunes. And I may have to update it since I am not sure if it deletes ALL "Continuous" streams or just the selected ones. Look for a clarification soon. Of course, you could create a Smart Playlist whose kind = "MPEG audio stream" and kill 'em from there.
New: Make Album Playlists
Andrew Mathieson sent me his Make Album Playlists script. It's simple enough: it creates a playlist of each of your albums in iTunes.
Zips Are Up!
I have completed the process of converting all downloads (with nominal exceptions) to ".zip". Thanks to the Correspondents who provided feedback. The ".zip" format was the overwhelming concensus. So I feel good now. See ya, StuffIt!
I was able to create a script droplet that performs like DropStuff but for the Mac zip format. Wanna see it?
on open theFiles repeat with this_file in theFiles try -- select the file in Finder... tell application "Finder" to select this_file -- then this zips the selected file do_menu("Finder", "File", "Create Archive") on error m display dialog m end try end repeat end open -- based on Apple's script -- http://www.apple.com/applescript/uiscripting/03.html on do_menu(app_name, menu_name, menu_item) try -- bring the target application to the front tell application app_name activate end tell tell application "System Events" tell process app_name tell menu bar 1 tell menu bar item menu_name tell menu menu_name click (some menu item whose name starts with menu_item) end tell end tell end tell end tell end tell return true on error error_message return false end try end do_menu
Save as an application (it will be a droplet by virtue of the on open handler), put it in yer toolbar, and drag files to it to zip 'em up.
Also in my travels I found a great tip for adding a shortcut to the "Create Archive" File menu command. Rob comes through again!
50 (or so) Fun Things To Do With Your iPod. My favorite is #26.
I Knew It
Being a twenty-year broadcast radio veteran (ahem)...I remember making the prediction to a friend of mine (who is now the General Manager of a cluster of a handful of radio stations that are running on a skeleton crew) that broadcast radio would be dying on the vine in five, maybe six, years. Well, that was five, maybe six, years ago. I no longer work in radio, though I still produce commercials when asked. And now comes this interesting article in the WashPost about selectivity of media which contains this tidbit: "iPod listeners already use less broadcast radio than do others. Perhaps the more telling finding comes in the percentage of people who say they "love" their iPod (35 percent) or their satellite radio (40 percent) versus those who "love" over-the-air radio (19 percent)."
Broadcast radio is such an old technology I can't see how it can last much longer. The stations that I used to work for now run seven, eight, nine minutes of commercials in a stop-set. How does this help maintain an audience? I think radio will be fine for news-talk-live events. But somebody better figure out that radio is the last place to promote music product. Fewer and fewer persons are listening to force-fed music. Why should we, when we can devise our own playlists? And almost effortlessly find new music to listen to?
Radio. Such a dinosaur. Advertisers beware! And broadcast TV--you're next.
New Transmit 3.2
Panic Software has released version 3.2 of Transmit (FTP application), and it is super fast on my iMac G5. I was a Fetch Guy for the longest time (mostly because it's So-Scriptable) but Transmit is just as scriptable and much more pleasant to look at. Transmit took over my FTP work when 3.0 came out. What higher praise can I give than to say that it is among the few apps I have that open at Login? Hands-down the best FTP software available. Get it!
Ranchero Releases NetNewsWire v2.0
Although I'm getting used to Safari's new RSS features, I was happy to see that Ranchero Software has finally gone alpha with NetNewsWire v2.0, their very fine RSS reader. New features include tabbed browsing, support for podcast and enclosure downloads, "smartlists", and several other worthwhile additions. And, of course, it's AppleScriptable. Also I think it's commendable that they are allowing registered users a free upgrade; otherwise, the price is $24.95--and worth it!
BMI's Podcast
I was pleased to produce Broadcast Music, Inc's podcast, which features new music from BMI writers. Drag the link to your podcasting software or podcast-capable-newsreader and check it out.
Re-Archiving the Downloads
After a lot of thought and research, I have pretty much decided to re-archive all the ".sit" downloads on the site. The way I figure it, the venerable StuffIt format is becoming more troublesome in its old age. And Apple is not providing StuffIt Expander in Tiger. This fact alone is enough to convince me that it's time to re-archive. Additionally, many of the older script archives contain outdated information and/or are not consistent with my current download-package format. So re-archiving provides an opportunity to update some of these older packages.
As of now, ".zip" seems to be the way to go. I had some thoughts about using .dmg, and, being the ambivalent person that I am, I still may go that route. There are positives for using one or the other: .zip's are the Apple-recommended format, are easy to create and easy to un-archive with a double-click; .dmg's can use "dandy" background images (which lets me "brand" the site), can install scripts automatically, allow the user to copy only what they like to the desktop (how many "More FREE iTunes Scripts!" weblocs do you need on your computer?), and do not require further compression by me.
If you have a feeling about either format, let me know. It will take me many days to update the packages, and when that is finished, I will have to decide between ".zip" and ".dmg". I appreciate your feedback!
Yahoo! Music Unlimited--A Value?
OK. Yahoo! Music Unlimited allows you to subscribe for a year at $60. This will enable you to download unlimited tunes and rent them; that is, as long as your subscription is current, you have access to the songs. Additionally, subscribers can buy songs outright for 79 cents. Now, how many songs do you need to purchase (none of which are loadable to an iPod) to beat Apple's a la carte iTMS? More than 300 a year. I figure you pays yer $60. Divide this by the 20 cent difference in the iTMS 99 cent price. You break even at 300. That means you'd have to buy about 25 albums a year, or about 2 a month. Now, I don't know about you, but this doesn't seem quite like a bargain. I'd still rather pay the 99 cents outright at the iTMS and own the tracks no matter what, especially since the Yahoo! songs won't work on my iPod. And with iPod being the ubiquitous player that it is, why would (or should) iPodders subscribe to Yahoo! Music Unlimited?
And as far as playing iTMS tracks on other players: who doesn't back up their iTMS purchases to CD and re-rip as MP3s to dump to their Rios or what have you?
I'll give Yahoo! credit for being aggressive price-wise (or as Reis & Trout would say, using offensive tactics), but when you are going to attack the King of the Hill you gotta remember that the KOTH always has the advantage of the leadership position.
Updated: Export Via QuickTime v1.2
Export Via QuickTime lets you export the files of selected iTunes tracks using QuickTime codecs. This latest version works around a scripting discrepancy in QuickTime 7 Pro.
Updated: Shared Music Monitor v1.3.1
Neil Evans has updated Shared Music Monitor to v1.3.1. This script monitors your Music folder and keeps track of what songs are played by anything other than your main iTunes application. It then updates iTunes with the correct playcount and last played date. This latest version is updated for Tiger and has a few additional fixes/enhancements.
iCal Calling iTunes! Broken with iCal 2.0
iCal Calling iTunes! will not work properly with iCal 2.0. I regret to say that I only discovered this today. iCal 2.0 no longer uses the "status" option in an Event's Info window which limits the functionality of iCal Calling iTunes! This presents me with a problem since the "status" option controlled how a Playlist scheduled in an Event is handled. I'm considering alternatives and I hope to have an update soon. Sorry for the inconvenience!
Updated: Bring Out Yer Dead v1.1
Bring Out Yer Dead has been updated to v1.1. This script uses Spotlight technology to locate files of so-called "dead tracks" that may still exist on your system. This version fixes a problem with double-quotes in Song Name, Artist, and Album tags. And big BTW: if you use Kevin Wojniak's Spodlight to index your iPod, Bring Out Yer Dead can copy a file from iPod if found.
Bummer: iTunes Library Manager v4.1 Broken with iTunes 4.8
Regretably, there is a small issue with the latest version of iTunes Library Manager (v4.1) and iTunes 4.8, which was just released. I'm working on the problem and will have an update very soon.
Hold it.
Maybe there isn't a problem. If you are experiencing difficulty with iTLM v4.1 and iTunes 4.8, please let me know.
False Alarm
Whew! False alarm on the iTunes Library Manager issue mentioned below.
Even so, I appreciate hearing about any troubles you may run across using scripts from this site after migrating to Tiger and/or updating to iTunes 4.8. If you can be specific about trouble and include a screnshot of any error messages you get then that would be very helpful.
New AppleScript Stuff
Finally have had time to play with new AppleScript stuff in Tiger. System Events has a new Property List Suite and XML Suite. How easy is it to find the designated Music Folder--the one assigned in iTunes' Advanced Preferences? This snippet will locate the folder and open it in the Finder, as an example:
set the_paths to do shell script "defaults read com.apple.iapps iTunesRecentDatabasePaths" set the it_XML_file to the text 3 thru ((the offset of "")" in the_paths) - 1) of the_paths tell application "System Events" tell property list file it_XML_file to set designated_Music_folder to ? (my replace_chars(value of property list item "Music Folder", "%20", " ")) end tell set designated_Music_folder to (POSIX file designated_Music_folder) as alias -- for example: tell application "Finder" to open designated_Music_folder on replace_chars(txt, srch, repl) set AppleScript's text item delimiters to the srch set the item_list to every text item of txt set AppleScript's text item delimiters to the repl set txt to the item_list as string set AppleScript's text item delimiters to "" return txt end replace_chars
When you know the "designated" Music folder, you can determine if a user has their "Copy files to iTunes Music folder when adding to library" option checked by double-checking the location of a newly-added track. If its location as string starts with the designated_Music_folder as string, then the file has been copied; otherwise, it's still in its original location. The replace_chars() handler seems to be required to get rid of them pesky hex "%20" spaces. I don't know if other hex code will show up.
iTunes 4.8 Released
Apple has posted iTunes 4.8. New features include the ability to transfer contacts and calendars from your computer to your iPod (under Mac OS 10.4) and other enhancements with regard to the iTunes Music Store and video playback. I haven't fully examined the AppleScript dictionary, but it doesn't look like anything is new there. A formal report is forthcoming.
When did "optimized for Velocity Engine" appear in Details in Importing Preferences? Is that a Tiger enhancement? I regret that I had not noticed this before installing 4.8! [update] Kirk McElhearn assures me this was around in 4.7.1.
Oh, and another thing: the Script menu icon is now black, rather than white.
Perhaps Broken: PDF as iTunes Artwork
I was playing with PDF as iTunes Artwork in Tiger this weekend and was getting some strange results. First, the installer seems busted. Then, artwork added somehow gets a black background. I'll be working on these problems this week.
New: Bring Out Yer Dead
Following up on yesterday's Spotlight scripting experiment, I have posted Bring Out Yer Dead (with apologies to Monty Python & The Holy Grail fans and readers of Daniel Defoe's A Journal of the Plague Year). This applet will allow you to select a "dead" file track in iTunes (designated with the (!)) and attempt to locate a file using Spotlight that corresponds to the selected track's Song Name, Artist, and Album, and then allow you to replace the "dead track" with a file from the search results. All tag data is preserved from the original track selected and copied to the newly added track.
Now, you are probably aware that iTunes already has the ability to attempt a search for "dead tracks" when you double-click them. So, really, this is just an experiment using meta-data and Spotlight as an iTunes search tool. If you use the script, do so cautiously; I will continue to refine it.
More On StuffIt
From what I have read, if you are having problems with StuffIt in Tiger then re-installing it seems to remedy the difficulties. As for the scripts here at the site, all of which are currently StuffIt archives, I have plans to convert all of them to zip archives sometime within the near future.
Basic Tutorial on Scripting Spotlight With iTunes
I have just posted Spotlight Scripting for iTunes which explains some of the basic things you can do with AppleScript, Spotlight searches, and iTunes. It explains how to get meta-data for audio files and how to create scripts that use iTunes tag data for meta-data searches with Spotlight.
Fun Spotlight Scripting
Spotlight in Tiger uses files' meta-data to locate particular files. Apple has provided several UNIX commands to access meta-data and create Spotlight-like scripts. To see the meta-data for a particular file, I've been running this (note the mdls command):
set x to (choose file) set mdat to (do shell script "mdls " & quoted form of POSIX path of (x as string)) log mdat
Dump it into Script Editor and view Event Logging. Run the script and select a file and you will see exactly how much meta-data is available.
What do you need to know the meta-data for? So you can construct search routines with the mdfind command:
set x to (do shell script "mdfind " & ""kMDItemTitle = 'Brown Sugar'"") log x
The above returns a file path or paths.
Putting it all together, you can create a script that, for example, searches your entire system for "dead tracks" that may exist somewhere:
tell application "iTunes" if selection of front browser window is not {} then set selnom to name of item 1 of selection of front browser window end if end tell set x to (do shell script "mdfind " & ""kMDItemTitle = '" & selnom & "'"") log x
That's pretty basic, but you get the idea. Sorry for the bizarre quote formatting, but the URL Protocol scripts look better.
Spodlight Makes Invisible iPod Files Visible
Kevin Wojniak has come up with Spodlight, a hack that will allow Spotlight to index your iPod's invisible Music folder. Now you can search your iPod for song files. For instance, after indexing the iPod, enter "dan kind:music" in Spotlight, select your iPod as the target of the search, and watch all your Dan Baird tracks get listed. Hit the "i" and you can get all the info and even play the track from within Spotlight.
Upgrade to QuickTime 7 Pro, Why Don'tchya?
I just got my key for QuckTime 7 Pro. Best $30 I've spent in a long time. The hi-def movie trailers are amazing--not that I'm a trailer guy, but Wow. Can't wait to play with the audio stuff.
Broken: Save Current Music Video
Whether it's due to a new file format or download location or QuickTime incompatibility, the script Save Current Music Video v1.2 breaks in Tiger, and, unbeknownst to me, apparently didn't work with iTunes 4.7.1 either. This script is based on ideas in this (now lengthy) thread at Mac OS X Hints. If you scroll to the last few posts you'll see some theories on the breakage. I am not the author of the script; it's really just an AppleScript wrapper around some UNIX commands. If you have a solution, let me know, or post at Mac OS X Hints.
Copy Playlist To Card 1.1.4a
I've been remiss in not posting a link to Stephen Jonke's Copy Playlist To Card. For those of you who use a flash media player, this script copies the selected iTunes playlist and an m3u playlist file to a memory card or disk mounted on the desktop. I was going to post it here at this site, but I'll stay on top of it and make a mention when there are new updates. Also, if you've tried it, let me know how it works. I get a lot of questions about this sort of script and Stephen has put a lot of work in it. I'm sure he'd appreciate the feedback.
Note: Now Playing In iChat AV
Those of you with Tiger who use iChat may already have noticed that iChat 3 allows you to display the currently playing iTunes tracks as your "Available" status message. (It still only displays 42 characters in other's iChat Buddy lists as far as I can tell.) But Now Playing in iChat AV will display what iTunes is playing while either "Available" or "Away" is the status and show the Groovy Glyph for an iTunes track, radio stream, or CD. So now ya know.
StuffIt Expander Broken in Tiger?
According to a report at MacInTouch, under the "Incompatible" section, StuffIt Expander does not work correctly in Tiger. I have been using StuffIt Deluxe 9 in Tiger to open .sit archives without any trouble, though. This is probably another reason for me to switch over to .zip archives or .dmg's for the script downloads. One Of These Days....
So Now That You've Got Tiger...
I'm an ADC Member so I've had access to the Tiger builds for a few months. Great, isn't it? Unfortunately, I haven't been one of those users who's gone digging around looking for all the Cool Stuff and I'm just as anxious as anyone to find out what other people are discovering. As such, and because I've devoted most of my Tiger experience to Automator, I haven't been able to test Every Single Script posted on the site. So, if you've got Tiger and use AppleScripts with iTunes, let me know if there are any compatibility issues. My experience thus far says, "Shouldn't Be", but those are the famous last words of a crummy software developer. And I don't wanna be That Guy. Appreciate your help.
New: Doug's Actions for iTunes Volume 1
I've released my first batch of Automator Actions for iTunes. At this point, it's pretty basic stuff. But Doug's Actions for iTunes Volume 1, a collection of seven actions, will enable you to create some interesting Workflows. Included in the collection are:
- Get Selected Tracks or Selected Playlist
Outputs the selected tracks, or if no tracks selected, the selected playlist
- Choose Encoder
Select an encoder to use on-the-fly, restoring your iTunes Preferences-set encoder with the Restore Encoder action
- Restore Encoder
Restores the Preferences-set encoder stored with the Choose Encoder action
- Convert Tracks
Convert library tracks or import CD tracks with option to delete the original tracks and their files
- Copy Tracks to Playlist
Copy tracks from a previous action to a new or existing library playlist
- Copy Tracks to iPod
Copy tracks from a previous action to a new or existing iPod playlist
- Make AAC Tracks Bookmarkable
Change the file-type of AAC tracks from a previous action so that they are "bookmarkable"
Using these actions in various Workflow configurations you can perform a variety of convert/import tasks. And, as might be obvious by the "Volume 1" designation, more are in development and on the way soon.
Currently, the actions will be installed to your home Automator folder en masse. This is done with a dandy installer program provided by Apple. Honestly, I'm not sure if making each action available separately is a better idea yet. I'm not really sure what the best way to distribute these is. Apple has some guidelines, but I'm waiting for some kind of convention to arise. As of this morning, they've only got 15 actions on the Automator Actions page, so I guess I'll have to wait and see.
I'm also very curious how Automator is accepted by the community. I like it for large multi-app tasks. For single-app tasks it may be over-kill. Frankly, in the time it takes me to develop one iTunes action, I can write an AppleScript that performs the full task. In fact, this first volume of my actions will allow you to create Workflows that emulate a few existing scripts (like Quick Convert and Rip To iPod). Even so, when combined with Apple's pre-loaded actions library, you have dozens more opportunities.
Oh, And Please...
Please. No Douglas Adams puns, jokes, riddles, or limericks today (4.29). It's awful enough using my debit card at the bookstore. Thank goodness my name isn't Art Dent.
Try the iTunes Artwork Screen Saver
One of my favorite new features in Tiger is the iTunes Artwork Screen Saver which grabs all yer artwork and dumps it to a grid as a Screen Saver, ocasionally flipping one or another to update the screen. I have a 8x10 grid set up displaying 80 album covers. Quite enjoyable!
Radio Is Not Dead, It Just Smells Funny
According to this Wired article, broke down radio stations on the verge of going dark may find new life as streaming podcasts. My questions are: how do you measure listenership to sell advertising, or is that just a benny to toss to regular advertisers? And what about licensing of music content? I thought the cost was prohibitive for streams. Oh well, time will tell.
Updated: iTunes Library Manager v4.1
I have released an update to iTunes Library Manager. The latest version, 4.1, is compatible with Tiger. So, if you want to continue using iTLM and Tiger's coming to your house, you're encouraged to update. I also added the date last modified of the currently loaded backed-up library to the dialogs; this will give you an idea of when the backed up library was last updated by iTunes. This new version is free for registered users of version 4.0.
iTunes Library Manager Errata, or A Stitch In Time Saves Nine
Well, coupla problems on the initial release of iTunes Library Manager 4.1. First, I erroneously uploaded the 4.0 version to the server. I fixed that, but then heard from some users that there was an error locating the Preferences folder. Reason? I uploaded a test version that had been run and had already stored my Preferences file location as a property! So, fingers crossed, everything should be OK now. And never hesitate to contact me if you have a problem with any script or app.
New Missing Menu Command
I just added "Jump to Playlist" to the Missing Menu Commands page. It will allow you to enter the name or just the first few letters of a playlist and will select the first playlist whose name matches your entry. Be sure to give it a shortcut.
iTLM for Tiger This Week
Just so you know, I will be releasing an updated version of iTunes Library Manager, which will be compatible with Mac OS 10.4, later this week. It will be a free upgrade for registered users of version 4.0.
New: Files to Folder Scripts
Derrick Bass created two handy scripts based on Plaidcow Solutions' "Move Files to Folder". Files to Folder Scripts is a collection of two scripts. Alias Files to Folder... creates an alias of each file of the selected iTunes tracks in a user-selected location, and Copy Files to Folder... will copy the files of the selected iTunes tracks to a user-selected location.
Submitting Scripts
Don't get me wrong. I welcome all script submissions to the site. On average I receive about a dozen a month, give or take. So why don't I post that many? Well, the fact of the matter is, probably due to my tenet about a script not having to be glamorous but just useful, I get a lot of scripts which are just simple mods to existing scripts. The best example is the mod I receive every so often for Google Lyric Search that uses the "I'm feeling lucky" URL. This is a fairly obvious modification, and I'm glad that users are able to make it. But I don't think it necessarily warrants upgrading the "official" version. (I use a version of the "I'm feeling lucky" URL for the "Wanna sing along?" link in the "Doug's Listening To..." widget.) Sometimes a Correspondent will make an obscure mod to a script that is personally tailored to their own situation, computer set-up, work habits, and so on, but doesn't seem to make sense for general use. I think they just want me to see it for some kind of approval, which is nice. Sometimes I'll get a script whose functionality is already covered in a posted script and which the author was unaware of. So, unless it improves on the original, I won't post it. Then, of course, there are regular Correspondents who send me stuff from time to time (Plaidcow, Woodenbrain, John Paul Davis, Paul Withey, and the other usual suspects) and I pretty much post their stuff automatically because Their Heads Are In The Game and they're up on the stuff that's out there already.
Today I posted two scripts based on an existing script, but I thought their functionality was unique and useful enough to warrant posting. Now, as you can imagine, if I posted every submission that was merely a minor or obscure mod to an existing script, I'd run into trouble because it's already difficult enough trying to locate a script for a specific purpose. Who knew over 300 scripts? So, if you're able to mod a script for your own use, that's great. Please feel free to do so and send it to me if you like. But if you do send it to me, be aware that it might not get posted.
I always think: well, there has to be a finite number of tasks that AppleScript can do with iTunes, and then another dozen scripts turn up. Amazing, huh?
Okay, And Another Coupla Things...
Dan Baird is the Greatest Living American Song Writer. So get hep.
Oh, and Ian Stewart, if yer payin' attention, your old band rocks the most ever also.
Updated: Rip This Where I Want It v1.5
After three years, I finally got around to updating Rip This Where I Want It. This applet will import selected CD tracks using an on-the-fly encoder (restoring your Preferences-set encoder afterwards) and move the files to wherever you like. Additionally, the new tracks are removed from iTunes.
New: Make a Text List
Make A Text List is a simple script that will create a text file containing an alphabetized list of your choice of all Artists, all Albums, all Composers, all Genres, or all Song Names.
New: iTunes by iChat Status
Jeroen van der Waal sent me iTunes by iChat Status, which is a stay-open applet that monitors iChat's status. When your iChat status is set to anything but "Available"--or Custom "Available" message--iTunes will fade and stop. When iChat is re-set to "Available", iTunes will resume playing.
And Speaking of Stay-Open Applets...
Used to be my stay-open applets would put a drag on processing. But I have seven running right now and there is very little processor drag on my iMac G5--which, I think I have mentioned, is the best computer I ever owned. I have applets that send my iTunes data to the "Doug's Listening To..." thingy in the above left corner of the site; doing likewise with my iChat status message; pruning my remote MySQL database for referrer spammers (bastitches!); checking my Mail mailboxes for outdated crap from CNET News and the like and deleting. They can do some good cookin', so let 'em loose!
New: Copy Selected Playlist to iPod
I have so many playlists in iTunes that when I go to copy 'em to my iPod, I cain't remember if iPod has the playlist already, or, worse, that the tracks in the playlist aren't already on the iPod. So I wrote Copy Selected Playlist to iPod. This script will copy the selected iTunes playlist to iPod, checking if the playlist already exists on the iPod, if the tracks already exist on iPod, and if the iPod playlist--if it exists--already has the tracks in it. In this way I can select any playlist in iTunes and dump it to iPod without having to worry about duplicate files and duplicate tracks.
Updated: Convert and Export
Well, we all make mistakes. The script Convert and Export has been updated to account for a bug which prevented a converted file from being moved properly to the chosen location. My error here was thinking the shell command "mv" behaved like the Finder when moving files to a new partition or drive. That is, that the original file would be left behind on the original drive. With that erroneous thinking, I used a routine that deleted the original converted file before it had a chance to be moved. Well, this worked when moving the converted file to a different drive, but not when moving somewhere on the same drive. Duh. "mv" means "move", not "leave the original file behind while you're at it". Time for Doug to re-visit "Learning UNIX for Mac OS X"!
Trouble Downloading With Safari in 10.3.9
According to MacFixIt (and my own experience) early adopters of Mac OS 10.3.9 are reporting some problems with JavaScript in Safari. This site uses JavaScript to facilitate downloads, so if you have Safari in 10.3.9, expect a crash--and no download. A simple fix for Safari users to change the user agent. According to MacFixIt: "This is accomplished by first activating the Safari debug menu (most easily with a tool like Safari Enhancer") then selecting "Windows IE" or another agent." Hopefully, Apple will have a fix very soon.
New: Filenames to Song Names
I have removed the old "Filenames to Track Names" script and replaced it with a streamlined version called Filenames to Song Names. It will copy the filenames of the selected tracks to each track's Song name, sans extension.
New: Convert and Export
Correspondent eschaton (via this thread in the AppleScripts Forum at iPodlounge) wanted to be able to use iTunes to convert tracks in his library to AIFF for use with various audio/video editing software without having the converted tracks added to iTunes' library. And also would it be possible to send those converted files someplace else? You know, I've been using Amadeus II to do this for my ProTools projects and I have no idea why I hadn't written Convert and Export before now. (Actually, there is Drop A Few My Way, but that's a droplet and doesn't run from within iTunes.) Convert and Export will convert the files of the selected iTunes tracks using an encoder selected on-the-fly, move the converted files to a folder of your choice, delete the converted tracks from iTunes (and remove the files from the Music folder if necessary), restore your preferences set encoder, then open the folder containing the moved files. Works for me!
Growl! Yeah!
I just discovered Growl because I live under a rock most days. Growl is a very cool notification system that displays messages from various applications on top of yer desktop. Best of all, it's 'scriptable and comes with some excellent pre-made scripts. Before I even looked in the "Extras" folder, I banged out a iTunes-is-now-playing Stay Open Idle script. But you know what? They've got one already! Growl is very easy to incorporate into your AppleScript projects. Heck, the thing I banged out took me a few minutes. Check out Growl. It's free!
Updated: Lossless to AAC Workflow
Ooops. Regretably, a bug in one of the scripts in the Lossless to AAC Workflow collection prevented you from creating a new playlist on iPod. So, guess what? I fixed it! Thanks to Correspondent Jeff Hawker for raising a flag. Lossless to AAC Workflow is a collection of two scripts that assist you with importing/managing Apple Lossless files on your hard drive and send AAC copies to your iPod.
Latest Doug's Podcast Now Available
My latest podcast is available. Just copy this link to your RSS reader or podcast software.
New: Update iPod Shuffle LastPlayed
Jonas Zimmermann has sent in Update iPod Shuffle LastPlayed which will let you update the Last Played Date of songs played with an iPod Shuffle. You have to make a slight edit in the script so it works with your iPod Shuffle, but it's easy and all in the Read Me.
New: Import on CD Insert
As your iTunes library gets wicked huge you kinda forget which CDs you've already ripped tracks from. Or, as I discovered, you haven't got all of the tracks of a particular CD. The script Import on CD Insert is meant to be assigned to the "CD & DVDs" System Preference so that it activates when you insert a CD. It will check your iTunes library for tracks you haven't imported yet and then let you do so right then and there. You can also choose which encoder to use on-the-fly (your Preferences-set encoder will be restored afterwards) and the newly imported tracks will be copied to a new Playlist named using the Artist and Album from the CD. A healthy Read Me (with screenshots) is included which I encourage you to read thoroughly.
Thoughts on Automator
It's no secret that one of the 200 new features of Tiger (Mac OS 10.4) will be an application called Automator. I have already set up a page that will feature Automator Actions. Actions are simple modules that you use to build an Automator Workflow, which allows you to perform a repetitive task much the same way AppleScript does. I think it's important to note that Automator will not replace AppleScript. Indeed, my guess is that there are opportunities for both to co-exist quite nicely and neighborly. (In fact, Automator Actions can be written using AppleScript in Xcode.) However, Automator relies on developers to create the Actions, and in some cases the Workflows. If you have a specific task for which you require an Action which doesn't exist then AppleScript will be the way to go. On the other hand, judging from the examples Apple has described, it looks like there will be quite a number of tasks that can be easily rendered as Workflows right out of the box. Know a developer? Get them to start thinking about creating Automator Actions! Or, at the very least, making their apps AppleScriptable so that Automator Action developers can create Actions for them.
What Is Doug Up To?
I haven't done much 'scriptin' lately because I've been working on developing some Automator Actions for iTunes. Here is my List:
- Answer email
- Work on Automator
- Call Ray, chat about stuff
- Call Greg, get him hep to Skype
- Produce a new Podcast
- Do that spot I said I'd do on Monday
- Do a laundry load of towels and napkins
- Get new headshot since I don't look anything like this anymore
- Mention my wife, Natalie, on the website
- Tease tweenage daughter about "Rocker" [sic] Constantine on "American Idol" (he's so cute! And thanks for ruining that Black Crowes song the other night!)
- Set clocks ahead this weekend
- Curb urge to do narciposts when nothing else is going on
See what my life is like?
Hey, Get Yer 4.7!
Because of recent security holes (and perhaps exploitable others), iTunes 4.7 or better is required to download music from the iTunes Music Store. So if you haven't upgraded to iTunes 4.7 or 4.7.1, now would be the time.
Hey! Check Out SmartPlaylists.com, Will Ya?
I am so totally remiss in reminding everyone to bookmark SmartPlaylists.com. OK. You may know it exists, but you gotta have it in your bookmarks. My good friend and Frequent Correspondent D.F.Bills makes this excellent site available for people to exchange ideas on creating Smart Playlists, probably the most powerful tool at your disposal for organizing your iTunes tracks. So, go to!
Updated: Sundry Info to Comments
For some reason, Sundry Info To Comments disappeared from the site. So I re-wrote it. It will copy your choice of file name, file path (location), parent folder name, current playlist, volume, file comments, file creation date, database id, file creator, or file type to each selected track's comment tag. You have the option of preserving each track's current comments, in which case the new data will be written first in the comment tag.
iTunes Scripts for Public Libraries
Christopher Kupec has posted an interesting article on using AppleScript to search a public library's online catalog.
New: Random Tracks by Artist to Playlist
Here's one I like. Random Tracks by Artist to Playlist will let you select a track's Artist, or an Artist from a list of your iTunes Artists, and create a new Playlist of a selected number of that Artist's randomly selected tracks. For instance, 15 randomly selected Frank Zappa tracks. You can't do this with Smart Playlists. Well, OK, you can. But you'd have to set up a new Smart Playlist for each Artist. With the script you can do it on the fly. Script writers will appreciate the Perl scripting that quickly grabs the list of Artists from the XML file.
New: How Long Between Current and Selected
So. Yer throwing a barbecue and somebody wants to know how long it's gonna be before their favorite track in the Playlist comes up. How Long Between Current and Selected will display the time it'll take 'til a selected track in the current Playlist will play after the current track. It computes the time of all the tracks in between the current track and the selected track, plus the remaining time in the current track. I highly recommend assigning this script a shortcut key. You can bang on the shortcut as often as you need to know.
It's Your Mac Life
I'll be on Your Mac Life tonight with Shawn King. According to them, around 9:30PM Eastern Time. Should be fun!
I've Moved!
Well, for all you folks who can't remember the URL to the site or who think my name is "Malcolm Adams", you'll be glad to know that I've moved the site to "dougscripts.com".
Hopefully all the bells and whistles still work. And hopefully outside links to the old "malcolmadams.com" domain will properly redirect to "dougscripts.com". Here's what you can do:
- Update any of your bookmarks pointing to the old site and switch 'em over to the new site.
- Webmasters: update any links on your site to the new address. This is just a matter of replacing "malcolmadams.com" in the URL with "dougscripts.com".
- Let me know about any orphaned links by emailing or iChatting me at dougadams AT mac DOT com.
Hopefully the transition will be a smooth one! Thanks for your patience.
The Keyspan Trick
OK, I was complaining about how I couldn't get the Keyspan Remote to fire scripts. Well, the trick is to take it out of "iTunes Mode" and make sure you assign scripts that are located in the iTunes Scripts folder.
Ah, Yes But...
Only if iTunes is the frontmost app. No button assigned an AppleScript either Global or iTunes will fire unless iTunes is frontmost. OK. I'm getting tired of working on this and Automator calls...
Up and Down Today
Apparently my hosting company is having some troubles. I haven't heard directly from them, but there's no doubt access is bumpy today. Sorry for any inconvenience.
"Your Mac Life" Appearance
I'll be chatting with Shawn King on Your Mac Life, Wednesday March 16th.
Keyspan Remote Huh?
OK. Got the Keyspan Remote. Trying to assign AppleScripts to various key functions. But I can't get 'em to go. What's the trick? I emailed the developer but I guess they're busy. Me too.
Why Don't I Like Firefox Again?
The text of my banner is Arial Black set at 20 pixels with some shadowing stuff.
The banner in Safari:
The banner in Firefox:
Safari rendering rules.
Playlist Magazine Rocks My World
Thanks to Chris Breen at Playlist for allowing me to suggest some essential AppleScripts for iTunes. Now I'm a subscriber. Are you?
I've added a new search widget to every page. I'm still playing around with it, but the "Search Scripts" form will produce a list of scripts similar to the entries in the category listings. The "Search Site" form will use the Atomz search engine to produce a results output of the entire site. The "Search Scripts" form is a homegrown MySQL FULLTEXT search of the scripts' descriptions and names--maybe you know what I'm talking about, eh? But anyway, I'm sure I can do better. I'd like to consolidate the text form and have a drop-down menu. But I'm weary now what with playing with the FULLTEXT queries. If you know about FULLTEXT querying, you can enter the IN BOOLEAN MODE modifiers. If you don't know about FULLTEXT queries, then I'll have an explanation on the "Search options..." page soon.
New: Search/Replace Tag Text
Search/Replace Tag Text will let you do a Search/Replace on a chosen tag (Song Name, Album, Artist, Composer, Comments, Genre, or Grouping) of the selected tracks or all the tracks of the selected Playlist. Thanks to D.F.Bills (you know, SmartPlaylists.com's head honcho) for help with the debugging!
New: everyPodcast
Adam Johnson's everyPodcast was submitted to Mac OS X Hints and I'm glad he let me post it here. It's a script that you can run via iPodder that will tidy up your podcast Playlists.
Updated: Lossless to AAC Workflow
I've included a second script to the Lossless to AAC Workflow package. While the original script allowed you to import CD tracks as Apple Lossless and send AAC copies to iPod, the new second script lets you select iTunes tracks you have already encoded as Apple Lossless and send AAC copies to iPod. Each script removes the AAC tracks from iTunes and deletes their files. This will let you keep archived Apple Lossless files on your hard drive and send the more manageable AACs to the iPod.
MacDevCenter: Build An iTunes Remote Control
Matthew Russell has written up an article at MacDevCenter.com describing how to use your web-enabled cell phone and your Mac's built-in Apache server to remotely control iTunes. "Setting up an iTunes remote control not only allows you to DJ parties without looking like a computer nerd, it also allows you to tap other cool possibilities like adding a wireless snooze feature to your iTunes alarm clock, or surprising family members at home with pre-recorded messages (while you sit at work and chuckle quietly)."
People With No Sense of Humor Still Inhabit the Planet
A comment at the Version Tracker listing of I Hate That iTunes Done Chime!: "You must have a remarkably uneventful life to find the need to kvetch about the iTunes 'done' chime, and write code for the means to provide a substitute. You must be wealthy, too, if the 'done' chime is sounding often enough to be annoying."
Yep. That's me all over.
Meanwhile, the first comment over at MacUpdate is more gratifying.
New: I Hate That iTunes Done Chime!
All right, I don't really hate the iTunes done chime--you know, that "boodely-oop!" that iTunes plays when you finish importing or converting a track? But it is sort of obnoxious when you are running a couple of my scripts that obligate it to sound every couple or few seconds. Well, that sound is just an AIFF file and is part of the iTunes application package. You can access it by Control-clicking on iTunes, choosing "Show Package Contents", and digging in to the Resources folder for "complete.aif". I Hate That iTunes Done Chime! will save you the trouble. This applet will let you select a System sound ("Frog", "Tink", "Submarine", et al), no sound, or your own AIFF sound to use as the done chime. Boodely-oop!
New: Track's Album to Playlist
I've been going through my Library tracks and creating Playlists of Albums. This was kind of tedious. While there are scripts that will go through your entire library creating Album Playlists, I didn't want partial albums in their own Playlists. Or, at the very least, some Albums I just don't want as Playlists. Track's Album to Playlist gathers the tracks belonging to the Album of the currently playing or selected track and copies them in track order to a new Playlist named "Artist - Album"
New: Lossless to AAC Workflow
Knowing that many iTunes users like to archive their CD tracks as Apple Lossless and then use these files to "spawn" smaller AAC files, I've come up with Lossless to AAC Workflow. This script will import enabled CD tracks as Apple Lossless, then provide you with options to convert each to AAC, add each AAC to iPod and delete the original, create a new iPod playlist for the AACs, and eject the CD.
Updated: Copy Track Info to CD Tracks
I finally got around to updating John Paul Davis' Copy Track Info to CD Tracks. This script will copy track info from iTunes to the tracks of the current CD. A persistent problem has been that you can't over-write a CD track's track number and track count and the script would generate a permissions error. I've fixed that.
Updated: Quick Convert v2.4
Correspondent Jesse Stein, an avid user of Quick Convert, requested that an option be added to choose to make converted/imported AAC tracks "bookmarkable". Done! Now why didn't I think of that?
New: Export Artwork to iPhoto
Export Artwork to iPhoto will export the artwork of the selected tracks (or tracks of the selected Playlist) to iPhoto 5, where they will also be copied to a "My iTunes Artwork" album. Requires Mac OS X 10.3 or better, iPhoto 5 or better, and iTunes 4.0 or better. Let me know how this works for you. It was kinda touchy before I got the kinks worked out.
I've got it going quite well at my house. I've set my screen saver to use the "My iTunes Artwork" album so there's a nice variety of album art gracing my monitor at all hours.
Latest Doug's Podcast Now Posted
My latest Podcast is now available. Copy this link to your RSS or Podcasting software.
New: Show iPod Song Files
Here's a simple way to access the audio files on your iPod. Show iPod Song Files is similar to iTunes "Show Song Files" menu command. You just select some tracks on the iPod and run the script. Instantaneously, the folders on the iPod containing the files of the selected tracks will open on your dektop. You can do what you will with the files once they are visible. But remember: the audio files on the iPod are located harum-scarum throughout folders named "F01", "F02", F03", and so on, so to grab the files of an Album will probably open as many folders as selected tracks. Also, I wouldn't try copying files to the iPod "Fxx" folders because I'm not sure how the iPod will deal with them if they are not added through iTunes.
Updated: PDF Adder v2.2
PDF Adder is a collection of scripts that assists with adding PDFs as iTunes "digital booklet" PDF tracks. It includes a PDF Service workflow that will add any PDF to as a PDF track to iTunes directly from the document's Print Dialog. This latest update fixes that nasty "inexplicable" error in the "Add to iTunes..." PDF Service! Also, "Add to iTunes..." is now a compiled script and no longer appears in the Dock as an applet.
Server Stuff
My web host, Fatcow, recently upgraded us all. Anytime something like that happens there's a good possibility for screw-ups. For instance, the path to the MySQL databases were changed. Well, I think I made all the necessary changes to adapt to the upgrade. But if you notice anything unusual, let me know.
New: PDF as Track Artwork
Now you can convert any PDF to iTunes track artwork. PDF as iTunes Artwork is two scripts:
- Use As iTunes Artwork... is a PDF Service workflow that, when installed, will be available in the PDF pop-up menu of the Print Dialog. It allows you to save any printable document as artwork to the selected tracks in iTunes directly from the document's Print Dialog.
- Choose PDF as Artwork for Tracks is a script that will let you choose an existing PDF file and apply it as artwork to selected tracks in iTunes. It can be installed in iTunes' Scripts folder for easy access from the iTunes Script menu.
Use a track's artwork to store
- Custom album artwork
- Song lyrics
- Track info addenda
- Podcast production notes
- Lecture notes
Anything you can print, you can make into a PDF...and any PDF can be added as artwork to iTunes.
CAUTION! Please Note About AAC and Apple Lossless tracks: If a selected AAC or Apple Lossless track already contains one artwork, artwork saved with these scripts will replace the artwork used as the track's chosen "display" artwork. If more than 1 artwork is present, artwork saved will replace the item of artwork that follows the "display" artwork. This seems to be an inherent feature of these kinds of tracks which I could not work-around. However, MP3 and AIFF tracks will accept the additional artwork without destroying any current artworks. WAV tracks will not accept artwork.
Updated: PDF Adder
PDF Adder is a collection of three AppleScripts to assist with adding PDF files to iTunes as "digital booklet" PDF tracks. Each provides a method for easily supplying Artist and Album tag data which is then applied to the newly-added PDF track:
- Add to iTunes... is a PDF Service workflow that, when installed, will be available in the PDF pop-up menu of the Print Dialog(see screenshot). It allows you to save the current document as a PDF file (from any application that uses the Print Dialog) and add it to iTunes.
- PDF Adder is an applet that will let you choose an existing PDF file and add it to iTunes. It can be installed in iTunes' Scripts folder for easy access from iTunes Script menu.
- PDF Dropper is a droplet that lets you add a PDF file to iTunes by drag-and-drop.
- Album lyrics/liner notes
- Album art and photos
- Music production notes
- Music scores
- DJ set lists
- Podcast addenda
- Audiobook chapter synopses
- Lecture notes
- Sound effects indexes
Anything you can print, you can make into a PDF...and any PDF can be added to iTunes with PDF Adder.
C.K. Sample's iPodFolderOpener
C.K. Sample, over at his web page, has started working on a script to move files from any sort of iPod. His first Phase has resulted in the script iPodFolderOpener which you will find posted at the link above. The script will open all or your entered choice of a sing "F" folder on the iPod. These are the numerous folders (F0, F1, F2...Fn) that contain the audio files on the iPod.
I took the liberty of modifying the script a bit and it is listed below. As I said, this is just the first Phase of C.K.'s script's development, so his finished product will be different from what I've modded here.
The script listed below will survey your iPod and let you open all the "F" folders in the Finder, or only those selected from a choose box:
property your_iPod_name : missing value property userchoice : "All" --set the iPod name once: tell application "iTunes" try set your_iPod_name to (name of some source whose kind is iPod) on error set your_iPod_name to text returned of (display dialog ? "Enter your iPod's name:" default answer ? "" buttons {"Cancel", "OK"} default button 2 with icon 1) end try end tell --open chosen or all folders inside Music: set userchoice to button returned of (display dialog "What do you want to do?" buttons ? {"Cancel", "ALL", "PICK"} default button userchoice with icon 1) if userchoice = "PICK" then set fs to (do shell script "ls /Volumes/" & (quoted form of your_iPod_name) & ? "/iPod_Control/Music/") set fs to my text_to_list(fs, return) set my_choice to (choose from list fs with prompt ? "Select the Folders you wish to open..." with multiple selections allowed without empty selection allowed) if my_choice is false then return repeat with a_choice in my_choice do shell script "open /Volumes/" & (quoted form of your_iPod_name) & ? "/iPod_Control/Music/" & a_choice & "/" tell application "Finder" to set current view of window 1 to list view end repeat else do shell script "open /Volumes/" & (quoted form of your_iPod_name) & ? "/iPod_Control/Music/F**/" end if tell application "Finder" activate end tell on text_to_list(txt, delim) set saveD to AppleScript's text item delimiters try set AppleScript's text item delimiters to {delim} set theList to every text item of txt on error errStr number errNum set AppleScript's text item delimiters to saveD error errStr number errNum end try set AppleScript's text item delimiters to saveD return (theList) end text_to_list
Thanks to C.K. for allowing me to post the mod!
New: Update iPod
This simple script from Jonathan Strine, Update iPod, will sync your iPod on-the-fly as long as it's connected and iTunes is on. It will only work if you have your iPod Preferences set to "Automatically update all songs and playlists" or "Automatically update selected playlists only".
New: Fix HTML Entities
You may find that some of your tracks' tags contain HTML entity names. These are strings like &, ", ', and so on. Steve Meuse's Fix HTML Entities will convert any HTML entities in the Song Name, Artist, Album, Composer, Grouping, and Comments tags of the tracks in a selected Playlist to their text equivalents.
Updated: Playlist to papercdcase.com
I've gotten some great feedback on Playlist to papercdcase.com. I've updated it to version 1.4. It will now let you choose which track info you want to put in the track boxes at papercdcase.com: Song Name, Artist, Composer, Time, Rating, and/or BPM.
papercdcase.com is a site that creates a downloadable PDF that can be printed and folded to create a paper CD case.
New: Whatever to WAV
John Klimeck contributes Whatever to WAV, a droplet that will convert any iTunes-compatible audio file type to WAV via drag-and-drop. Neither the original file nor the converted file remain in the iTunes Library (so don't drag files from iTunes because they will be removed).
New: Shared Music Monitor
Shared Music Monitor from Neil Evans is a script that monitors your Music folder and can detect when your audio tracks are played by some other device or application and then updates the play counts and last played dates of those tracks in your iTunes music library.
New: Search SlothRadio for Artwork
Correspondent Adam Glinsky used Google Lyric Search as the basis for Search SlothRadio for Artwork. SlothRadio has a CD Cover search page on their website that takes an Artist and Album name and does a search for cover art. The script takes the Artist and Album info from the selected track -- or playing track if none is selected -- and sends the properly formed search URL to SlothRadio via your default web browser. I've found the searches about 90% successful, often supplying several variations of album art, and they generally produce results with large-sized cover art.
That didn't take long...
The script is updated.
New: Playlist to papercdcase.com
Frequent Correspondent thenightfly brought to my attention the website papercdcase.com. This site enables you to enter Artist, Album, and Song Name information into a web form, which is then used to create a PDF file that you can view, print, and fold to create a paper CD case. Neat! Of course, entering all that data can cause repetitive stress problems, so I wrote Playlist to papercdcase.com. It will enter the proper information from a selected iTunes Playlist to papercdcase.com's form in Safari. Then you just have to click a couple of buttons at the site to get yer PDF. Currently it only handles up to 16 tracks, but I'll see if I can update the script to use papercdcase.com's Advanced form, which handles up to 28 tracks.
Top Ten AppleScript Tips
Adam Goldstein (author of AppleScript: The Missing Manual) has writ down his Top Ten AppleScript Tips. Make a note!
New: Track Number to Song Name Prefix
Track Number to Song Name Prefix will examine the Track Number of the selected tracks (or all the tracks in the selected Playlist if no tracks are specifically selected) and append it to the beginning of the track's Song Name, i.e: "01 - Song 1", "02 - Song 2", and so on. Tracks whose Song Names already contain a number prefix or have no track number will be skipped.
New: Append Artist to Filename
Append Artist to Filename renames the files of the selected tracks, appending the Artist name to the beginning of the filename, i.e: "The Ramones - Do You Wanna Dance.mp3".
Updated: Rate Me! Rate Me! v2.0
Rate Me! Rate Me! is a stay-open applet that runs in the background waiting for un-rated iTunes tracks to play. When an un-rated track begins playing, a dialog pops up in whatever application you're working in to demand that you rate the track. This latest version allows you either enter 0 - 5 for Ratings stars, or any other number through 100 as the actual value. As we've discussed, a My Rating sort is based on the actual rating value 0 - 100. Rating star display is based on a factor of 20. Additionally, when you re-activate the applet, it will grab the current track's rating, no matter what it is, so you can edit it if desired. And additionally additionally, I have included a script, "View and Set Rating 0 - 100", that will allow you to select any track and set its rating value to 0 - 100.
More Ratings Stuff
Well, I've been playing with setting Ratings to non-factor-of-20 numbers. In yesterday's post I may not have been clear how the Rating Stars are displayed. There is also a mistake in the script I posted!
First, Ratings can contain any number between 0 and 100. One Rating Star is equal to 20, such that:
- 0-19 = no stars
- 20-39 = 1 star
- 40-59 = 2 stars
- 60-79 = 3 stars
- 80-99 = 4 stars
- 100 = 5 stars
Interestingly, there are no increments for 5 stars.
As for the error in the script, here is the corrrected version, which filters bad text characters more efficiently:
tell application "iTunes" if player state is not stopped then set thisTrack to current track else if selection of front window is not {} then set thisTrack to item 1 of (selection of front window) else display dialog "No track is playing or selected." buttons ? {"Cancel"} default button 1 with icon 2 end if end if end tell do_rating("", thisTrack) to do_rating(addenda, thisTrack) tell application "iTunes" set new_rating to text returned of (display dialog addenda & ? (thisTrack's name) & " is Rated:" default answer ? (get thisTrack's rating) default button 2) try if new_rating as integer is less than or equal to 100 then set thisTrack's rating to new_rating as integer else my do_rating(("You must enter a number between 0 - 100..." & ? return & return), thisTrack) end if on error my do_rating(("You must enter a number between 0 - 100..." & ? return & return), thisTrack) end try end tell end do_rating
Sorry for the inconvenience!
Ratings Increments
As you might know, Track Ratings values, despite displaying up to five stars, use integers 0 through 100. Each star is equal to a factor of 20. As this hint at Mac OS X Hints points out, you can achieve greater flexibility with your Ratings by using inter-incremental values. When tracks are sorted by rating iTunes will use the actual value assigned, even though the display of stars will be rounded to the next factor of 20.
Of course, you can't see the actual number you give a Rating in iTunes. But you can view and set a track's Rating with AppleScript. So I wrote this script that allows you to view the actual Rating value of the current track (or selected track, if no track is playing) and change it to whatever value between 0 and 100 you like:
tell application "iTunes" if player state is not stopped then set thisTrack to current track else if selection of front window is not {} then set thisTrack to item 1 of (selection of front window) else display dialog "No track is playing or selected." buttons {"Cancel"} ? default button 1 with icon 2 end if end if end tell do_rating("", thisTrack) to do_rating(addenda, thisTrack) tell application "iTunes" set new_rating to text returned of (display dialog addenda & ? (thisTrack's name) & ? " is Rated:" default answer (get thisTrack's rating) default button 2) try new_rating as integer is greater than or equal to 100 set thisTrack's rating to new_rating as integer on error my do_rating(("You must enter a number between 0 - 100..." & ? return & return), thisTrack) end try end tell end do_rating
Just copy it to Script Editor and save it to your home > Library > iTunes > Scripts folder.
Updated: Track Parser v1.3
Dan Vanderkam's sophisticated Track Parser has been updated to version 1.3. This script uses scanf-like and regular expressions pattern-matching to disassemble groups of song names and reassign text to correct tags. For example, parse the song name XTC - English Settlement - 15 - Snowman using the pattern %a - %l - %t - %n, sending Artist, Album, and Track Number to their appropriate tags. Dan sent me a rather lengthy list of new features, but I'll just give you the highlights:
- Substitutions can now set more than just the name. This is an extremely powerful feature, as it lets you introduce new information into a match.
- Substitutions can also take input from multiple sources. This allows you to do essentially anything that involves only specific track information (as opposed to "number of tracks selected," say).
- Substitutions can now ask the user questions and use the response in the substitution. Mostly for use in spin-offs and saved patterns.
- Added the ability to spin off patterns into standalone scripts.
There is an excellent accompanying Read Me, also.
Five Stars From The Podcast Bunker
The Podcast Bunker has given my Podcast a five-star rating and made it one of their "Podcast Picks". The Podcast Bunker rates Podcasts based on quality, so it's quite a nice compliment. Gosh, I'm right up there with "On The Media", "Inside Mac", and "Australian Craftbrewer". Thanks, guys!
New: One Song From Each Artist In Playlist
I don't often do Correspondent requests, but this one looked like fun. And what the heck, we're waitin' on a blizzard here. One Song From Each Artist In Playlist will copy one song from each Artist in a selected Playlist (say, one containing all your "Classic Rock") to a new user-named Playlist. You can then play the new playlist, shuffle and play it, or just quit. Works with iTunes and iPod Playlists. As an example, I created a Smart Playlist on my iPod that contained all my "Brazilian" tracks, then ran this script on it to create a new Playlist with a single song from each Artist in the "Brazilian" Playlist. I know, only one Gil Gilberto tune at a time, but the variety is quite nice. Thanks to Correspondent Adam Zucker for the suggestion.
That's Not What I Meant #4
iTMS snafu: "Your search for 'Out of Mothballs' (Dan Baird CD) did not match any results.
Did you mean Out of Gotohells?"
New: Make An EQ Preset Script
Someone over on MacSlash wished: "I'd like EQ settings to be little files you could share and email." Well, that's easy enough with AppleScript...an AppleScript that creates another AppleScript using the settings of a selected EQ Preset. When this spawned script is run, it will re-create the selected EQ Preset in iTunes. Just email the spawned script to you pals and they will get a cloned version of your selected EQ Preset. Make An EQ Preset Script. Make a bunch!
Latest Doug's Podcast Posted
My latest Podcast is available. Copy this link to your RSS Reader or Podcast software.
Updated: CDDB Safari Kit
CDDB Safari Kit has been updated to v2.3. After running into a couple of "Various Artists" pages on the CDDB, I realized that previous versions wouldn't allow you to grab the Artist names, which are included in the Song Title on CDDB. The latest version of these scripts will now detect a "Various Artists" disc and give you the option of either leaving the Artist name in the Song Title or moving it to the Artist tag of each track. Additionally, by user request, the track count and track number for each track is now supplied to the appropriate track tags. Plus, I fixed a problem converting the ampersand HTML entity (&) to plain old ampersand (&).
Info on iTunes 4.7.1
There isn't much new AppleScripting stuff in iTunes 4.7.1, but the "selection bug" was squashed. I've written up the changes here.
Marvelous Time at Macworld
This past Macworld was my first and I can't believe how much fun I had and how many interesting people I met. It was quite surprising to be walking around the show floor and have people read my badge and recognize me. I was also able to meet some people I've been Corresponding with over the years, and a handfull of crazy Mac magazine editors. And I was finally able to meet David Heller, the guy who makes iTunes happen at Apple, and Sal Soghoian, the real AppleScript guru. You know, you can sit at your house or your office or your park bench and work on your Mac and think "How great is this machine!" But when you meet the people who make the thing swing it's no surprise the Mac is as as elegant and well made as it is. It's great to be part of a super community.
iTunes 4.7.1 Released
Greetings from Macworld. I finally got on a public terminal. (The line at the show's Internet Cafe is dreadfully long.) ANYway, you've probably already heard about the Mac mini, the iPod Shuffle, iLife '05, and iWork. No doubt the rage of the show is the Mac mini. The iPod Shuffle is truly a great audio player, though it wouldn't be your primary player, of course. Because of the way files have to be added to it, Tunes had to be updated to 4.7.1. No major new features in this update, except a new iPod Preferences to accommodate the iPod Shuffle. I was glad to hear that the AppleScript selection bug that turned up in 4.7 has be fixed.
Also noticed an item about iTunes 4.7.1 on this Apple Security Updates page: "iTunes supports several common playlist formats. iTunes 4.7.1 fixes a buffer overflow in the parsing of m3u and pls playlist files that could allow earlier versions of iTunes to crash and execute arbitrary code."
Gone Fishin'
This week I will be at Macworld SF. I won't be posting anything new or answering much email while I'm there due to limited resources. I also won't be able to post any news from the Keynote or show floor until I return on Thursday. Hope I see you there!
Happy New Year or What!?
I must have slept through the anniversary date of this site, which was about ten minutes after iTunes 2.0.2 was released in early November, 2001. I think. Anyway, the end of a year is good enough to mark the anniversary. Actually, I think the SoundJam AppleScripting site (which was the original incarnation of this site) went up the previous January or February. Like I can remember anything anymore, such as writing important dates down. Well, ANYway...I've been doodling here for about three years. Thanks for your support, generosity, correpondence, friendship, and feedback. Because of this site I'm known on a first name basis all around the 'net, which is flattering and quite awesome. How cool is it to Google your own name and find that yours is the "Feeling Lucky" site? (Although, some people still think my name is Malcolm, as in the URL of the site; Malcolm and Adams are my wife's and my last names, and we originally registered the domain name with the intent of promoting her landscape architecture business. When that went South--or West, as my UK friends would say--I started doing the 'scripting stuff. My Tex-Edit Plus site still languishes/thrives. Geez, that went up in 1998...another whole story that requires more than a parenthetical aside.)
Wishes for 2005?
- More app-specific AppleScripting sites! C'mon, you geeks! Mail, iCal, iChat, NetNewsWire, and dozens of others could use the AppleScripts for iTunes treatment. Like Elvis said, "There's room for everybody."
- A really, really good intro to AppleScript book. Most books I've seen try to explain everything about AppleScript. (My favorite intro to AppleScript was written by Sal Soghoian in the December, 2002 Macworld, regrettably, not online.) The secret is to learn how to 'script one app you are familiar with and expand from there. Every 'scriptable app implements AppleScript differently. It's not like Perl, which once you know, you know. You can spend years dabbling with AppleScript and still discover new riches with each app.
- People should stop referring to me as a "guru". I'm just a Man.
- The collapse of corporate radio and the re-birth of progressive locally-owned radio. (Yeah. Like that's gonna happen.) Radio stations with McDonald's-style playlists of 200 songs that suck the least are boring the hell out of me.
- The continued devolution of music distribution. I can't believe my local "Strawberries" is actually making any money. Viva the iTMS! New blood and people who "get it" in the RIAA. And you peer-to-peer file sharers aren't helping.
- A decent inexpensive set of headphones, fer cryin' out loud. I love my Denon AH-D210s. I buy two pairs a year cuz I step on 'em or the plastic on the earpieces sheds off and blocks my ear canals. Ear buds you stick in your ears are silly and probably harmful.
- Wireless iPod. They gotta be working on it.
- NPR, New York Times, Slate, and Washington Post podcasts. C'mon, get with it. What are you waiting for?
- Where the heck are the Long John Baldry albums "Everything Stops For Tea" and "It Ain't Easy"? Produced with The Faces and Elton John, these are pure gems. I can't believe I was the only teenager in the 70's who worshipped Long John. Screw that square junk he did. He can rock. OK. [UPDATE: Oooh! Looks like February '05. Psyched!!!]
Happy New Year! I hope you get smarter, safer, and better looking as time goes on. I know I do.
Our Windows Cousins
AppleScript is Macintosh-only, which gives a lot of Mac users a (dubiously) legitimate opportunity to spurt nyeah-nyeahs at our Windows friends. However, as this site has grown in popularity, many Windows users Google here looking for solutions. Now, imagine how you, as a Mac user, would feel if you couldn't find an iTunes script solution? I feel Windows-users' pain. So, in the interest of World Peace and Understanding, I am putting together a list of Windows sorta-script sites. But I can't do it alone. So if you are aware of any cool Windows plug-ins sites, let me know and I will post them on that page.
The Refreshments
Oh dear! One of my favorite '90s bands is The Refreshments. They are probably most known for doing the theme to "King of the Hill". But man, they really are a rockin' crew. (I still have several t-shirts we had made up that displays my favorite lyric "Everybody knows that the world is full of stupid people.") When I worked in radio they came by the station a coupla times and I recorded some of them playin' live. ANYway, I just dl'd their first album and I just had to say BUY THEIR RECORDS!.
Not For Nothin', But...
I hate to up my own scripts, but man! Not In Any Playlist To Playlist has been extremely helpful in getting my iPod cleaned up. I like my iPod to have nothing but Playlists and this script totally helped me clean up the whole iPod in less than fifteen minutes. Remember to Option-Delete tracks within a Playlist to totally remove them. Have fun!
Macworld Reminder
Just so you know, I will be floating around San Francisco January 10 - 13th for Macworld and my dancecard is filling up! If you want me to hit your booth or otherwise get in touch, email me!
Not In Any Playlist Scripts
I have had a couple of scripts posted for a while that will examine your Library for tracks not assigned to Playlists and then generate a text file listing those tracks. Many Correspondents have asked me to create a script that will, instead of making the text list, copy those tracks to a new Playlist. I finally got around to working on this and it is called Not In Any Playlist To Playlist. This will search your iTunes or iPod Library (depending on what is selected in the iTunes Source pane) for tracks which have not been included in any Playlists, then puts 'em in a new Playlist called "Not In Any Playlist But This". It runs fairly briskly, and in the interest of displaying progress, the new Playlist is selected so you can watch it fill up with tracks.
Additionally, because of an improved method of gathering the track info, I have updated Not In Any Playlist and Not In Any iPod Playlist, both of which create a text file listing the "orphaned" tracks on iTunes or iPod, respectively.
Updated: Import iPod Audio Files
Import iPod Audio Files has been updated to version 1.8. This script enables you to select tracks on the iPod and import their files to your Music folder, add them to the iTunes library, and optionally place the tracks in a discrete playlist. The optional "ProgBar" accessory application will display a progress bar as tracks are imported. This latest version fixes a problem with locating iPod directories on single-partition systems; fixes problem creating Compilations folders; better at locating the XML file.
Updated: New iPod Playlist From Selection v2.2
So I wiped my iPod and wanted to add a bunch of new stuff, and naturally, I wanted to use the script New iPod Playlist From Selection. This script will copy the selected tracks in iTunes to a new playlist on the iPod, like iTunes' own "New Playlist From Selection". Well, turns out that there was a flaw in the script's mechanism that would occasionally prevent newly added iPod tracks from being copied to a new iPod playlist! Duh! You gotta wait for the files to be copied to iPod before you can copy 'em to a new playlist. Major oversight! So now, the script will wait until the selected files have been copied to iPod before copying them over to a new playlist on the iPod. So sorry for the inconvenience. This script is the balls now!
Merry Christmas!
Well, naturally, I'll be away from site-postings for the next few days. I have a marevelous wife and dandy 9 year old girl-child and I am going to be spending time with them over the next few days. I hope you have a wonderful holiday, and thank you for visiting the site over the last year(s). I may have a new post tomorrow, but only if I can finish wrapping presents! My best to you and yours, most sincerely! Enjoy the time you have with 'em!
Updated: Copy From Start to Stop
If you need to "slice up" longer tracks into smaller files, Copy From Start to Stop will make a copy of the selected track using its Start and Stop times. Additionally, you can select an encoder on the fly and have an opportunity to name the new track/file. Works great on CD tracks, but file tracks can be re-encoded also--just be aware that re-encoding an encoded track could result in degradation of quality. This script was formerly known as "Copy MP3 from Start to Stop".
Macworld Attendance
My wife is forcing me to go to Macworld San Fran. I will just be a plain old attendee. I will be in town from Monday, January 10 thru early Thursday. If you want to meet up, email me and let me know where and when you'll be around.
Doug's Podcast for December 21, 2004
My latest Podcast is available. Here's the RSS link.
Macworld SF 2005
I think I may be going to MacWorld San Francisco afterall. Still trying to work out the details. It's easier for me to go to Macworld Boston 'cause, heck, it's right up the street. But heading to the West Coast in mid-January does have climactic and meteorological advantages and appeal. Plus, I understand there'll be a lot of Mac-people there or something.
Import iPod Audio Files Addenda
Several users are reporting a failure of the UNIX find command in the Import iPod Audio Files script. The error is reported as something like "find: /My iPod/iPod_Control/Music: No such file or directory". I think I have found the trouble. I hope to have an updated version of the script posted within a day or two.
New: Delete Tracks Never Played
Jim Heid challenged me to come up with a script that would delete and trash the tracks in iTunes with 0 play counts. Dangerous stuff, but I have come up with Delete Tracks Never Played. Just select a playlist and run the script. Tracks that have never been played (including new tracks you haven't played yet, he said cautiously) will be removed completely from iTunes and their associated files immediately Trashed. (You can follow the evolution of this script on my main page.) Use this with great caution! Probably best to first create a Smart Playlist using 0 play counts and a particular added date as the criteria.
[UPDATE] I graduated the University of Rhode Island with a degree in English Lit and a minor in Linguistics. I STILL have trouble with "it's" and "its". I do have confirmed brain damage. I apologize for using the wrong "it's" in the scripts listed below. I'm too lazy to fix it. The finalized script does not contain the error. (THINK: its is like hers--no apostrophe!)
Evolution of a Dangerous Script
All right. Last time. This version of the script will remove the track completely from iTunes and delete its file. Danger - High Voltage:
tell application "iTunes" try set theP to view of front window on error display dialog "No playlist is selected." buttons {"Cancel"} default button 1 with icon 2 end try display dialog "This script will remove every song from the selected playlist whose play count is 0. It's file will also be Trashed." buttons {"Cancel", "Procede..."} default button 1 with icon 2 with timeout of 300 seconds set these_tracks to (every track of theP whose played count is 0) repeat with aTrack in these_tracks set loc to quoted form of POSIX path of ((aTrack's location) as string) set dbid to aTrack's database ID set the_command to "rm " & loc delete (some track of library playlist 1 whose database ID is dbid) do shell script the_command end repeat end timeout end tell
Use with extreme thoughtfulness.
JH Challenge 2
Okay, okay. Here's a version of the script that deletes the files, too:
tell application "iTunes" try set theP to view of front window on error display dialog "No playlist is selected." buttons {"Cancel"} default button 1 with icon 2 end try display dialog "This script will remove every song from the selected playlist whose play count is 0. It's file will also be Trashed." buttons {"Cancel", "Procede..."} default button 1 with icon 2 with timeout of 300 seconds set these_tracks to (every track of theP whose played count is 0) repeat with aTrack in these_tracks set loc to quoted form of POSIX path of ((aTrack's location) as string) set the_command to "rm " & loc delete aTrack do shell script the_command end repeat end timeout end tell
Use cautiously!
The Jim Heid Challenge
Jim Heid, over on his Mac iLife site, sorta challenges me to come up with a script that will remove tracks from a playlist whose play count is 0. Here 'tis:
tell application "iTunes" try set theP to view of front window on error display dialog "No playlist is selected." buttons {"Cancel"} default button 1 with icon 2 end try display dialog "This script will remove every song from the selected playlist whose play count is 0." buttons {"Cancel", "Procede..."} default button 1 delete (every track of theP whose played count is 0) beep end tell
It will not delete files. Just remove the tracks. I feel funny about writing a script that deletes files. (This could be added to the script, but it would take much longer to delete the files; each would have to deleted individually. Notice how the delete statement works in a single stroke.) Also, remember that if you run it on the main library it will remove any tracks with a 0 play count! Best to run it on individual playlists, like a Smart Playlist that gathers all 0 play count tracks, as Jim suggests.
Uhm, How DO Regular Folks Make a PDF?
Already hit with this question via email. Simple. In any application's Print dialog, you have the option to "Save as PDF...". When you click this option, instead of printing the document, a PDF of the document is created. Have fun!
New: PDF Adder
Whew! Love the recently discovered PDF feature in iTunes 4.7. In case you didn't know, the special edition U2 box set at the iTMS comes with a PDF ("Digital Booklet") of esoterica which can be accessed via iTunes. Well, us regular folks can make PDFs, too...lyrics, album art, production notes, whatevah. I created PDF Adder to use a selected track's Album and Artist tags to likewise tag a PDF "track". Just select an audio track in iTunes and run the script. It asks you to select a PDF. The PDF is added to iTunes and uses the selected track's Artist and Album tags in the PDF "track" so you can better associate the PDF with a particular Artist and Album.
More delicious info about PDFs in iTunes is in here. Oh man! Do I see a great way of distributing information! See ya, FLAC! An AppleScript can be written to download a music file, an accompanying PDF file, add 'em both...hmmm. My next podcast may even contain production notes as PDF...Apple, you sly dog!
iPod Garage Has More Info
This article at iPod Garage has some interesting perspective on how PDFs can be used in iTunes as far as distribution of extra-curricular info.
PDF Smart Playlist
I've created a Live Updating Smart Playlist that snags all the PDFs I add to my Library. This is incredibly handy for storing screenshots and such!
...and Moreso
So I'm playing around with this PDF thing (note above) and iTunes will copy the PDF to Unknown Artist/Unknown Album folders in the Music folder (my "Copy files to iTunes Music folder..." is checked in Advanced Preferences). You can get the filepath of this location by getting a PDF track's location. Once you have this--it's an alias, rather than a file string--you could move it to iPod, or anywhere.
I wonder why PDFs are acceptable to iTunes yet other graphics and text files aren't? I mean, the file kind even shows up, so it must have been anticipated. What is Apple thinking about here?
iTunes is for More Than Just Music Files
I have often said that iTunes is a great database program with a cool audio player bolted on. This hint at Mac OS X Hints discusses using iTunes to organize your PDF files. Just add a PDF by dropping it on to iTunes and it appears in the library. These PDF "tracks" are 'scriptable, too. Although you can't "play" a PDF "track", by double-clicking it the file will open in Preview. You can supply your own tag data, too. The PDF can be text or graphic data. And remember, you can write AppleScripts to manipulate the "tracks" and their data. Cool idea!
Not For Nothing, But...
I don't like to get political, but I have to say: Bravo Spc. Thomas Wilson! More balls to ya!
iTMS Search Snafu #3
OK, I'm a knucklehead to search for Homer and Jethro in the iTMS, but this is what I was told:
"Your search for Homer and Jethro did not match any results. Did you mean Home in Jethro?"
Wow! iTMS Xmas Fun!
Okay, I hate to plug the iTMS (not really), but MAN! Cherry-picking great Christmas music has been a ball! Everything from Ella to Bing and Vince Guaraldi to Elvis and Brian Setzer to Jet! Wow! Wowee!
Updated: Just Play This One
One thing that always irks me (and any programmer, I'm sure) is when you read that someone recommends your software and then someone else says "I tried that and it didn't work." Geez, it worked at my house! Case in point: Just Play This One. I've updated this script that will let you select a single song, and have iTunes play it and stop. In the previous version of this script, I used all kinds of convoluted figgerin' to determine when a song had finished playing. Duh. I got a hint from a post at the Apple boards (the link for which I have lost!): copy the song to its own temporary playlist and play the playlist. Genius! The script can observe when the playlist has stopped, delete the temporary playlist, and quit itself. Works so much better!
Linking to Script Entries
Hey you people! I notice in my far-flung trolling that many people link to the scripts on this site by copying the URL from the browser address box. Don't do this! Each script has a "link" box that you can copy and bookmark its link from. See, a script's entry location can change over time. Its permalink, if you will, is the "link" URL. Get in the habit of Control-clicking or right-clicking the "link" button.
Okay. As Stan Lee would say, "'Nuff said."
Mono Bookmarkable Files and Fix
This thread at the Apple boards discusses the Can't-Wake-iPod-from-Sleep-after-playing-mono-bookmarkable-tracks bug. Apple is apparently aware of the problem. The quick fix is to convert your mono tracks to stereo. Well!
Doug's Podcast for November 30, 2004
My latest Podcast is available. It has been encoded as an AAC file and is bookmarkable--why didn't I think of that before? Load it up in your newsreader or podcasting software, dump it to iPod, and enjoy!
Good Read
New York Times writer John Schwartz says To Know Me, Know My iPod.
Snuck One In There
"Snuck"? Is that a word? I snuck a tiny update of Import iPod Audio Files in yesterday that Swedish users should appreciate. Friendly Correspondent Magnus Gunnarsson (whose sister is getting married today! Cheers!) has been having trouble with the 24 hour time format. Once again, thick-skulled Amerkin that I am, I was completely ignorant of the fact that some countries use a "." rather than a ":" to separate hours and minutes in a time string. So the script now accounts for that and is up to version 1.7.1. Magnus said it worked fine, but because of the aforementioned nuptials, over which he is toastmaster, he wouldn't get a chance to import his entire iPod library til after the festivities...or whenever the hangover wears off. Thanks Magnus, most sincerely!
BTW: Snuck Is a Word
Updated: Import iPod Audio Files v1.7
Import iPod Audio Files v1.7 has now been posted. This script will enable you to select tracks on your iPod and transfer their files to your Music folder, after which the files are added to your iTunes library--and copied into a discrete playlist, if you wish. Latest version handles international localizations better (though not all languages; please keep me informed), transfers ratings tags, handles 12 or 24 hour time formats (required to assist in locating files by modification date), copes with backslash characters in Album or Artist names. Thanks to the many Correspondents who helped with suggestions, additions, and beta testing.
Latest News on Import iPod Audio Files
I am close to finishing up the new version of Import iPod Audio Files. The next version will include some fixes and features, including: support for 12 or 24 hour time formats (used to determine the modification date of the selected iPod file); ratings transfer; fix problem with Album and Artist names containing backslashes; better (but not perfect...yet) localization support. Thanks to the many Correspondents who have assisted with suggestions and beta testing, and for being patient!
Updated: Export Via QuickTime v1.1
A Correspondent alerted me to the "no tracks selected" error in Export Via QuickTime. This is a script that will enable you to open and export the files of the selected iTunes tracks to a user-chosen folder using one of QuickTime Pro's audio formats: 3GPP, AIFF, AVI, Hinted Movie, muLaw, MPEG-4,QuickTime Media Link, QuickTime Movie, System 7 Sound, and Wave. Anyway, I have updated it to fix the error and it should work fine now.
Import iPod Audio File Localizations
I have had some very helpful responses to my query about getting the localized names of file kinds, which will help fix the "ext not defined" error some are experiencing with Import iPod Audio Files. Also, there have been some problems using 24 hour time formats (once again, being a dumb-ass Amerkin, I forget that not all countries use AM + PM). I have already received a fix on the time problem from a Correspondent, so its just a matter of incorporating all the fixes into a new version, testing, etcetera. Look for a new version in a day or so.
Gotta Love the CSS min-width property
Being an old-school HTML guy, I'm conscious of keeping my HTML pages expandable. Unfortunately, while this allows for making the page as big as the browser window, it also forces the page to be as small as the web browser window. In this latter case, the outer columns could crush the center column (which is generally where one finds the cream of the correspondence). Enter the CSS min-width property, which enables the pages of a site to expand to any size, but only collapse to a specified size. Yahoo! It's now employed here as a property of the html element; page sizes will now be a minimum of 900 pixels.
Updated: Block Party! v1.1
Here is the updated version of Block Party!. This script will create a special playlist containing random Artists and a specified number of their randomly chosen tracks, such that the tracks will play "in-a-row" fashion. New features include the option to select a particular playlist to use as the source for Artists and tracks; option to limit the size of the playlist by time length; better error checking. ReadMe explains details and contains some mods you can easily make to the script yourself.
Coming Soon: An Update to Block Party!
Thanks to some very good feedback from Correspondents, I have been working on an update to Block Party!. The new version, which I'll probably put up on Monday, has the option to select a Smart Playlist to use as the source of Artists and their tracks (allowing you to use a Smart Playlist created by particular Genre for instance, or whatever qualifying criteria you like, as the source of tracks). Also also, you will the option to be able to set a maximum time for the "Block Party" playlist, rather than just the number of Artists. Also also also, I've put some better error detection in to prevent infinite looping if your "Block Party" playlist criteria isn't met--this could happen if you don't have enough Artists with enough required tracks to meet your size limitations. Anyway, I thought I'd let you know.
Gizmodo.com Rules!
Where have I been? Gizmodo.com mentioned my Podcast today and I'm getting a tidal wave of hits from 'em! What a great site! Bookmark 'em! NOW!
iPod Crash After Applying Make Bookmarkable?
The comments thread in this Mac OS X Hints hint suggests that there may be a problem using Make Bookmarkable, which converts selected AAC tracks you have ripped to "bookmarkable". Apparently, newer iPods will refuse to wake from sleep after playing a monaural file converted by the script. I have not experienced this phenomenon. But if you have then let me know. I doubt it is the script's fault, and more likely how iPod software is interpretting the converted file.
International Import iPod Audio Files Assistance
I receive a few emails from non-English users of Import iPod Audio Files complaining that they get an error when the script is trying to identify the kind of a selected track. The reason this happens is because the script is looking for the US-English names of the kinds of the tracks. Being a pig-headed Amerkin, I dunno the non-English names for these track kinds. The script now looks for MPEG audio file, Protected AAC audio file, AAC audio file, AIFF audio file, WAV audio file, Apple Lossless audio file. Well, in Sweden, for example, these are (probably) "MPEG-ljudfil", "Skyddad AAC-ljudfil", "AAC-ljudfil", "AIFF-ljudfil", "WAV-ljudfil", and "Apple Lossless-ljudfil".
Do you see the dilemma?
I have prepared a script that will paste the kinds of your tracks to the clipboard so that I can (or you can) edit the Import iPod Audio Files script to correctly access the kind of your selected tracks. And here it is:
tell application "iTunes" to set all_kinds to (get kind of file tracks of library playlist 1) set the_list to (my get_discrete_list_of(all_kinds)) set new_text to "" repeat with a from 1 to length of the_list set new_text to new_text & (item a of the_list) & return end repeat set the clipboard to new_text display dialog ? "The clipboard now contains a list of the file kinds in your iTunes Library." & ? "Please paste the contents of the clipboard to an email or text document so I can see it!" buttons {"Thanks!"} default button 1 to get_discrete_list_of(list1) script a property list1ref : list1 end script set list2 to {} script b property list2ref : list2 end script repeat with i from 1 to length of list1 set this_item to item i of a's list1ref considering case if this_item is not "" and this_item is not in b's list2ref then set end of list2 to this_item end considering end repeat return b's list2ref end get_discrete_list_of
Just run it from iTunes or Script Editor and it should produce a list of all the track kinds in your library and put it in the clipboard. Then you can paste it someplace safe, like a text doc or an email. If you want to send me your list (non-US users only, please) I'll see if I can create an Import iPod Audio Files script that works correctly with your language.
New: Block Party!
Being a former radio guy, I've worked my share of "Block Party Weekends", "Twofer Tuesdays", "Double Edge Weekends", "Triple X Weekends", and so on. Correspondent Jeff Click suggested that a script might acomplish making a playlist of randomly selected artists and a specific number of random songs for each artist. Loving a challenge, I've got Block Party! ready to go. Just tell the script how many Artists you want and how many of their Songs you want in a row, and a "Block Party!" playlist is generated. (Here's a screenshot of an example playlist.) I really like this script! Thanks, Jeff.
Doug's Podcast Debuts
I'm pleased and excited to announce the debut of Doug's AppleScripts for iTunes Podcast. A Podcast is an audio presentation delivered by an RSS feed. It can be downloaded and added to iTunes (or any audio player) and added to iPod for portable listening. You can, of course, load a Podcast to any portable player, but Podcasting has been most associated with the iPod. (If you want to learn more about Podcasting, visit iPodder.org.)
In Doug's Podcast, I talk about the latest AppleScripts posted at the site, tips and info, and other stuff I think AppleScripting iTuners might find interesting. It's a 5MB download and goes for about ten minutes. I hope to produce a new Podcast about every two weeks.
To learn how to subscribe to Doug's Podcast with your newsreader, or with Podcasting software such as iPodderX or iPodder, be sure to read Doug's Podcast Information.
Additionally, if you subscribe to the Podcast feed with NetNewsWire from Ranchero Software, I have written an AppleScript called Get Doug's Podcast in NNW that will download the Podcast from NNW and add it to iTunes. Just put it in NetNewsWire's Scripts folder, select the feed, and run the script. The script's accompanying ReadMe explains more.
I think Podcasting will be a fun way to deliver news and info about the site. Plus, it's a natural for me. I'm an audio producer by profession (and former radio guy) so producing my own 'cast, in addition to the "geek factor" of delivering it, makes my qi flow good.
Goodbye Audion
Tonight I (and many other registered Audion users) got an email from Cabel Sasser of Panic Software announcing that Audion is officially being retired. Audion is/was a great MP3 player and I'm sorry that it won't be developed any further. More illustrative info here. Thanks for the great times, guys!
Updated: Remote Management Scripts v1.2
I have updated the Remote Management Scripts collection to v1.2. There were several scripts that needed to be fixed to work around the iTunes 4.7 selection bug. This collection of scripts will assist you in managing shared tracks and playlists on a remote machine over a network via iTunes on the local machine.
Edit Track Info - Edit a selected shared track's name, artist, album, composer, EQ, genre, play count, rating, volume, and year.
Remove From Playlist - Remove selected shared tracks from selected shared playlist.
Delete Playlist - Delete the selected shared playlist.
Selected Tracks to Playlist... - Copy the selected shared tracks to a new or existing shared playlist.
Add Selected Remote Tracks - Copy the files of selected shared tracks to the local computer and add to iTunes.
Add Selected Local Tracks - Copy the files of selected local tracks to the remote computer and add to its iTunes.
Requires configuring with administrative privileges and Remote Apple Events enabled. Read Me includes instructions on setting up.
I live in Providence, Rhode Island, which is a stone's throw and half away from Martha's Vineyard, Massachusetts. There's a very cool radio station there called WMVY. It's actually owned by a guy I used to work with. It's a very cool station and they play a wonderful mix of music. Well, guess what? Now YOU can get 'em on iTunes radio. They're listed as mvyradio in the Eclectic section of your iTunes radio playlist. Now I can recycle that coat hanger and aluminum foil I've been using to try and pick 'em up on my old Proton radio. Congrats, 'MVY!
Updated: Import iPod Audio Files v1.6
Import iPod Audio Files is now updated to version 1.6. I have added several new features as well as fixing a couple of bugs. First, the bugs: apparently there has been a long standing problem with creating new folders in the designated Music folder ("Can't get folder" error), and this is fixed. Elsewise, the script is now better at narrowing down the correct file in the iPod by virtue of using the last modified date. Blank Album and Artist tags will now create "Unknown Album" and "Unknown Artist" folders correctly. Compilation tracks are handled correctly. Finally, I have added the ability to use the optional "ProgBar" application to display a progress bar of imported tracks. (Thanks to TJ Mahaffey of Spork Software!) "ProgBar" is included in the download along with information on how to install and use it--it's pretty simple and is purely optional.
See the entry below concerning possible import-recognition problems. As usual, let me know of any difficulties!
Here's An Odd One
I have heard from a couple of Correspondents that Import iPod Audio Files does not always work correctly. This script will enable you to import the files of selected iPod tracks into iTunes. First, it doesn't work with Windows-formatted iPods, but that hasn't been the problem. It appears that some iPod tracks/files are unable to be recognized.
Here's how the script works: the size in bytes of each selected iPod track is used with the UNIX bash command "find". The size in bytes of a file is pretty much a fingerprint of the file. The "find" command attempts to locate a file of the same size (and correct file extension also) on the iPod and then it copies that file to your hard drive. It's pretty much infalible; but on the rare occasions when two or more files have the same file size, you are given the option to select the correct file.
Today I was testing an additional parameter to the "find" command. I was attempting to use the modification date of the selected file to help narrow the "find" parameters (it works). However, some files were being skipped over. Very inconsistent. Some files were always found and copied, others--very obviously meeting the "find" criteria--were just "not found".
Then I recalled the latest so-called "iTunes cannot get CD track names for songs that were not imported using iTunes." error message (I'll leave you to read the link). Anyway, I used the latest iTunes to re-import the tracks from CD that weren't being found, put 'em on the iPod, and Hoo Ya, they were imported correctly by the script. I don't know if the original "not found" iPod tracks were ripped by iTunes or not. I suspect they were actually ripped by Sound Jam ages ago. But there you go. Let me know if you experience a similar problem with the script.
By the way, I will be updating Import iPod Audio Files in a day or two after more testing. Cheers!
Updated: Append to Selected Tag v1.1
More iTunes 4.7 selection bug fixes today. Append to Selected Tag will let you enter text and add it to the beginning or ending of the chosen tag (Song Name, Artist, Album, Composer, or Comments) of the selected tracks.
Updated: Multi-Import v1.1
Multi-Import will enable you to import the selected or enabled CD tracks using two or more encoders. Additionally, the new tracks can be added to discrete new playlists based on the encoder name (eg: "Beatles - White Album - AAC" and "Beatles - White Album - MP3".)
iTunes 4.7 Selection Bug
I still have not received confirmation from Apple about the so-called iTunes 4.7 selection bug. But I think we all know it's there. In a nutshell?and at the risk of severely repeating myself?here's what goes wrong: when after selecting some tracks in iTunes and then running an application script (an applet) or running a script in Script Editor that uses syntax like this:
tell application "iTunes" set sel to selection end tell
...you will get an empty list as the result. This, of course, is not what one would expect. What should happen is that you get a list of track references. Many scripts will either fail or report that no tracks have been selected, depending on how much error-checking the script uses.
This bug does not happen with compiled scripts or with any script that targets the selection of the front browser window, or front window or window 1.
I am trying to update my own scripts as soon as I can. However, if you wish to fix scripts yourself, all you need to do is make sure that any reference to selection targets the front browser window. So, to fix the script snippet above, you would do this:
tell application "iTunes" set sel to selection of front browser window end tell
Also, make sure that any other references to selection (for instance count items of selection) also reference the front browser window.
tell application "iTunes" set len_sel to (get count items of selection of front browser window) end tell
Let me know if any of my scripts you regularly use fail and I will try to fix them as soon as I can. Thanks!
Updated: New iPod Playlist From Selection
Another "selection bug" update. New iPod Playlist From Selection will let you select tracks in iTunes and copy the files to a new playlist on the iPod. The latest version works around the selection bug in iTunes 4.7. (The selection bug occurs in iTunes 4.7 when selecting tracks and running a script application that doesn't target the front browser window's selection, but rather the application selection.)
Updated: Import iPod Audio Files
Here's the first of (probably) many updates to accommodate the bug in iTunes 4.7 preventing the selection of tracks to be recognized properly. Import iPod Audio Files will enable you to select tracks on the iPod and import them to your Music folder. Let me know if there are further troubles!
Updated: This Tag, That Tag Scripts v1.6
I have just updated the This Tag, That Tag Scripts to work around the iTunes 4.7 selection error bug. These scripts assist with swapping info between tags. Thanks for waiting!
Oh Yeah, Good News
iTunes 4.7 definetly is snappier. Windows open faster, pop-ups open quicker, and I swear it sounds a tad better.
AppleScripting Features of iTunes 4.7
Get the roundup of the latest iTunes 4.7 AppleScript features in this article posted in the tips & info section.
Major Impact On iTunes Scripting
The latest iTunes 4.7 release has apparently changed the way the selection object is targeted. No longer can you simply get the application selection, you must target the particular window's selection. This means that any script which simply targeted the selection will have to be re-written to target the front browser window's selection. So rather than do this:
tell application "iTunes" get selection end tell
You must do this:
tell application "iTunes" set win to front browser window tell win get selection end tell end tell
This makes sense, but it doesn't make sense that the application selection object is no longer available...or if it is, what is it?
More Selection Stuff
As I mentioned previously, the iTunes 4.7 selection object of the application class doesn't seem to work as it used to. However, many of my scripts which use it still work correctly. In fact, scripts run from the iTunes Script menu seem to work fine. When running a script from Script Editor the selection always returns an empty list, unless the selection is targeted from the browser window, as in the examples I have displayed.
I'm confused.
Another Small Nightmare
This morning iTunes would not recognize my iPod.
I know it was there yesterday after the 4.7 install, but after a computer restart this morning, nada. I have a Gen 1 5GB and the Finder saw it fine, but iTunes didn't. I had to run iPod Updater again and completely erase the iPod with the Restore feature. (I don't care about erasing the iPod, really.) It's nice to have updated software, but, geesh! Woulda been nice to know.
What? No selection?!!
Can't get selection in 4.7:
tell application "iTunes" get selection end tell
This could be a major bummer for a lot of scripts!
Update: The selection object seems to work with compiled scripts, but not those saved as applications; it does not work from Script Editor.
Ah-ha! Update You can target the front browser window to get the selection object, which makes sense:
tell application "iTunes" set fb to front browser window tell fb if selection is not {} then beep end tell end tell
This is a major change in iTunes Scripting! Many scripts will definetly have to be re-written!
Show Duplicate Songs
iTunes 4.7 has a new menu command under the Edit menu which will display duplicate songs. Yep! It works! Super! Thanks, guys!
Apparently it uses the Song Name and Artist to create a special window displaying the dupes. So, while it is not very discriminating, you still have a very quick listing of potential dupes. For a more discriminating list, you can still use Corral iTunes Dupes, which allows you to select Song Name, Album, Artist, Size, and other tags as dupe criteria.
New Scripting Features
New is the update tracks property under the EQ preset Class: "update tracks boolean -- should tracks which refer to this preset be updated when the preset is renamed or deleted?"
New eject command for iPod. My guess here is that the iPod is properly updated before ejecting, but I manually manage my iPod so I haven't had a chance to check this one. Perhaps used in conjunction with update this would enable you to write a script which let you eject the iPod on the fly. Won't know what I'm talking about until I try it.
iTunes 4.7 Released!
Today at a special Apple Event featuring Steve Jobs and Bono and the Edge from U2, Apple released iTunes 4.7. Oh yeah, iPod Photo was unveiled, which is a new version of the iPod allowing you to store and display color photos--it comes in 40GB or 60GB versions and will cost you some bucks; audio and video out, headphone out, 1.4m AV cable, 1.2m 30-pin to FireWire cable, and 1.2m 30-pin to USB cable.
A new service will enable you to receive email updates of releases by your favorite artists.
Get yer U2 iPod. According to MacNN it "holds up to 5,000 songs and features a black enclosure with a red Click Wheel and custom engraving of U2 band member signatures. The new 20GB iPod U2 Special Edition is expected to be available mid-November for a suggested retail price of $350 from the Apple Store."
New iTunes features include a new "iPod" preferences pane in iTunes' Preferences, which essentially mimics the prefs available in iPod Options; iPod now handles photos (I guess that's the biggest feature, huh?); AirTunes preferences are now located in the Audio preferences pane; "Keep Mini Player on top of all other windows" option in Advanced preferences pane allows minimized player to stay in focus (nice!).
Slightly Suspicious
For several days now an AppleInsider post has been echo-chambering around the Mac news sites. The post claims that Apple is recommending users of pre-4.6 versions of iTunes to upgrade because they will no longer be able to access the iTunes Music Store and that the special announcement Apple has scheduled for this coming week is somehow related. While the story has been ricocheting around the 'net, I haven't seen any site confirm the message that AppleInsider claims appears in pre-4.6 iTunes when accessing the iTMS. Just for the record:
- iTunes 4.1 was released on October 16, 2003 as part of Apple's unveiling of iTunes for Windows. Also announced were new iPod accessories and many iTunes Music Store enhancements and promotions.
- iTunes 4.2 was released on December 18, 2003, the same day that QuickTime 6.5 was released, and a day after the OS X 10.3.2 update was released. Grouping feature introduced in iTunes and iTMS.
- iTunes 4.5 was released on April 28, 2004. New features include Party Shuffle, iMix Playlist publishing on the iTunes Music Store, printing of various playlist and track data as lists or as CD case inserts, introduction of Apple's Lossless Encoder, and improved iTMS search from your library.
- iTunes 4.6 was released on June 9, 2004. This is the release that is meant to work with Apple's AirPort Express and AirTunes.
Go figure.
Updated: Remove n Characters From Front v1.4
Several Correspondents over a few months have suggsted that I modify Remove n Characters From Front to not only assist with removing text from the beginning of Song Names but also Album and Artist tags. Simple enough! This latest version will let you select a batch of tracks, then select either the Song Name, Album, or Artist, then enter a number of characters you want removed from the "front" of the chosen tag. For example, you can batch-remove the track number and space from Song Names that look like "01 Song 1", "02 Song 2", etc.
Updated: NNW Subscription to iPod Contacts
Thanks to alert Correspondent Brian Mathieu, I was able to track down a bug in NNW Subscription to iPod Contacts. This script for the NetNewsWire RSS news reader from Ranchero Software will enable you to copy selected RSS subscriptions to your iPod's "Contacts" folder in vCard format. Unfortunately, a bug would sometimes prevent a single-selected subscription from being copied correctly and you'd end up with empty text files. This is fixed so single and group subscriptions will copy correctly.
Video Preservation
The recent release of U2's Vertigo video/iPod ad has got some people wondering how to download it and save it. Try Josh Rafofsky's Save Current Music Video AppleScript. Just wait for the movie to completely download, fire the script, and you got it.
Just A Rumor?
AppleInsider is reporting that iChat 3.0, which supposedly will ship with Mac OS X 10.4 Tiger, Apple's next-generation operating system due next year, will provide an option to display the currently playing iTunes track as part of the status message. Meanwhile, try using Now Playing in iChat AV.
Updated: Export/Import Between Libraries (for iTLM)
Users of my iTunes Library Manager will be interested to know that I think I've finally fixed the problem with the Export/Import Between Libraries scripts, specifically the "Import" script. Seems that for many users only the first selected track was getting imported. I believe I have fixed that by making the script an applet. The script had no trouble reading the "transfer_list.txt" file, but it would timeout after adding only one track. This doesn't happen when the script is an applet...it has to do with the way iTunes handles some events from attached AppleScripts, or rather doesn't handle some events. You'll see this phenomenon with the convert command also.
Updated: AMG EZ Search
One of the things I hadn't noticed right away about All Music Guide's recent website upgrade was the change in the TITLE of each web page. It used to contain "AMG" and now it contains "allmusic". (Oh yeah...I guess they like to be called "All Music" now, too.) AMG EZ Search?which uses your choice of info from the selected or playing iTunes track to initiate a serach of the AMG?has been updated to account for the change; it uses the text in the TITLE of the page in Safari to

subset: commoncrawl