Download hundreds (478 and counting) of AppleScripts for Apple's iTunes that will help make managing your digital music collection easier and more fun!
downloaded 19m 37s ago
Set selected tracks' names using any combination of selection order, current name, track number, episode ID, and episode number
downloaded 29m 55s ago
Export album artwork as folder.jpg to Album folder
downloaded 37m 21s ago
Move selected playlists to a new or existing folder
downloaded 54m 3s ago
Search allmusic.com website (AMG) with data from selected or playing track
downloaded 55m 28s ago
Add or subtract a user-entered number from each selected track's Plays
downloaded 1h 4m 59s ago
Set choice of various number tags of selected tracks incrementally
AppleScript is a simple Macintosh-only programming language that can control and automate actions on your Mac. AppleScript is already available on your computer as part of the Mac OS and many popular applications can be automated using AppleScript scripts. Scripts written for iTunes can manage files and track information, create playlists, interact with other applications, perform innovative tasks, and handle many kinds of chores which otherwise would be repetitive, laborious, and/or time-consuming.
Cool! Where Do I Start?
Start browsing the site by using the scripts ↓ Menu link above. AppleScripts are gathered into these general Categories:
- Managing Tracks
- Managing Track Info
- Managing Artwork
- Managing Playlists
- Controlling iTunes
- Exporting Info
Or use the search box at the top of every page to try and find something specific.
Not sure how to install AppleScripts? Here's a Download/Installation FAQ & Video.
Check back often or follow me on Twitter @dougscripts, my YouTube channel or on Facebook, or subscribe to my RSS blog feed and 30 Most Recent Scripts RSS feed to stay notified about new and updated scripts and info.
Apple has released iTunes 12.8 (build 126.96.36.199). Other than initial support for AirPlay 2, I haven’t encountered any other significant changes. (ICYDK, the betas of macOS 10.14 install iTunes 12.9.)
Apple also released macOS 10.13.6 with AirPlay 2 support among the changes.
Apple has released the first Mojave beta for enrollees of its Public Beta program. Developers have had access to two versions of the beta to date.
Like most developers, I’ll be spending a lot of my Summer digging in to make sure my scripts and apps for iTunes are compatible and/or take advantage of new macOS features. And, as I caution around this time every year, if you are using the betas:
Don’t count on current scripts and apps having complete compatibility this early. In my nominal testing so far, I haven’t run into any serious issues with current versions of my software. But unless a script or app specifically states that it’s macOS 10.14 Mojave-compatible, assume that it isn’t—at least until the final release of Mojave later this year.
Early betas are simply not stable and can’t be depended on for “mission-critical” work. If a script or app doesn’t work like it used to it could be because the OS isn’t fully-baked yet.
Report a problem! The whole point of the beta program is to expose problems. It’s a good thing! If you have an issue with my software running under the Mojave beta, please let me know the details by emailing support AT dougscripts DOT com.
Thanks for your support and help!
M3Unify is a flexible file exporter and M3U playlist creator that will allow you to sensibly off-load copies of your iTunes songs to a user-chosen location—separate folder, external drive, USB thumb drive, SD card and so on—the way you and your audio player want.
M3Unify can archive playlists and audio files to a folder, volume or portable media and includes options to create Artist/Album sub-folders, rename files, convert to lossy formats, export album artwork, and more.
Watch the video demonstration.
M3Unify v1.10.0 adds these new features:
- Adds ability to open/drag-and-drop an M3U playlist file to “add” the accessible files it references
- Adds “Export M3U Using Relative Paths” option to create M3U playlist based on relative paths of files already in established locations
- Adds feature to remove duplicated entries
- Adds “Kind” column for better sorting of different audio types
- Adds option to show the Finder Information Window for a file
M3Unify is easy to configure and use. Try the nearly-full-featured demo for yourself. A license to make M3Unify fully-full-featured is $5.00. This update is free for registered users—who are the greatest!
I’m late with posting this, but, for the record, Apple released iTunes 12.7.5 (build 188.8.131.52) on May 29. Probably contains changes for AirPlay 2. And the usual app fixes and improvements.
Apple recently made a cool widget available for embedding Apple Music previews on websites. Such as:
The Apple Music Tools website allows you to search for an album and then generate an embed code that provides settings for various display options.
We’ve decided to use these links in the Show Notes for The Next Track podcast episodes; at the end of every episode, we pick an album we’re listening to and the Apple Music previews are a nice convenience.
The thing is, since we always use the same format for the iframe that is generated, it is only necessary to change the URL used in the embed code. Thus, we don’t have to visit the Tools website for each album. We can get the “Share Album” link in the iTunes app and just paste it into the iframe.
And this can be automated with AppleScript to a degree. Here’s a script that takes the album URL copied to the clipboard (after manually clicking “Copy Link”), prepares it properly (the share URL has a different sub-domain string than the one used in the embed code) and then places the full iframe text back into the clipboard so it can be pasted into our Show Notes template:
set sourceURL to the clipboard
set snippet to text ((offset of "apple.com" in sourceURL) + 9) through -1 of sourceURL
set the clipboard to ("<iframe allow=\"autoplay *; encrypted-media *;\" frameborder=\"0\" height=\"300\" sandbox=\"allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" src=\"https://embed.music.apple.com" & snippet & "?app=music&at=11l6om\" width=\"660\"></iframe>
") as text
tell application "Safari" to activate
It brings Safari to the front after creating the iframe text because we edit the template in the browser.
If you use this, you may want to make sure you like the height, width, and other settings. If you edit the script, be sure to escape any double-quotes.
Sometimes it’s difficult to tell if a bug is really a bug or just a bizarre design decision. What I thought was a fixed bug might be the latter. The gist of this particular situation is that while you can select an individual Music track and change the Media Kind in its Show Info > Options panel to Music, Podcast, Audiobook or Voice Memo, you cannot select anything but Music on a batch selection. This post at Apple Discussions illustrates the issue with screenshots.
It is frequently desirable to change the Media Kind of Music tracks to Audiobook because these kinds of files are often imported as Music tracks. But unless you want to change each one individually there’s only a complicated workaround that apparently requires deleting and re-adding.
I did not try this workaround. Instead I wrote this AppleScript that changes the Media Kind of the selected tracks to Audiobook:
tell application "iTunes"
repeat with aTrack in selection
set media kind of aTrack to audiobook
A Correspondent alerted me to the issue and he tested this script out on a few batches of tracks without a problem (thanks again, Stephen).
To use the script: Open it in Script Editor by clicking the little script icon above. Save it named whatever you like with the Format “Script” (.scpt) in your ~/Library/iTunes/Scripts/ folder so that it will be listed in the iTunes Script menu. As usual with little scripts like this its often expedient to add a keyboard shortcut.
It actually takes more words to explain what this script does than words used in the script itself.
You might be listening to a playlist when you hear a song that doesn’t belong in that playlist—a Frank Zappa track ended up in a Frank Sinatra playlist, for example. You could: right-click on the iTunes LCD and click the “Remove From Playlist” item. If you haven’t disabled it, you’ll see a confirmation dialog asking if you realy want to remove the current track from the playlist.
That’s three clicks so far. And then, after the track is removed from the playlist, iTunes stops. And to resume, you’ll either hit space bar to play the next track (which will be selected) or spend some time looking for a track to play next.
That’s a lot of business.
So here’s a script that will delete the the currently playing track from the current playlist and start playing the next track* automatically:
tell application "iTunes"
if special kind of current playlist is not none then return
set deleteThis to current track
Open this in Script Editor by clicking the little little script icon above. Save it named whatever you like with the Format “Script” (.scpt) in your ~/Library/iTunes/Scripts/ folder so that it will be listed in the iTunes Script menu. Follow the instructions on this page to add a keyboard shortcut.
Oh yes. A keyboard shortcut.
The first line ensures you don’t run this on a track playing from a media library playlist, because deleting a track from one of those deletes the track from the library. Then it stores a reference to the currently playing track, then plays the next track. Finally, the former current track is deleted from the playlist. The try block is used so that if the track can’t be deleted for some reason the script will fail gracefully.
*The Next Track is a terrific podcast I co-host.
The most recent version of iTunes, 184.108.40.206 from March 29. 2018, broke the Crossfade feature. I’m a bit late on this, but Apple released an update to iTunes, 220.127.116.11, on April 16, 2018 that reportedly fixes this. But you won’t see this update in the App Store.app. You have to go to this page at Apple to get it.
I’ve installed it today and Crossfade is still inoperative. However, several Correspondents at this Apple support page report that it may take a little while for Crossfade to work again. I don’t know why that would be; perhaps some caches need to clear or something.
UPDATE MOMENTS LATER… Crossfade is working,
Well, without silence, all the noises in the world would run together…right? Or, at least the tracks of an album or playlist would. But what about silence as a “thing” to be appreciated as the space between musical events? That’s what we talk about in this week’s episode.
You can listen to the episode at The Next Track website here or subscribe from this page to make sure you get all future episodes. As usual, there’s a link to an Apple Music playlist of our “next track” picks.
Back in the day, LP record albums were experienced as pairs of “sides”, right?
A decent record side was about 22 to 27 minutes long. And so we got used to listening to chunks of music of this duration. These time constraints on a record would often affect how the album was programmed, such as the song order and perhaps other conceptual factors.
If you spent a lot of time listening to record albums this way, you may remember the convention of “flipping the record” after the first side was finished in order to hear the other side. It only took a few moments to do so, but this pause in the action is the sort of thing you don’t experience much with CDs and virtually never with hours-long playlists.
I wondered what it would be like now to experience some of my classic digitized albums with a deliberate pause between the last song of one side and the first song of the next side. So, here’s Side Splitter.
It will copy a selection of tracks into separate user-designated “album side” playlists (by placing a checkmark next to the last song of a “side”) and then offer to auto-play them; when a “side” playlist stops, the script will offer to play the next “side” playlist, which you acknowledge by clicking an “OK” button the script shows in a dialog. When the entire album has played this way, the script will offer to delete the playlists.
It actually brings back that feeling of playing individual record sides.