iTunes 12.9.4.94
Apple has updated macOS to 10.14.4. When you update you'll get an update to iTunes, version 12.9.4.94.
The previous version was 12.9.2.5.
I don't know exactly what's changed, probably mostly under-the-hood stuff.
UPDATED: Copy Rating Stars to Other Tag v1.1
The name of this script sort of looks like a word salad, now that I've enetered it as the title for this post. Oh well, it makes perfect sense.
A track's rating property is actually a number value between 0 and 100. iTunes creates the rating stars in its interface by converting this value into graphical stars and half-stars: v div 20 = number of stars and if (v mod 20 = 10) then add half-star.
To the vexation of some iTunes users, a track's rating value does not get written to its corresponding file's metadata. So if you're depending on a rating tag showing up in some other app in which you use your audio files (such as some DJs are) you have to figure out some other way of getting your iTunes track ratings to "travel" with your audio files.
An easy solution is to convert the rating value to Unicode text stars and dump it to some non-essential or lesser-used text tag—one that does get written to metadata by iTunes. And that's what Copy Rating Stars to Other Tag does:
After running the script against a few tracks, copying the stars to the Composer tag, the metadata for the file should look something like this (as seen via Show Me The Metadata):
...and when the file is added or refreshed in another app, the text stars will display in that track's Composer field.
Presumably, DJs don't much care about Composer, Grouping and so on (title and artist, of course, and perhaps year and genre), so these tags may be available to accommodate ratings.
In fact, it was DJ'ing Correspondent who asked that I include Composer as an option in the initial version of Copy Rating Stars to Other Tag, and thus, this update.
Apple Provides iTunes v12.8.2
Apple has released iTunes 12.8.2, an update for users who have not updated to Mojave (macOS 10.14).
If you don't see it in the App Store app, here is a link to a stand-alone version.
It apparently fixes some issues with AirPlay and, of course, makes the obligatory performance enhancements, and so on.
Have a Happy New Year
Updated Mono-Stereo Toggling
Apple changed a few things in System Preferences under Mojave which broke this script to toggle between Mono and Stereo output.
Here is the fix. You will note that it is a simple change to the line targeting the System Preferences' Accessibility window.
tell application "System Preferences"
reveal anchor "Hearing" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
tell application process "System Preferences"
set frontmost to true
tell group 1 of window "Accessibility"
# pre-Mojave - replace the line above with the one below
# tell window "Accessibility"
set monoStereoCheckbox to checkbox "Play stereo audio as mono"
if (get value of monoStereoCheckbox) as boolean is true then
set ddMessage to "Switch to STEREO output?"
else
set ddMessage to "Switch to MONO output?"
end if
if button returned of (display dialog ddMessage buttons {"No", "Yes"} default button 2) is "Yes" then
tell monoStereoCheckbox to click
end if
end tell
end tell
end tell
if application "System Preferences" is running then
tell application "System Preferences" to quit
end if
For more details, read the original post.
Dupin Lite 2 v1.4.0 Now at Mac App Store
Dupin Lite 2 has been updated to version 1.4.0 and is now available on the Mac App Store.
Dupin Lite 2 is a "lighter" version of my iTunes duplicates-managing app Dupin. It has fewer power-user features and essentially gets right to the business: find dupes, filter for Keepers, Purge.
This latest version accommodates Dark Mode under Mojave and adds some performance enhancements.
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.
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.)
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.
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.