beaTunes News

Monday, May 29, 2017

The way to beaTunes 5

I'm very happy to write that today I can finally release the first Early Access (EA) version for beaTunes 5. Like in any good software project, this should have happened earlier. But I'm glad that I'm able to say: Writing beaTunes is not something that's primarily concerned with deadlines. Writing beaTunes is about a product. Something I want to enjoy crafting—and hopefully people enjoy using.

Let me digress and talk a little about what goes into creating a software like beaTunes as a one-man-show. Assuming you already have a product, you need to figure out what your next version needs. I typically aim for a good mixture of what users want, what I want, and what simply needs to happen, because the world didn't stop spinning.

Users post great suggestions. Sometimes they solve problems for many people and provide me with valuable insights into what people really need. And sometimes they are very specific and only interesting for a small audience. Obviously, it does not make sense to implement those very specific wishes in beaTunes itself—that's what beaTlets are for. But even very reasonable wishes need to have many potential users. As it is, beaTunes is already a fairly complex software. Every additional feature clutters the UI and makes beaTunes harder to play with. So deciding which user features to implement is a process of elimination. Some survive, many don't.

Features I want, are often of a different breed. One thing that's probably most fun about beaTunes, is that every now and then I get to do some real research. Like creating a new key or tempo detection algorithm. That's the stuff that's really cool. Of course creating a neat UI, solving scalability issues, and working with lots of open source libraries is fun, too. But finding new ways to improve detection accuracy is among the best parts of the job. So after all the tedious nitty-gritty work is done, I get to spend a little bit of time getting my hands real dirty. That's when I burn the most for my work.

Above I mentioned outside factors. Things like new OS or iTunes releases. Those produce a lot of work, because they break things. Take for example iTunes 12.5. It's pretty neat that it introduced better support for classical music tags, but for some reason Apple chose to change the meaning of existing ID3 tags and introduce others that nobody else is using. Discovering these issues and fixing them is a huge part of my daily routine.

Once beaTunes is feature complete (that's where we are right now), there comes the phase when I hope that many people try the EA version (please do!!), so that both little kinks and gigantic bugs are discovered before the final release. That's also the phase in which translations, website updates, marketing etc. have to happen.

And then of course the cycle starts all over again...

Producing software is a fun ride. I love that I get to make something that people actually use. So, thank you for your continued support. Without it, I certainly would not have spent the last year of my life working on this software.

I hope you enjoy beaTunes 5.

Labels: , ,

beaTunes 5 EA1: Feedback welcome!

Today is the day you can get your hands on the first early access (EA—yep, kinda like beta) version of beaTunes 5. It's feature complete and stable, but it hasn't been used by many people yet. That means: please check it out and let me know, if you find any issues. To give you an idea what it looks like, here's a screenshot of the new dark mode showing key/BPM matches from the Beatport Top 100:

Here's some additional important information:

  • If you're already using beaTunes 4, make sure the analysis queue is empty before you install EA1.
  • Once installed, it will upgrade your existing beaTunes 4 database, should you have one. Before doing so, it should create a backup in the database directory so that you can go back to version 4. However, it's always a good idea to have your own backup!
  • The database upgrade may take a while. Do not interrupt it. Instead, get a coffee, play with your dog, check your kid's homework. There's nothing more boring than staring at an indeterminate progress bar.
  • EA1 is not fully localized. In the French and Spanish versions you will see English labels in some places.
  • This EA release will stop working a week from now. There will be either a new EA version before the week is over or the final version will be released.
  • The final version will not be a free update, unless you very recently purchased a license from the website (magazine keys don't qualify!). As always, an upgrade license can be purchased for a significantly discounted price once the final version 5 is out.
  • Media key support for Windows will hopefully happen in EA2. For macOS, you might need to disable the rcd and allow beaTunes to use the accessibility API. But at the very least, you need to enable media key support in beaTunes' playback preferences.
  • Version 5 introduces an improved color concept that takes tempo/rhythmic features into account. To see these "new" colors you need to re-run the color analysis. Please note that the "old" color is still there, but it has been renamed to "timbre". To see the "new" color column, you may need to enable it, e.g. via View -> View Options.
  • There is a new Beatport integration for charts and song matching (Beatport can be chosen as source). To enable it, you need to grant beaTunes access to your Beatport account. You can do so via the corresponding checkbox in the general preferences.
  • For a complete list of changes, please read the NOTES.txt file in the distribution.

There are a bunch more features I can't wait to talk about, but those will have to be explained in subsequent posts. In any case. Please let me know how you like this release. Feel free to ask questions. Your feedback is very valuable to me.

Thank you.


Update 30.5.2017

It looks like there is a small memory issue connected to the new key detection. This will be resolved in EA2. The current dev snapshot already contains a fix.

Labels: ,

Monday, May 1, 2017

Crashes on Windows 10 Creators Update

Apparently the latest Java 8 update (Java8_131) crashes on Windows 10 Creators Update, when opening a file dialog. This is rather inconvenient, as beaTunes 4.6.14 happens to use that version.

If you're on Windows 10 Creators, you seem to have two options:

  1. Keep on using 4.6.13 or earlier.
  2. Update to the latest snapshot.
The bug report mentions a workaround, which I have implemented in the latest beaTunes development snapshot. Here's the 32-bit version and the 64-bit version (seriously, who still uses 32-bit?).

The macOS version is not affected by this problem. So if you aren't using Windows 10 Creators Update or haven't updated to beaTunes 4.6.14 yet, please just ignore this.

Labels: ,