beaTunes News

Friday, April 24, 2026

Early Access: beaTunes 6

After a long, long time it's finally here: The first Early Access (EA) version of beaTunes 6. This is still far from release, there are hardly any UI chnages, but two of the most important improvements have happened:

  1. ARM/Apple Silicon support
  2. SQLite

Let's talk about the two a bit. First of all Apple Silicon support. Apple has been shipping ARM-based computers for years now and is urging everyone to migrate. This seems to be a no-brainer, because Apple's hardware is truly awesome. And if beaTunes were a pure Java app, the migration would have been absolutely painless. But beaTunes comes with quite a few native libraries and some were easier to migrate than others.

beaTunes has been using an embedded SQL database fo rmany years (super-early versions just kept everything in memory). The database system of choice has been H2. It's a great little database system and I was always grateful for its existence. At some point, I even donated some money to the cause. That said, one of the largest sources of pain when using beaTunes is a corrupted database file. For v6 it was time to move to something more robust. The choice was easy. SQLite is a superb, super-stable, and reliable embedded database, trusted by millions. It's truly the industry standard. With version 6, beaTunes moves to use SQLite as embedded database system, hopefully making corrupted databases a thing of the past.

Note that this Early Access release focuses on macOS. A windows version is not available, but there will be windows versions in the future.

When you start beaTunes 6, and have used beaTunes 5 before, beaTunes will create a backup of your existing database folder and then go on to convert your databases to the new SQLite format. This process cannot be reversed, i.e. you will not be able to migrate data back to beaTunes 5. You can however, delete the new database folder and rename the copy to its former name. In any case, you might want to create a backup before starting beaTunes 6.

Alright, here's the obligatory warning: Before downloading and installing this, please make sure you understand what Early Access means:

  • Absolutely no warranty for whatever
  • Features may or may not work, appear, and disappear
  • It may not be possible to migrate data to future or previous versions (even though I make a reasonable effort)
  • You will not be able to migrate data created by this version back to beaTunes 5
  • This version will cease to function 4 week after its release. A new version or a final product will be made available when this version becomes dysfunctional.
  • You cannot buy this version

Here is the download link: beaTunes-6-0-0-EA1-SNAPSHOT-arm64.dmg

Changes in 6.0.0 EA1

  • Improved Album Info text formatting.
  • Improved visual feedback during synchronization, file access, and communication with iTunes/Music.
  • Added silent mode (to prevent accidental playback and turn off soundeffects).
  • Added key and BPM info to Beatport chart tooltips.
  • Added ability to follow the currently playing track in Album Info panel.
  • Added album art support to player.
  • Added crossfade support to player.
  • Updated to use volume id instead of device id for file identification.
  • Updated to Groovy 4.0.15.
  • Updated to JRuby 9.4.3.0.
  • Updated to Hibernate 6.2.7.
  • Updated to FFSampledSP 0.9.54 (Emoji support in file paths, more efficient file access).
  • Updated Java runtime.
  • Removed Nashorn (JavaScript) support.
  • Removed outdated Jython support.
  • Removed support for 32 bit Windows.
  • Replaced H2 database with SQLite.

Feedback is very welcome!

Labels: , , , ,

Wednesday, September 18, 2024

beaTunes on macOS 15 Sequoia - don't update just yet!

Apple just release its latest macOS update named Sequoia. If you're using beaTunes v5.2.34 or earlier, I recommend to wait with the update as it apparently breaks beaTunes' analysis feature.
If you have already updated, I recommend the following workaround:

  • Go to /Applications/beaTunes5 in Finder
  • Right click on beaTunes5 and choose Show package contents from the context menu
  • Navigate to Contents/Java
  • Delete or rename the file casampledsp-complete-0.9.23.jar to casampledsp-complete-0.9.23.jar_
  • Start beaTunes
Background: Apparently the integration with CoreAudio broke with Sequoia. Deleting/renaming that file will force beaTunes to fall back to FFmpeg for decoding audio.

Labels: , , ,

Saturday, September 3, 2022

Update: beaTunes 5.2.29

Getting ready for Ventura! This maintenance update introduces a couple of fixes for the upcoming macOS 13 (Ventura) along with some other performance-related issues.

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

Changes in 5.2.29

  • Support deletion of currently playing song.
  • Fixed responsiveness issue when initiating synchronization manually.
  • Fixed taking last play/skip date into account when checking synchronization need.
  • Fixed synchronization with Music.app taking too long despite only minor changes.
  • Fixed NaN values in volume normalization.
  • Fixed Music.app/iTunes selection for macOS 13 (Ventura).
  • Implemented rate limiting for AcousticBrainz.

Labels: , , , , ,

Tuesday, May 3, 2022

Update: beaTunes 5.2.28

Unfortunately, v5.2.27 was a rather unsmooth release, especially for people using macOS Monterey... v5.2.28 hopefully fixes this.

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

Changes in 5.2.28

  • Fixed macOS version recognition for macOS 11 and 12.
  • Fixed NoClassDefFoundError on Turkish systems.

Labels: ,

Tuesday, May 25, 2021

Update: beaTunes 5.2.23

Song and album ratings in iTunes/Music have been quite the hot topic at some point, because iTunes computed them in some cases automatically. Visually, these computed ratings were differentiated in the UI from the manually entered one by using gray as color (for the rating stars) instead of black or the accent color (usually blue).

beaTunes followed this convention. However, there were some shortcomings in how it handled computed/manual ratings in the rest of the application. First of all, when opening the Get Info panel in beaTunes, it would always show the rating in solid black, regardless whether it had been manually entered or computed. In 5.2.23 this has been changed to only showing a rating, if it has been manually entered. A similar behavior has been implemented for the multi-song Get Info panel. Only if all selected songs have the same manually entered rating, it is shown, otherwise the rating is undefined.

The second issue occurs when sorting songs by rating. By default the computed ratings were treated just like manually entered ratings. Version 5.2.23 offers an alternative (secondary) sort order. By clicking on the table header of the Rating column (not the arrow, but "Rating"), you can toggle the sort order to first sort by computed or not (note that other columns also offer similar secondary sort orders, for example, the album or artist columns).

The third issue addressed in 5.2.23 deals with the creation of Matchlists. Previously, it has been impossible to distinguish between manually entered ratings and automatically computed ones, when specifying a Matchlist filter. This is now possible by setting the new Rating (computed) field to true or false. A similar field now also exists for Album Rating (computed).

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

Changes in 5.2.23

  • Improved handling of song/album ratings computed by iTunes/Music.
  • Fixed "Where is Music?" error on macOS 10.14 and earlier.

Labels: , ,

Tuesday, December 15, 2020

Update: beaTunes 5.2.17

This update fixes a sync regression on macOS Catalina (10.15) and later that caused full, very lengthy synchonizations. Further it contains an enhancement, as it visually follows the currently playing songs via scrolling the playlist table.

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

Changes in 5.2.17

  • Added following currently playing song visually by scrolling appropriately.
  • Fixed regression in Music.app synchronization leading to very long syncs.

Labels: , , ,

Tuesday, December 8, 2020

Update: beaTunes 5.2.16

This update fixes a couple of issues in the UI, probably most notable the solid gray window issue, but also an issue connected to Apple's itlibrary API exposing outdated playlists.

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

Changes in 5.2.16

  • Fixed mouse interaction in playlist image.
  • Fixed Genius playlists not showing up.
  • Added workaround for itlibrary API exposing old playlists (macOS, Big Sur/Catalina).
  • Added workaround for solid-gray-window bug on Catalina or later.
  • Improved support for macOS accent/highlight colors.

Labels: , ,

Saturday, November 28, 2020

beaTunes 5.12.15: Solid Gray Window

A couple of people have reported that when starting beaTunes 5.2.15 on macOS 10.15, they are faced with a solid gray window, showing only the title and the traffic light buttons (close, minimize, maximize). The actual UI shows up when clicking on the green button (maximize/full screen) and then switching back to the regular window.

This is a pretty annoying issue and a hard one to fix, as I cannot reproduce it, which makes me wonder how often this actually happens. Do many people see this? What do they have in common?

What's clear is that it apparently happens on a range of hardware models and that it is caused by a design change in beaTunes 5.2.15. To improve repainting and general appearance, beaTunes 5.2.15 takes advantage of a recent enhancement in the Java platform, namely the support for both transparent titlebars (apple.awt.transparentTitleBar) and windows using all available space (incl. the titlebar) (apple.awt.fullWindowContent). Of these two settings, the latter, i.e. full window content, apparently causes the glitch. One guess is that it has to do with the painting z-order, as described in this old Mozialla issue, but unfortunately that still does not give me a solution.

So for the moment, maximizing and then resizing seems to be the only remedy for v5.2.15. Alternatively, you can of course also downgrade to v5.2.14, available here, which does not use the two special settings.

If you have any insights into this issue or want to follow the discussion, please watch this thread.

Update

The issue has been addressed in v5.2.16.

Labels:

Tuesday, November 17, 2020

Update: beaTunes 5.2.15

This update fixes a couple of issues connected to muting. Additionally, I have adjusted the color scheme slightly to fit Apple's new operating system macOS 11, a.k.a. Big Sur, a little better. Note that there are still unresolved issues—upgrading to Big Sur is therefore not recommended.

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

Changes in 5.2.15

  • Fixed showing tooltip popups even though beaTunes is not frontmost window (macOS).
  • Fixed mute keyboard shortcut on macOS.
  • Fixed unintentional unmute on next track.
  • Added visual mute indicator in table view.
  • Added Big Sur color scheme.

Labels: , ,

Wednesday, July 24, 2019

beaTunes Dev Version for Apple's new Music App

As you have probably heard by now, Apple has decided to split up iTunes for macOS 10.15 into separate apps for music, TV, podcasts etc. What you might not have heard is that Apple apparently decided to remove the XML library dump, known as iTunes Library.xml. Both changes require some adjustments to how beaTunes works.

I believe that I have addressed most, if not all, apparent issues and would like to offer a development snapshot to all the brave souls who took the plunge and already upgraded to macOS 10.15/Catalina. Since there are some substantial changes under the hood, the new version will get a new minor version number, i.e., the final version will be called v5.2. As per the long-standing beaTunes update pricing policy, minor version updates are always free. Catalina compatibility is not the only thing addressed in v5.2, there are also some database layout changes and the capability to drop all fingerprints from the database to free some disk space.

Always Backup!

Because 5.2 changes the internal database, you cannot simply downgrade back to 5.1.x. So if you want to take 5.2 for a spin, please backup your database before you do.

Here's the macOS download link: beaTunes-5-2-0-SNAPSHOT.dmg

Please let me know via the support forum, how well this snapshot works for you.

Thank you!

PS: Should you encounter application crashes, please upload your crash logs upon application restart. You should be prompted for this.

Labels: , , ,

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: , , ,

Monday, September 11, 2017

beaTunes on High Sierra

macOS 10.13, also known as High Sierra, is going to be released very soon, which means it's time to talk about compatibility with beaTunes. An issue some beta users reported is a missing menu bar. In essence, just the application name, but none of the usual menu items are visible, which makes it impossible to work with beaTunes.

Should you encounter this issue, please try the following solution see note below.

  • Go it https://support.apple.com/kb/DL1572 and install the latest Java version distributed by Apple.
  • The package will install two items: An antique Java Virtual Machine (JVM) and the JavaVM.framework.
  • Unless you still use an application that uses Java 6 (beaTunes does not), you should remove the Java 6 VM right away, because of security issues.
  • But for beaTunes to work properly, you must keep the JavaVM.framework, which has no known security issues.

Please let me know, should you encounter any other High Sierra-related issues.

Thanks.

Update

The issue seems to have been resolved in the final version of macOS 10.13.

Update 2

Unfortunately, the issue still persists on systems with non-English locale. To get beaTunes to run properly

  1. Please switch your system's UI language to English (via System Preferences)
  2. Start beaTunes
  3. Switch back to whatever your regular UI language is
I apologize for this inconvenience and hope it's properly fixed soon.

Update 3

Apple has indirectly acknowledged it's an operating system bug. They are working on a fix.

Labels: , ,