beaTunes News

Wednesday, August 21, 2013

64 bit beaTunes on Windows 7/8

beaTunes2 logoFor years now, beaTunes has used Apple's QuickTime SDK for Windows to decode and play audio files (on OS X, beaTunes uses CoreAudio and QTKit). Unfortunately, QuickTime for Windows is 32 bit only and has been all but abandoned by Apple a couple of years ago. In the OS X world it has been first replaced by QTKit and more recently by AVFoundation—and both are available in 64 bit, but not on Windows.

Truth be told, the QuickTime SDK is covered with quite a bit of patina. But to my knowledge it is the only commercially available, comprehensive cross-platform multimedia API. The only other library that comes close is the open source project FFmpeg (…which does not take care of licensing issues).

Why am I telling you all this?

Without some sort of inter process communication (a trick used by the QuickTime X player), any program that wants to use a 32 bit library, has to be a 32 bit process as well. And 32 bit means 4 GB of addressable memory per process—a boundary beaTunes with a big library and lots of parallel analysis tasks can bump against. As a consequence, to allow beaTunes to run as 64 bit process, I have to get rid of QuickTime and replace it with something else. This something else will be a mixture of different SampledSP-libraries—FFSampledSP for free codecs like FLAC and OGG and MFSampledSP for commercial formats like AAC, MP3 and WMA. For a complete list of available MFSampledSP decoders, please see this Microsoft Media Foundation article.

The switch away from QuickTime is planned for beaTunes 4, not due for at least a couple of months. But since most of the code for 64 bit audio decoding is already written and available, I'm making a special 64 bit Windows 7/8 build of beaTunes 3.5.15 available for you today. This should be interesting to folks with memory problems on Windows. In the 64 bit version they can increase the maximum heap size to a much larger value than the typical 1200 MB. If you want to try this, please keep in mind, that you need at least Windows 7—this will not work properly on Vista or XP! Obviously, you also need a 64 bit operating system and 64 bit hardware.

You can get the 64 bit version here: beaTunes-3-5-15-x86_64-win.exe

This build contains MFSampledSP, but not FFSampledSP. So working with most commercial codecs should be fine. Free or Apple specific codecs (e.g. Apple Lossless) on the other hand might be problematic.

Of course I'm putting this out there for your benefit, but also for mine. Please let me know, if you run into any kind of problems! I need your feedback to solve issues.

Thank you.

Labels: , , , ,

3 Comments:

Anonymous Michaela K. said...

the 64 bit version on win 7 is very fast, BUT it lacks ALAC support (as you mentioned) and there are no "colors" created during analyzes (maybe that's why it's so fast) ... tried several times (v3.5.15 - v3.5.18)

now I changed back to 32 bit version and increased mem sizes; with the following setting the performance is ok, but still not perfect (gui reacts still slow, but much better than before with default values)
----
-Xms128m
-Xmx1048m
-XX:MaxPermSize=256m
-XX:MaxDirectMemorySize=2048m
----
it's a pitty that 32 bit jvm can't expand the 2G limit; my machine would have 16G to offer ;-)

p.s.: the new "mood" tags are a great thing, I' been waiting for this feature since beatunes v1.* -- would be cool to edit mood tags in bulk mode, 'cause I already used my own private pseudo mood tags in the comment section of the meta data header

February 15, 2014 at 4:05:00 AM EST  
Blogger beaTunes said...

There shouldn't be a problem with colors as long as the audio can be decoded at all, i.e. the audio format is supported. Do you see any error messages?

Regarding bulk editing the mood: You can simply select multiple songs, right-click, select Get Info and then switch to the Mood tab.

February 15, 2014 at 4:43:00 AM EST  
Blogger beaTunes said...

The current version is 3.5.19 - which one are you using?

June 12, 2014 at 5:44:00 PM EST  

Post a Comment

<< Home