fre:ac Developer Blog
fre:ac development status update 03/2019 Print
Written by Robert   
Wednesday, 27 March 2019 19:35

Hi all, here's a new fre:ac development status update. I missed the January and February updates and thus decided to do this one a bit earlier. Also, I'll be on vacation the next two weeks, so there's not much more development going to happen in March anyway. As this report is covering almost three months, it got much longer than usual.

Snap and AppImage packages

After introducing Flatpak packages for fre:ac in December, I worked on getting Snap and AppImage packages up and running in January. As a result, fre:ac is now available in the Snap store and AppImages have been added the the downloads section.

Also, since just a few days ago, continuous builds of fre:ac are now available as Snaps in the edge channel of the Snap store (with official releases now listed in the beta channel). I also sorted out an issue with the build process on the ppc64el architecture, so if you have such a machine, you can now enjoy fre:ac as well.

Following this, continuously built AppImages will hopefully be available soon too.

PulseAudio output component

The Linux versions of fre:ac will make use of the PulseAudio sound architecture starting with the next alpha release. This replaces the previously used ALSA output component and enables you to control fre:ac's volume independent of other applications in your desktop's mixer. It also simplifies the process of packaging fre:ac as a Snap and helped making continuous builds available.

Media Foundation WMA decoder

On the Windows platform, the WMA decoder based on Microsoft's Windows Media Format SDK has been replaced by one building on the newer Media Foundation APIs. The new decoder is used on all systems that support Media Foundation and works around a WMA Lossless decoding bug on recent versions of Windows 10.

Improved playlist files' interoperability

A user noted that M3U playlist files generated by VLC could not be opened in fre:ac (via the File->Load joblist feature). Turned out that VLC is putting file: URIs in its M3U files and fre:ac was not ready for that. This is now fixed so the next release will be able to handle such files.

A similar issue existed with XSPF playlists. With this format though, in addition to fre:ac not being able to handle VLC's files, the latter also could not open files generated by fre:ac. The next release fixes this and will provide complete XSPF interoperability between the two programs.

Bug fixes and minor improvements

In addition to these bigger changes, a lot of bug fixes and smaller improvements have been implemented since the beginning of the year:

  • Fixed conversion failing for MP4 and WMA when input and output files are the same
  • Fixed 32 bit float encoding with Core Audio turning up noisy output files
  • Fixed Opus file output (vendor string, granule position)
  • Fixed Ogg serial number generation
  • Fixed occasional crashes when changing radio button values on Windows
  • Fixed CDDB multi-match dialog crashes/hangs on X11 systems
  • Fixed thread synchronization issues with CDDB queries on macOS
  • Fixed a framework issue leading to memory leaks on all platforms
  • Don't remove files from the joblist in case of a conversion error
  • Show only one error dialog when adding multiple folders by drag & drop

Performance and compatibility updates for Monkey's Audio

Not directly related to fre:ac, but still noteworthy, I recently sent some more patches to the author of the Monkey's Audio codec. These provide better compatibility with Linux and Unix-like systems and speed up decoding by approximately 5% by using a faster CRC calculation algorithm previously only used for encoding plus some other optimizations.

That's it for this issue. I will be on vacation now and hope to be able to cut a new alpha release soon after I'm back. Watch for it around mid to end of April!