beaTunes News

Tuesday, October 22, 2019

Music App: Forcing Synchronization

Pretty much since forever, beaTunes is capable of synchronizing with either a folder-based or an iTunes/Music.app-based music collection. In both cases beaTunes synchronizes its database with what is found either in music files or the iTunes/Music-database—like a smart import (changes originating from beaTunes, on the other hand, are typically written right away). You can imagine that importing whole libraries takes a very long time, especially when they reside on an external or network drive (not recommended). Therefore beaTunes employs some tricks to speed up the process. For the old iTunes XML files, for example, it does a smart diff, not unlike the Unix tool diff. Thus beaTunes is able to detect changes and only import the relevant parts. For folder-based libraries, beaTunes simply looks at the last modification dates of your audio files. If the file has been changed recently, its metadata is re-read.

Now, with macOS 10.15 and the new Music app, doing a diff is not an option anymore and checking the file system is inefficient. Therefore beaTunes uses a last-modification/hash-based approach, which works really well. It has only one downside: Apple hasn't updated the ITLibrary framework for years. This is the Apple API that must be used to access the Music library. You simply won't find newer properties like loved, movement, or work. This means that just using the recommended Apple API certain changes cannot be detected. However, those properties are available via AppleScript (Apple did a better job here). And this is where forcing synchronization comes into play. When you manually initiate synchronization via the File menu, and beaTunes 5.2 cannot detect any changes, you are given the option to force synchronization (see screenshot), i.e., to ignore any shortcuts, previous knowledge etc., and re-read all available data. This makes sure that all your play counts, loved flags, etc. reflect the status in the Music app. As you can imagine, the process takes a little longer, so you might not want to do this all the time, but only every now and then.

Labels: , , ,

Thursday, October 17, 2019

Shrink your Database

For certain features like acoustic duplicate detection or lookup of metadata for files with no metadata whatsoever, audio fingerprints are a great feature. However, when you've fixed all your metadata and are not hunting for duplicates, they take up a lot of space in beaTunes' internal database. That's why beaTunes 5.2.0 introduced a new feature that I believe is very handy, if you have a large library. It allows you to quickly delete all fingerprints from the database, which can substantially shrink the database file. Why is this a good thing? The more the database grows, the more disk I/O may happen, and the slower everything becomes. So if beaTunes feels sluggish, you have a large library, and you don't need those fingerprints anymore—just get rid of them, by opening the Tools menu and choosing Delete Fingerprints. This will delete all fingerprints currently in your internal beaTunes database. Note that for this to take full effect, you will need to restart beaTunes, as database compression always happens on shutdown. Depending on the size of your database, it might even be beneficial to restart beaTunes a couple of times.

Labels:

Friday, October 4, 2019

A new beaTunes for Catalina

With the pending release of macOS 10.15 (Catalina), Apple will get rid of iTunes as we know it and replace it with the new Music.app. Because some essential things have changed, beaTunes 5.1 or earlier will not work with the Music.app. The good news is, owners of a beaTunes v5.x license can update to v5.2 for free and v5.2 does support Music.app.

Undoubtedly, Music.app support is v5.2's most important feature. But there are some other changes, mostly small enhancements and bug fixes (see below). And this:

Important: Please note that due to Apple's notarization requirements I was forced to drop support for older versions of macOS. If you are using a Mac, you need at least OS X 10.12 to run beaTunes 5.2 (OS X 10.11 will be supported again in 5.2.1).

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

Changes in 5.2.0

  • Removed some annoying tooltips.
  • Reduced database size.
  • Added ability to delete fingerprints from database (to reduce size).
  • Added support for macOS 10.15 (Catalina) Music.app.
  • Added support for Beatport during metadata import.
  • Added ability to force synchronization.
  • Changed keyboard shortcut for zero rating (Windows only).
  • Updated built-in Discogs database.
  • Dropped support for old macOS versions, because of notarization.
  • Fixed love/dislike propagation to iTunes (macOS only).

Update

Due to a mistake, v5.2.0 requires macOS 10.12 or later. macOS 10.11 will be supported again in v5.2.1.

Labels: , , ,