beaTunes News

Sunday, October 7, 2018

beaTunes on Mojave and Windows 10: Dark Mode and the AEpocalypse

Recently Apple has released Mojave, version 10.14 of its desktop operating system macOS. With respect to beaTunes this had three effects:

  1. The much touted dark mode was not automatically supported.
  2. Mojave asked for user permission, before it let beaTunes talk to iTunes.
  3. Due to a bug in Mojave, oftentimes beaTunes was unable to display the remaining time in its player.

With today's update, all three issues were addressed to various degrees.

Automatic Dark Mode

beaTunes 5 has supported a dark theme for a long time now. With v5.1.10, it will automatically honor the system setting at startup time (switching to or from dark mode while beaTunes is running is still not possible). This applies to both macOS 10.14 and Windows 10. Note that this implies, that you cannot select the theme from within beaTunes anymore. Instead you have to use the operating system's dialogs.
To enable the dark mode under Mojave, open the System Preferences under , then select General and then Dark. If beaTunes was already running, please restart it, so it can pick up the changed setting.

To enable the dark mode under Windows 10, open the system Settings (the cog wheel in the Windows menu), then select Personalization and Colors. Scroll down to Choose your default app mode and select Dark. More detailed guides can be found all over the web, e.g. here. Again, you might want to restart beaTunes after the change.

AEpocalypse :: Averted

With Mojave Apple introduced AppleScript Sandboxing. In essence that is a mechanism that prompts the user for permission before one application can control another, i.e. can send Apple Events to it. Let me be clear about this: It's a good thing. But, as pointed out before, Apple could have made more of an effort to ship a quality implementation earlier. That said, the final result does not seem to be all that bad. I have made an effort to provide decent explanatory messages in case something goes wrong. The important thing to remember is that you can turn automation (AppleEvent) permissions on and off in your System Preferences under Security & Privacy.

And should nothing work anymore, you can reset the authorization mechanism for all apps using the following line from the Terminal command line:

tccutil reset AppleEvents

For more info, please see Daniel Jalkut's blog post.

Player Issues Workaround

A couple of words about the beaTunes audio player. Because Apple broke one of their APIs, the player did not correctly show the remaining time, a playhead or segments. Luckily, I've found a workaround, so this is fixed in v5.1.10.

What else?

Additionally to the mentioned changes forced by external events, I have found some time to change/fix some other things. Fans of classical music will probably like that if a tonal key can be found in a track title, it will be used instead of content-based estimates. And I'm sure macOS users will appreciate that the playing-track system notification now shows album art.

As always, you can download the new version from the download section of the website.

Changes in 5.1.10

  • Fixed non-committing genre changes in info panel.
  • Fixed possible application hang during recovery.
  • Added automatic support for Mojave and Windows 10 dark modes.
  • Added workaround for Mojave AVPlayer bug (remaining time).
  • Added support for album art in macOS system notifications.
  • Enabled compression when communicating with AcousticBrainz.
  • Improved key import from textual metadata for classical music.
  • Improved export of m3u playlists with non-ISO-8859-1 chars.

Labels: , , , , ,

Tuesday, September 11, 2018

beaTunes, macOS Mojave, and the AEpocalypse

As you might know, a new version of Apple's operating system macOS named Mojave is going to be released very soon. Be advised that beaTunes is not optimized for Mojave yet. Specifically, there is no integration with Mojave's dark mode and AppleScript may cause some headaches.

While dark mode integration is purely cosmetic (just use the 'dark' theme accessible via beaTunes' general preferences), AppleScript issues may be more problematic. When you are using beaTunes to maintain your iTunes library on macOS, you are effectively letting beaTunes control iTunes via AppleScript. Mojave may introduce a new security mechanism called AppleScript Sandboxing. This means that, before an application is allowed to control another application via AppleScript, the user is asked whether that's OK. This is most certainly not a bad thing, but Apple's implementation is still fairly new (not to say immature) and has been ridiculed a bit, simply because it reminds people of an old Apple commercial (with reversed roles).

A couple of people in the indy software world have voiced some legit concerns and criticism. Here's a little reading list:

What does this mean for beaTunes?

For now—not a lot. I will wait until the final macOS Mojave version is released before making changes, simply because this security mechanism seems to be too much of a moving target. After the dust has settled, we will see what's the best way to proceed.

PS: If this does not scare you or you have trust in dot-0 versions of Apple's operating systems—by all means, please take beaTunes for a ride and report on help.beatunes.com what problems you ran into!

Labels: , , ,