beaTunes News

Sunday, May 17, 2026

Early Access: beaTunes 6 EA2

This second early access version of beaTunes 6 focuses on two things:

  1. Faster database access/synchronization
  2. Faster inpection

Both improvements are essentially the result of optimized database queries and parallelization. Especially inspection should be an order of magnitude faster. Note that it may not appear like that at first, as beaTunes will now always start with the relatively slow inspectors first. Synchronization, especially for folder-based libraries on network volumes - which naturally is fairly slow, should be significantly faster.

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-EA2-arm64.dmg

Changes in 6.0.0 EA2

  • Migrated to UNUserNotificationCenter.
  • Improved synchronisation performance.
  • Improved database schema.
  • Improved inspection performance.
  • Improved analysis performance (1st round).
  • Removed unused low-level dsp features.

Feedback is very welcome!

Labels: , , , ,

Thursday, September 14, 2023

Update: beaTunes 5.2.33

This minor update fixes a couple of issues having to do with responsiveness, house keeping, and a downright bug (time signature didn't show up in the main table view).

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

Changes in 5.2.33

  • Fixed sub-par responsiveness in inspection panes.
  • Fixed time signature table renderer.
  • Fixed deletion of orphaned playlists.

Labels: , ,

Sunday, January 17, 2021

Update: beaTunes 5.2.19

This maintenance update features some overall improvements and fixes a couple of issues. A lot of fine-tuning has gone into the Get Info panel, to provide better performance and lower memory requirements—especially when opening it for multiple tracks. Fixes include re-adding the missing JavaScript engine ("Nashorn") to support beaTlets written in JavaScript. Due to changes on the Bandcamp website, our tag scraper had to be updated. Some minor changes also happend in the Commit All Solutions menu item, which was enabled erroneously, when it shouldn't have been.

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

Changes in 5.2.19

  • Fixed update of player indicator in Beatport charts.
  • Fixed enabled status of commit solutions menu item while committing.
  • Added missing Nashorn scripting engine.
  • Updated Bandcamp tag extraction.
  • Reduced memory consumption of Get Info dialog.

Labels: , , , ,

Saturday, January 27, 2018

From the trenches: remove leading/trailing whitespace

It's not an official inspection, but a good example for how some things can be done quick & dirty with the plugin API: a little RemoveWhitespace beaTlet. Check out this help forum post for details. The source code can also be found in the GitHub repo under groovy.

Have a great weekend!

Labels: , , ,

Wednesday, June 7, 2017

Fixing Media Kind: It's a bird! It's a plane! No, it's a podcast!

iTunes had the ability to organize your media files into broad categories (music, movies, podcasts, audiobooks, ...) for a long time. This is especially significant for people who store audiobooks in iTunes and expect to listen to them on their iPhone using the iBooks app. That's only possible when the files are correctly categorized as "audiobook". Unfortunately, adjusting the media kind (that's what iTunes calls those categories) was only possible manually through the user interface. With version 12.4 Apple finally remedied this for macOS and the property was exposed via AppleScript. This means that software like beaTunes can manipulate it and move files into the correct category. A task made for a beaTunes inspection.

Now how would one know, whether a file is in the wrong category? The route I took for beaTunes 5 is to simply look at the genre label. If it says podcast in that label, chances are it's not a TV show. The same is true for audiobooks. The corresponding inspection is therefore aptly named "Genre does not match media kind". It lets you easily fix miscategorizations and thus makes it much easier to listen to your favorite audiobook while on the road. By the way, proper tracknumbers and identical album/artist values make it possible to group chapters into a book. Obviously, beaTunes can help here, too.

As mentioned above, programmatically manipulating the media kind on macOS happens via AppleScript. The Windows equivalent for this used to be the iTunes COM API. Unfortunately, Apple has abandoned it years ago. This is why beaTunes for Windows cannot offer the same functionality as beaTunes for macOS. On Windows, beaTunes offers proper media kind support only for folder-based libraries, where iTunes does not matter. It sure is disappointing, but it seems that Apple views iTunes for Windows as a legacy system, that's dragged along, because it cannot let it die for fear of public outcry. Which is ironic, given that so many people have a love/hate relationship with iTunes.

Labels: , , , , , , , ,

Thursday, September 1, 2016

beaTunes 4.6.6

This is just another little maintenance release, fixing two noteworthy and a couple of smaller issues.

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

Most important changes in 4.6.6

  • Fixed compilation-related issue with "same album, different year"-inspector.
  • Fixed failure to select directory under Windows with HiDPI (Retina) display.

Labels: , ,

Wednesday, May 11, 2016

Faster Graphics, no Blank Lines

beaTunes4 logo

Among other things, today's update fixes a couple of display issues. If you have ever seen blank lines in the main song table—this update is for you. In general, beaTunes will feel a little faster and scrolling around in huge lists should be more responsive. Also related to graphics: the choice of GPU (graphics adapter) on OS X. There really is no reason why beaTunes should use the high performance GPU. Thanks to a recent Java update (8u92), beaTunes is now able to request the integrated GPU instead of the high performance one, resulting in lower power consumption. And as beaTunes comes bundled with a Java runtime, there is no need for you to update your system's Java to get this feature.

Another important bug fix deals with Album Replay Gain. Because the beaTunes analysis queue processes multiple tracks in parallel and independently, computing Album Replay Gain is a little like dealing with a pink, spotted elephant: All tracks for an album have to be loaded, analyzed and the metadata has to be written, while another analysis thread may already work on one of those files. Compared to all other values beaTunes computes, this is a big exception and requires some extra synchronization logic. For 4.6.1, this logic has been completely rewritten.

I'm sure you'll enjoy this update. As always, you can download it from the download section of the website.

Most important changes in 4.6.1

  • Fixed dragging songs from the main table to other programs.
  • Fixed write failures of Album Replay Gain values.
  • Fixed main table repaint issue (blank list until scroll).
  • Fixed launch failure when installed in folder with + char.
  • Improved sort order of different genre issues (by artist).
  • Improved speed of table rendering code for iCloud songs.
  • Improved matching of online metadata when Earliest Release is checked.
  • Reduced power consumption on OS X by allowing use of integrated GPU.
  • Updated to FFSampledSP 0.9.13.

Labels: , , , , ,

Thursday, July 9, 2015

beaTunes 4.0.25

beaTunes4 logo

Just want to make you aware of a little beaTunes maintenance update. As always, you can download the update from the download section of the website.

Most important changes in 4.0.25

  • Changed id3 rating export to please Explorer.
  • Fixed little issue in artwork file cache.
  • Fixed persistence of replace/import option in analysis.
  • Fixed ####!#### iTunes 12.2 library name.
  • Fixed enable/disable issue in inspection button.

Labels: , , , ,

Monday, February 2, 2015

Improving Tags through Inspection

After explaining the overall idea, how libraries work, and the finer details of analysis options, today I am going to talk about inspection.

As you might recall, the main idea of inspection is to improve your textual metadata. Inspection does not magically tag all your files correctly (there is an analysis task that can help with that, though). Instead, it supports you in identifying potential issues like spelling mistakes and offers appropriate solutions. Let's look at this step-by-step.

Before you run an inspection, you might want to synchronize the beaTunes library with iTunes or your music files, so that the internal beaTunes database is up to date. You can do so via the File menu. Then click on the inspection button in the toolbar, the Tools menu, or simply use the keyboard shortcut Shift-Command-I. beaTunes will scan your library for issues. How long this takes depends mostly on the size of your library and which inspectors you have enabled (fewer = faster). Once the initial scan is complete, beaTunes will display the found issues along with suggested solutions.

Then the procedure is as follows:

  • Select one or more issues
  • Only if you selected a single issue: Select the songs you want to apply a solution to
  • Choose the solution and apply it
  • Move on to the next issue

Note, that when you select more than one issue at once, not all displayed solutions will necessarily be appropriate for all selected issues—however, they will only be applied to appropriate issues.

Whenever you apply a solution, beaTunes displays two dialogs. The first dialog makes you aware of the fact that the actual change has not happened yet. Instead, the chosen solution has been added to the list of pending solutions. This list appears at the bottom of the inspector list. It allows you to review all applied solutions before you actually commit them. More about that in a bit.

The second dialog asks, whether the issue at hand has been completely resolved. If your answer is Yes, beaTunes removes the issue from the open issues list. If it is No, the issue stays and you can apply another solution to the same issue. This makes sense, e.g. when an issue lists five songs as having the same rarely used genre. Upon checking the songs out, you might realize that the first two belong to pop, while the other three belong to jazz. So you first select the pop songs, apply a solution that changes their genre to pop, and then select the jazz songs and change their genre to jazz.

Committing Solutions

As mentioned above, applied solutions aren't immediately committed. Instead, they are collected in the pending solutions list where they can be reviewed, dropped, and committed. To do any of these things, select the Pending Solutions item in the left pane of the application window. Once you see the list of pending solutions, you can either commit them or delete them—either in bulk or individually via the context menu.

If you dislike this two-step approach of applying and committing—well, you can turn it off. The corresponding switch is located in the inspection preferences and called Delay committing changes. You guessed it, in order to commit solutions right away, you must turn this option off. The same preference pane also lets you turn individual inspections on and off.

Removing Duplicates

Even though the bulk of the offered inspections aim at consistency of textual data, one of the more popular inspections has nothing to do with metadata improvements. Finding and removing duplicates is a great pain in large collections and beaTunes has an inspection that can ease this pain. By default, beaTunes uses the existing textual metadata like song and artist names to find duplicates. Sometimes, songs already have identifiers like ISRCs embedded—those are used as well. Additionally, to identify duplicates that come with wrong or insufficient metadata, beaTunes can use acoustic fingerprints. Unfortunately, it can take quite a while to compute those, therefore they are not calculated during inspection. In order to take advantage of them, you must first analyze your library with the fingerprint analysis task turned on. Once that has happened, beaTunes will take them into account when you run the inspection.

Conclusion

This little guide hopefully explained in detail how inspection works. If you have further questions, please comment below or start a discussion in the support forum.



This article is part of a small series under the heading "HowDoesItAllWork".

  • Part 1 explains the overarching idea behind beaTunes.
  • Part 2 explains what kind of libraries beaTunes supports.
  • Part 3 takes a closer look at analysis and analysis options.
  • Part 5 concludes this little series, showing how to build great playlists.

Labels: ,

Thursday, April 21, 2011

beaTunes 3 Early Access 2

beaTunes2 logoTwo weeks went by since the first EA release. In the meantime I have been working on a number of small UI tweaks and fixes, especially in the inspection part of the app. For those of you who haven't tried the new inspection interface yet - it's a complete rewrite, more intuitive and much better accessible with just the keyboard. The screenshot below points out some of the changes (click on the image to see a larger version).


The most important change is probably that Inspection is now a first class citizen - not hidden away in some obscure dialog, but always present and there for you to use. After you inspected your library, songs with issues are clearly marked, in the inspection view and also in any other view.

I hope you enjoy this new way of working with beaTune and am looking forward to your feedback!

As always, there is some more info in the NOTES.txt file.

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)
  • This version will cease to function 2 weeks after its release
  • You cannot buy this version

And here are the download links:

Important

This EA version changes beaTunes' internal database layout quite a bit, which takes a while. Do not interrupt this process, even if it takes very long! beaTunes 2.x will not be able to use the database anymore, after you ran beaTunes 3.0. If you intend to try 3.0 and then go back to 2.x, make sure you back up the database before you try 3.0 (depending on your OS it's in ~/Library/Application Support/beaTunes/Database, C:\Users\<username>\AppData\Local\tagtraum industries\beaTunes\database or C:\Documents and Settings\<username>\Local Settings\Application Data\tagtraum industries\beaTunes\database)! You also might want to check out this article about exporting beaTunes data.

Please provide feedback!

Thanks.

Labels: ,

Wednesday, October 14, 2009

EA2 for beaTunes 2.1

beaTunes2 logoSo this is #2. The second Early Access (EA) release for 2.1. As I have written before, this is not supposed to reinvent the whole app. But still, beaTunes 2.1 introduces some bigger changes under the hood (see here).

This release fixes some issues EA1 had on XP, improves duplicate inspection further (fewer false positives), offers more options when importing MusicIP data and adds an enabled/disabled column.

Just like EA1, EA2 offers to use some online resources, but will (most likely) fail with an OnlineDBException.

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 we make a reasonable effort)
  • This version will cease to function 2 weeks after its release
  • You cannot buy this version

And here are the download links:

Important

This EA version changes beaTunes' internal database layout quite a bit, which takes a while. Do not interrupt this process, even when it takes very long! On OS X, beaTunes 2.0 will not be able to use the database anymore, after you ran beaTunes 2.1. If you intend to try 2.1 and then go back to 2.0, make sure you back up the database before you try 2.1 (it's in ~/Library/Application Support/beaTunes/Database)! You also might want to check out this article about exporting beaTunes data.

Please provide feedback!

Thanks.

Labels: , ,

Wednesday, April 8, 2009

Address those issues! At once!

beaTunes2 logoToday I released beaTunes 2.0.5. The update is minor one and serves mostly to make some UI deadlocks a thing of the past. Unresponsive UIs are a PITA and give apps a bad rep, so I wanted to address this one quickly.

The other thing that's changed is a new feature. At least for some issues you can now apply solutions that are suitable for multiple issues at once. So if you know what you are doing, you can apply solutions to more files more quickly. A lot more quickly. So be careful when using this one... it gives you less information, but more power.

To apply multiple solutions at once, select either an inspection or multiple issues and in the description pane on the right of the inspection dialog solutions will be offered.

Labels: ,

Thursday, April 2, 2009

iTunes, Exclamation Mark!

beaTunes2 logoMany of you probably know, that beaTunes has the capability to find those songs that iTunes marks with an exclamation mark to indicate that it was unable to find the corresponding file. It's called Missing File Inspection.

It was recently brought to my attention, that there is another way to find at least some of the missing tracks: Just sort by location in beaTunes. All songs that iTunes does not even know the old filename for will show up as unkown.

Eine deutsche Beschreibung der Inspektion befindet sich zudem auf der Seite iTunes Ausrufezeichen.

Labels:

Wednesday, February 11, 2009

Deutsch!

beaTunes2 logo

So... all the little UI glitches in the last couple of releases hopefully paid off with this one, EA19. All strings are extracted and a German and English set are provided. That means, German users should now be able to enjoy beaTunes in their native tongue! Please let me know, if you find any messages or dialogs that I missed or that sound awkward.

Besides the German localization, this release features a new Compilation Inspector that finds albums that really shouldn't be marked as compilations, some UI fixes and some caching improvements.

And 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 versions (even though I make a reasonable effort)
  • This version will cease to function 2 weeks after its release
  • You cannot buy this version

Just so that there is no doubt about it: EA19 isn't even a beta version (actually, we are getting really damn close to that, though).

And here are the download links:

Note for EA18 users

There should be no problems.

Labels: ,

Wednesday, October 29, 2008

Finding the Key

beaTunes LogoIn the past two weeks a bunch of things have changed on the analysis front. I got to test the new key analysis algorithm from EA10 and as a result completely rewrote it. Accuracy of the results should be much better now. I also introduced a second BPM detection algorithm called SimpleSoundEnergy, which is generally faster than the original one, but not quite as accurate. This is hopefully great for folks who quickly want to scan huge collections and don't care as much about accuracy.

Of course I fixed a bunch of little things that are too tedious to list here. But you might want to know, that I added a couple of new inspectors. The amazon album version inspector lets you easily remove the (Album Version) suffix that Amazon likes to append to their mp3 titles. The rarely used genre inspector let's you find genres that are hardly used and maybe should be replaced by other genres. Lastly, I added an inspection that finds dupes with different ratings and lets you adjust them.

And 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 versions (even though we make a reasonable effort)
  • This version will cease to function 2 weeks after its release
  • You cannot buy this version

Just so that there is no doubt about it: EA11 isn't even a beta version.

And here are the download links:

Note for EA10 users

There will be some updates to the database. Make sure the analysis queue is empty before starting EA11 for the first time. If that is not possible, please note that BPM tasks that are still in the queue will probably fail.

Labels: , , ,

Wednesday, September 26, 2007

beaTunes 1.2.3 features delayed commits

beaTunes LogoYesterday we put a minor update to beaTunes on our website. It addresses three different issues:

  • UI improvements
  • Leopard compatibility
  • Delayed inspection commit

UI improvements: Language names are no longer shown in the system language, but always in English. We also added the most important languages to the top of each language combobox, to make their selection easier. Furthermore, there were occasional issues with displaying the Get Info dialog correctly on systems that used very long genre names. This issue is fixed. Another small improvement: In the Get info dialog for multiple items, the checkboxes are now automatically selected, once the user enters anything in the corresponding field.

Leopard compatibility: It turned out that due to changes Apple made in the Applescript subsystem, beaTunes wasn't working on Leopard. We looked into these issues and solved them. So there shouldn't be a big surprise in October, when Leopard finally sees the light of day.

Delayed inspection commit: Some users suggested that beaTunes should wait with committing changes initiated in the inspection dialog until the dialog is closed. This, so the reasoning, should allow a more fluent inspection. We listened and implemented the desired delayed commit. It's enabled by default and can be turned off in the inspections preferences.

We hope this update makes your beaTunes experience even more fun.

Labels: , , ,