dougscripts.com

Popular Now

Multi-Item Edit

downloaded 9m 33s ago

Multi-Item Edit v7.8

For Music/TV View/Edit tags of selected track(s) in single window

Super Remove Dead Tracks

downloaded 13m 57s ago

Super Remove Dead Tracks v6.4

For Music/TV Remove Music/TV tracks disassociated from files

Albums Amiss

downloaded 17m 17s ago

Albums Amiss v1.4

For Music Finds album tracks that are a few short or over an Album

Is Artwork Embedded

downloaded 21m 1s ago

Is Artwork Embedded v2.1

For Music Detects if a track's file's metadata contain image information

Slice Up A Playlist

downloaded 21m 49s ago

Slice Up A Playlist v1.0

For Music/TV Sub-divide a playlist into smaller variably-lengthed playlists

Albumizer

downloaded 22m 7s ago

Albumizer v1.0

For Music Incrementally re-number tracks and add album tags to a selection

Welcome!

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

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 macOS and many popular applications can be automated using AppleScript scripts. Scripts written for Apple's Music, TV and iTunes apps can manage files and track information, create playlists, interact with other applications, perform innovative tasks, and handle many kinds of chores with accuracy and precision 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.

Check back often or subscribe to my RSS blog feed and Most Recent Scripts RSS feed to stay notified about new and updated scripts and info.

Latest:

RSS ROOLZ! SUBSCRIBE!

December 7 2025 - 8:09 pm

NEW: Albumizer v1.0

This script will renumber the track number tag of the selected tracks incrementally in their play order, as well as providing track count, disc number and disc count tags and, optionally, additional album-oriented tags.

Also see the simpler Albumize Selection or the more general Increment Number Tags.

Latest version:

  • Initial release

More information for Albumizer v1.0 and download link is here.

December 5 2025 - 11:13 pm

NEW: Tracks by Name Length to CSV v1.0

The award for longest track title in my library goes to Slim Gaillard for his 238-character "Opera in Vout (Groove Juice Symphony) (live): Part 1: Introduzione Pianissimo (Softly, Most Softly) / Part 2: Recitativo E Finale (Of Much Scat) / Part 3: Andante Cantabile In Modo De Blues / Part 4: Presto Con Stomp (With A Floy Floy)".

The reason I know that is because I ran in to a few other long-titled tracks and thought they really don't need all that crap in there. Some of them have entire Wikipedia entries for titles. Who needs 'em? I'll sort 'em up and chop 'em down. But then my brain sent a memo reminding me that you can't sort by title length.

Tracks by Name Length to CSV will make a CSV (comma-separated-values) text file listing tracks sorted by the length of their title (greater than 50 characters). The CSV will list the title, album and artist of the tracks as well as the title length.

Of course, a lot of Classical albums are up there length-wise. I won't edit those. It's the weird Zappa and Slim Gaillard stuff that better beware.

More information for Tracks by Name Length to CSV v1.0 and download link is here.

December 5 2025 - 2:35 pm

UPDATED: Albums Amiss v1.4

This script uses track information to calculate whether a particular batch of tracks with the same Album title represent an incomplete or over-complete album, with either too few or too many requisite album tracks. Also, albums with missing Track and Disc information will be considered "amiss". Such batches will be copied to a discrete results playlist where they can be examined. The entire Music library or a selected Smart playlist can be scanned. (To be clear: the script does not check some kind of online database; it uses the extant local track entry information. Thus, tag accuracy is essential.)

Latest version:

  • Fixed an issue displaying 0 results
  • Accommodation for macOS 26/Tahoe

More information for Albums Amiss v1.4 and download link is here.

December 5 2025 - 12:11 pm

Count Selected Tracks in Songs View?

Did I tell you that, evidently, the Music app doesn't show the number of selected tracks in the playlist's Status Bar when the playlist is in Songs View? Yup.

Wait, it doesn't show the Status Bar at all when the playlist is in Songs View. Luckily, no chains can keep me from writing this simple AppleScript:

tell application "Music"

try

set sel to selection

set numberOfSelected to (count of sel)

set s to " tracks"

if numberOfSelected is 1 then set s to " track"

display dialog ((numberOfSelected & s & " selected") as text)

end try

end tell

Comes out like this:

December 3 2025 - 3:57 pm

Apple TV AppleScript is Busted

Correspondents have been reporting that scripts which were working fine with the TV app pre-Tahoe are now not working very well at all. After finally getting around to having a look, I can confirm that things like "get view of front browser window" and getting a selection—essentially the way to get the selected playlist or the selected tracks in the TV app—do not work. You will invariably see a "No tracks selected" alert under such circumstances.

As you were.

December 3 2025 - 3:04 pm

UPDATED: Playlist XML Librarian v1.1

Playlist XML Librarian will list exported Playlist XML files collected in a specified folder with options to view, search and send (import) them to the Music app. Makes it easy to maintain an organized stockpile of exported Playlist XMLs to reduce the number of onboard Music playlists.

I use this thing regularly myself. So, you can imagine.

Also see Playlist XML Viewer which displays a single selected Playlist XML drag-and-dropped or chosen from any location.

Latest version:

  • Adds "Delete" command
  • Added Expand/Collapse buttons for source list
  • Adds setting to expand all folders at launch
  • Better detection of loaded playlists
  • Fixed problem with progress bar traveling
  • Fixed issue with correct Total Time calculation
  • Fixed some autoresizing issues

More information for Playlist XML Librarian v1.1 and download link is here.

December 3 2025 - 12:36 pm

Album Art Makes My Year In Review

The Photos app just notified me that it has prepared a special "Year In Review" album or something. The notification also contained a sample photo, no doubt meant to trigger a longing to see all them pitchers I took this year. But the picture was the cover of Bruce Springsteen's "Darkness on the Edge of Town" album. Which on first glance was bewildering.

I forgot that I exported a kabillion album covers into Photos with the Save Album Art to Photos script.

December 3 2025 - 12:33 am

Swap Light-Dark Modes

Just did some fiddlin' with the site to make it a little responsive to dark mode settings. So, to celebrate, here's a script to swap modes rather than jogging into System Settings whenever. I have it in the system-wide Scripts menu.

tell application "System Events"

tell appearance preferences

set dark mode to not dark mode

end tell

end tell

December 2 2025 - 3:14 pm

Folder Action to Add Files to Year/Month Folders

So now that I'm a Playlist XML exportin' maniac, I created a Folder Action to automatically file the exports to my "Playlist Exports" folder into Year/Month folders, according the date of save. Here it is. When a file is added to the folder the script is attached to, it moves it to a newly-created or existing Year/Month hierarchy:

on adding folder items to thisFolder after receiving theseItems

repeat with anItem in theseItems

tell me to processThis(anItem, thisFolder)

end repeat

end adding folder items to

to processThis(anItem, thisFolder)

set yearMonthPath to (do shell script "date '+%Y:%m_%b'") as text

-- Y=year, m=month number (for sorting), b=month abreviation. eg, 2025:06_Jun

try

set folderPath to (thisFolder & yearMonthPath) as text

tell application "Finder"

try

exists folder (folderPath as POSIX file as alias)

on error

do shell script "mkdir -p " & quoted form of POSIX path of (folderPath as text)

end try

move anItem to folder folderPath with replacing

end tell

end try

end processThis

December 1 2025 - 3:24 pm

UPDATED: Playlist XML Viewer v1.1

It occurred to me I ought to add drag-and-drop to Playlist XML Viewer.

Open (or drag-and-drop) and view the contents of a playlist XML file exported from the Music app in a conventional table layout. Includes options to send (import) the XML in the Music app, export a TXT, CSV or M3U version, copy info to clipboard and reveal existing files in the Finder. (Not for use with exported Library XML files.)

Also see Playlist XML Librarian which can manage a folder-full of exported Playist XML files.

Latest version:

  • A single XML file can be drag-and-dropped onto the window to open it
  • Adds XML size and total time of tracks to window display
  • Adds more versatility to columns

More information for Playlist XML Viewer v1.1 and download link is here.

Site contents © 2001 - 2025 (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 be interrupting the one who is doing it.