dougscripts.com

Welcome!

Download hundreds (478 and counting) of AppleScripts for Apple's iTunes that will help make managing your digital music collection easier and more fun!

Popular Now

File Renamer

downloaded 8m 46s ago

File Renamer v3.8

Use tag data to formulate new file name for selected tracks' files

Increment Number Tags

downloaded 35m 14s ago

Increment Number Tags v2.9

Set choice of various number tags of selected tracks incrementally

Save Album Art to Album Folder

downloaded 48m 42s ago

Save Album Art to Album Folder v5.10

Export artwork of selected tracks to parent or specified folder

Re-Apply Downsized Artwork

downloaded 49m 5s ago

Re-Apply Downsized Artwork v3.6

Resample selected tracks' artwork to user-set size limit

Doug's Check For Update

downloaded 58m 43s ago

Doug's Check For Update v1.5

Check scripts downloaded to your computer from dougscripts.com for latest version

This Tag That Tag

downloaded 1h 1m 16s ago

This Tag That Tag v4.12

Applet assists with swapping, copying, appending data between track tags

What's AppleScript?

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:

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.

Latest:

December 10 2018 - 2:57 pm

Idle Wish List

Dear iTunes Santa,

It would be great if clearing Up Next could be done via AppleScript.

Also, I have wanted to

tell application "iTunes"

make new playlist window with properties {view:playlist "Mom’s Favorites"}

end tell

for a long time.

I have been a good boy.

December 6 2018 - 9:44 pm

Mojave Update Updates iTunes

The latest macOS 10.14.2 Mojave update also evidently updates iTunes to version 12.9.2.5 and I have questions.

The previous version of iTunes was 12.9.0.164. Was there ever a 12.9.1.x release? I never had it.

Speaking of version 12.9.0.164: it was originally part of one of the Mojave betas and then installed by the final release of Mojave 10.14. Is there no stand-alone installer for this version?

Is there a stand-alone installer for version 12.9.2.5?

Is this how we are to get iTunes updates now? Via operating system updates? If so, why? And isn’t it rather extraordinary?

UPDATE (December 8, 2018, 1:02PM): This Apple doc declares “iTunes comes bundled with macOS. To get the latest version of iTunes, update the software on your Mac”. And “If you can’t update to macOS 10.14 Mojave, you might still be able to get some updates for iTunes (up to iTunes 12.8).” (h/t Peter Cook.)

December 1 2018 - 7:44 pm

Shortcuts and SSHing to Snow Leopard

Like you-wouldn’t-believe-how-many other people, I still run an old Mac Mini with Snow Leopard on it. It’s been pretty reliable as an occasional music server and we still use it to play iTunes internet radio on AirPlay devices around the house. It also manages some backup tasks on my network. It runs headless and I access it through Screen Sharing when necessary.

It is more difficult then it used to be to remotely control Snow Leopard with AppleScript from newer operating systems. At one time, you could just address the machine and run commands with a username and password. Now you need to set up SSH. I haven’t done that and just use Screen Sharing.

But, believe it or not, the Run Script Over SSH action I described earlier works with Snow Leopard out-of-the-box. I will now set about creating a batch of Shortcuts to be able to quickly manage stuff on the Mac Mini with AppleScript, like playing a parrticular radio station in iTunes, shutting music down, changing AirPlay devices and so on, which I can call from my iPhone. Pretty cool.

December 1 2018 - 11:54 am

Scripting to a Mac with iOS Shortcuts

I’m not particularly bowled over by Shortcuts on iOS. I just don’t use my iPhone and iPads rigorously enough that I’m inspired to automate many tasks. But I get that it’s a thing.

What I find very interesting however is that you can use Shortcuts to launch AppleScripts on a targeted Mac. So, while the “Music” actions on iOS are somewhat limited, there’s actually some potential usefulness in calling scripts (via Siri, even) from your iOS device to control iTunes on a Mac.

A nice basic tutorial by the great folks at Late Night Software explains how set this up. Essentially, you use the Run Script over SSH action to enter an osascript command to launch a script on a specified Mac. If you’ve ever done anything with launchd then you will recognize some similarities.

There are some limitations. First, AppleScript does not run on iOS. So anything you want to do with this technique will necessarily be on one particular Mac. (While I can imagine that it is possible to run other SSH commands from that Mac to other Macs, making all of that swing is beyond the scope of this article.)

Second, I am working strictly with scripting iTunes on a Mac. Many other apps on your Mac can be controlled with AppleScript, too.

Third, there is limited opportunity for user-interaction and feedback. (Depending on the use case, it is possible to manage some simple back-and-forth user-interaction in Shortcuts. But, again: beyond, scope, article.)

So, considering those parameters, there aren’t many iTunes track and playlist management things I’d want to do remotely; I’d prefer to be operating on track info while sitting in front of iTunes. But we can still use Shortcuts to perform some serviceable tasks with iTunes remotely, things that can’t be done conveniently with the Remote app on iOS.

Below, I describe how to create some Shortcuts that can launch scripts on your Mac. One will save the currently playing track to a “Favorites” playlist, another to change the AirPlay configuration and, lastly, one that pauses iTunes for five minutes. These may give you ideas for your own Shortcuts.

(more…)

November 18 2018 - 8:38 pm

Some More About Re-Ripping

After my last post about re-ripping CDs, it occurred to me that I should do some re-ripping myself. So, as discussed in the post, I was able to confirm that iTunes does warn you about tracks you’ve already ripped (tracks with the same Song Name, Artist and Album) and then offers to “Replace Existing”.

However, it only tells you this after you’ve engaged “Import CD” and advanced past the encoder settings dialog. I would much prefer to be aware of these tracks and any potential anomalies before engaging the rip so I can make any alterations to accommodate more efficient ripping. For instance, what file type, bit and sample rates are these already ripped tracks? How many of them are there? Are there any duplicates?

(Another good question is: Did I change the metadata of any tracks I previously ripped from this CD? Those will be harder to find, especially if the Album and/or Artist tags have been changed; iTunes will not consider those tracks a match for any on the CD. The tag info could have been changed by your own hand, or, if it’s been several years since you’ve inserted the CD, Gracenote could have supplied different tag info. I’ve had this happen.)

Since I know iTunes will offer to “Replace Existing” if it finds library tracks with the same Song Name, Artist and Album I will want to see any of those. And here’s a script that tries to find them and offers to wrangle them into a discrete playlist for further investigation:

(more…)

November 14 2018 - 2:13 pm

Re-Ripping FYI

Those of us who may still rip/re-rip a CD or two in iTunes from time to time may see this dialog:

I heard from a user today who wanted to replace a bunch of MP3s with new Apple Lossless copies. But he was afraid that selecting to “Replace Existing” would erase the tags he had meticulously created for the original MP3s.

iTunes uses the Song Name, Artist and Album of each CD track and looks for a track in the iTunes library with tags that match. If a match is found, then you will see the dialog above. And then if you select to “Replace Existing”, you are essentially replacing the file and not the track entry itself; that is, the newly ripped-CD track’s file replaces the original MP3 file pointed to by the track entry and the other track entry data remains the same (except for obvious changes due to the change of file, like size and file kind and so on).

If one or more of the Song Name, Artist and Album is different then you won’t be asked to replace any tracks and the CD tracks will be imported as “new” tracks, perhaps as duplicates.

Rather than allow iTunes to make these decisions, here’s a trick. Before importing, copy some tag data from the original tracks in the library to the corresponding CD tracks using Copy Tag Info Tracks to Tracks.

You probably only need to copy Song Name, Artist and Album. But any additional tags wouldn’t hurt either.

(Also, see this article at the German site unhyped.de which describes the technique as well.)

Then, when you import the CD, you’ll probably now see the “already been imported” dialog from whence you can select “Replace Existing” to correctly replace the original files and keep the existing track entry data.

October 16 2018 - 12:51 pm

Unfinished TV Shows

The TV Shows library can show you Watched shows and Unwatched shows. And how much time is left in shows you’ve started. But there’s no way to sort these unfinished tracks or gather them all together, say, with a Smart playlist rule.

So here’s a script that will find TV Show tracks that haven’t been played all the way through and copies them to a new appropriately named playlist:

property tvPlaylistName : "_Un-Finished TV Shows"

tell application "iTunes"

set tvLib to (get some playlist whose special kind is TV Shows)

— delete any old playlists

if (exists playlist tvPlaylistName) then

delete (every playlist whose name is tvPlaylistName)

end if

— recreate, add date in playlist description

make new playlist with properties {name:tvPlaylistName}

tell playlist tvPlaylistName

set description to date string of (get current date)

end tell

— examine each TV track

repeat with i from 1 to (count tracks of tvLib)

try

set aTVTrack to track i of tvLib

if (bookmark of aTVTrack) > 0.0 then

duplicate aTVTrack to playlist tvPlaylistName

end if

end try

end repeat

end tell

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.

This script will need to be run manually every so often in order to refresh the playlist. Follow the instructions on this page to add a keyboard shortcut.

For Smarties: tracks in other libraries use the bookmark property (some by default) as well. Podcasts, Movies and Audiobooks can be sorted using a smilar script that targets those special kind libraries.

October 12 2018 - 4:02 pm

Tab Amongst Buttons

A Twitter denizen inquired how to be able to tab between two or three button in a dialog instead of having to use the mouse to click the one in particular.

Go to System Preferences > Keyboard > Shortcuts. At the bottom you will see a setting for “Full Keyboard Access”. Click the button next to “All controls”. Afterwards, you’ll notice that selected buttons will have a focus ring. You’ll probably notice some other UI elements will have focus rings, too. Which is why I only toggle it on (Control-F7) for testing. It’s a bit too distracting for regular use at my house.

I mention this as a tip because many of my scripts use two or three buttons and if you are mouse-averse and keyboard-loving then it should be a treat.

October 8 2018 - 12:18 pm

Trimming iTunes Audio With Quick Look

Mojave introduced some interesting contextual editing features to Quick Look. Quick Look was already handy for viewing disparate types of files in the Finder by pressing the Space Bar while a file was selected. Now, depending on the type file being viewed in Quick Look, various editing widgets will be made available.

I was very surprised when Apple first demo’d Quick Look in Mojave and saw that audio editing was a possibility. Albeit, it’s just simple trimming—that is, audio can be removed from the beginning and/or ending of an audio file—but it might prove handy.

A few years ago I posted an AppleScript wrapper for the qlmanage command line tool, called Have a Quick Look. It allows you to select a track in iTunes and display a Quick Look panel of the selected track’s file. A trifle, really.

But now that Quick Look has this new editing feature, Have a Quick Look could be a slightly handier tool. Here is a track from one of my “Live At Leeds” albums by The Who, which I have selected in iTunes and then run Have a Quick Look on. Pete Townshend famously talks a lot before each song. Now, I can trim that part out (sorry, Pete):


You can see the :40 seconds of Pete pontificating at the start of the track

Optimally, this sort of editing should be done with a Real Audio Editor. But if you’re just fixin’ Voice Memos (which can be added to iTunes by dragging from the Marzipan Voice Memos app) or something like that, I suppose this could be helpful.

September 24 2018 - 2:31 pm

Toggle Dark Mode

A variation of this has been around since the first beta, but what the heck:

tell application "System Events"

tell appearance preferences

set dark mode to not dark mode

end tell

end tell

Save it in Script Editor named “Toggle DM” (or whatever) and select “Application” as the File Format, which makes it activate by clicking on it in the Finder. I recommend putting it in the Dock or Finder window toolbar for quick access.

Site contents © 2001 - 2018 (that's right: 2001) Doug Adams and weblished by Doug Adams. Contact support AT dougscripts DOT com. About.
All rights reserved. Privacy.
AppleScript, iTunes, iPod, iPad, and iPhone are registered trademarks of Apple Inc. This site has no direct affiliation with Apple, Inc.
The one who says "it cannot be done" should not interrupt the one doing it.