Menu Content/Inhalt
Home Developer Blog
  • English
  • German
  • Japanese

News Feed

feed-image RSS 2.0
fre:ac Developer Blog

Welcome to the fre:ac developer blog. I will post status updates and other information about fre:ac development here.

fre:ac development status update 01/2017 Print
Written by Robert   
Friday, 03 February 2017 22:34

Here's the fre:ac development status update for January 2017. It's already February now, so let's not lose any more time and go right ahead.

Work on the next snapshot

Since the last update, a lot of changes for inclusion with the next snapshot have been implemented. These are the most important ones:

  • Advanced info extraction from file names
    When no tag information is available for a file loaded into the joblist (as often happens with .wav files), current versions of fre:ac take the file name and treat the first part before a " - " delimiter as the artist and the last part as the title. So, for example, in Ed Sheeran - Shape of You.wav the artist and title will be correctly recognized. With more advanced naming schemes, fre:ac can easily get confused, though.

    The new algorithm knows and recognizes lots of different popular naming schemes. For example, it now takes the folder name into account to recognize patterns like <artist> - <album>\<track> - <title> and it looks for numbers in the file name and treats them as track numbers.

  • Easier format selection for codecs supporting multiple formats
    Selecting format when starting a conversionSome encoder components like Core Audio or SndFile support different output formats. For example, SndFile can create .wav or .aiff files. Starting with the next snapshot, fre:ac will allow you to select the desired output format directly from the Start encoding drop down menu. It's no longer necessary to go to the configuration dialog to change the output format.
  • Create one playlist / cue sheet per folder
    When converting multiple albums in one conversion run, current versions of fre:ac create a single playlist or cue sheet file with all the tracks of all albums, which is probably not what you want in most cases.

    Starting with the next snapshot, there will be an option (enabled by default) to create separate playlist and cue sheet files per output folder. So, if you use a pattern like the default <artist> - <album>\<artist> - <album> - <track> - <title>, you will get separate playlist and cue sheet files for each album.

  • Faster editing of tracks with cover art
    In the current snapshot version, performance can get really slow when editing title information of tracks with cover art. This will be fixed in the next snapshot thanks to fre:ac user Shri, who reported this behaviour as a bug on SourceForge.
  • Open the output folder from the main window
    Next to the name of the output folder at the bottom of the main window now is a button to open that folder in your systems file explorer.
  • Polishing for an upcoming beta release
    Progress indicator in macOS dockSeveral minor changes have been implemented to get fre:ac 1.1 closer to a beta release. For example, the macOS version now displays conversion progress in the dock, fre:ac's application name is no longer shown as unknown in the Gnome panel on Linux or FreeBSD and fre:ac recognizes configuration files of 1.0.x releases and keeps most settings when upgrading from such a version.

Some more changes are queued for the next snapshot, but are not quite ready yet, which is why there was no new snapshot release in January. I hope to be able to talk about those changes in next month's issue.

1.0.28 coming soon

I hoped to have a new stable release by now, but things turned out a little more complicated. A compilation bug was found in FLAC 1.3.2 and I decided to wait for a fixed release. However, probably due to lots of people submitting various fixes for FLAC 1.3.2, that have to be reviewed and integrated, a new version is not available yet.

Thus, I decided to just apply the patch for the compilation bug to FLAC 1.3.2 and make a fre:ac release with it. I expect to be able to push out fre:ac 1.0.28 in the next few days.

That's it for this update. Stay tuned for the 1.0.28 release and a new status update next month.

fre:ac development status update 12/2016 Print
Written by Robert   
Wednesday, 28 December 2016 17:53

Merry Christmas and a Happy New Year everybody! Thank you for reading this fre:ac status update for December 2016!

It's been a long time since the last update as I've been busy with non-fre:ac related things for the greater part of the year. Thus, progress had been slow until about mid-November, but now we are on track again with two releases in the past four weeks and more to come.

20161129 snapshot release

The 20161129 snapshot mainly fixes an issue on OS X El Capitan that riddled me for almost the whole year.

Soon after the release of El Capitan, users started reporting that fre:ac would hang indefinitely when trying to query the freedb database. Unfortunately, I could not reproduce this on a virtual machine running El Capitan and a friend's MacBook still running Mavericks also showed no issues.

It turned out later that the issue occurred only on multi-core systems (which would probably be almost every system except for my virtual machine). I'm running different versions of OS X in VirtualBox VMs in order to test fre:ac on any OS X from Leopard through Sierra, but unfortunately, VirtualBox does not support more than one CPU core for OS X VMs. That's why that multi-core bug would never happen on my VM...

While trying to reproduce the issue once more in November, I stumbled upon a trick to make multi-core work in VirtualBox. It turned out it's as simple as assigning the VM a pre-Haswell CPUID and it will gladly run with lots of CPU cores. That way I could suddenly reproduce the issue on my own system (and finally run things like parallel conversions on modern OS X too) and fix it after only one or two days.

Besides that fix, the 20161129 snapshot updates codecs to the latest versions and fixes some issues with handling cover art.

fre:ac 1.0.27 and upcoming 1.0.28

After pushing out the 20161129 snapshot, I turned to the 1.0.x branch again and decided to make a new release with some fixes that stacked up in the past months. I originally planned to wait for the release of FLAC 1.3.2 which had been considered on the FLAC developer mailing list in January, but still not been released.

In the meantime (since the fre:ac 1.0.27 release) we finally had some FLAC 1.3.2 preview releases, though, and it looks like it will be ready in a couple of days. As soon as it's finished, I will make a fre:ac 1.0.28 release with the FLAC update and a fix for handling files with broken cover art tags.

Work for the next snapshot

The next snapshot will probably be ready in January and I can already confirm the following changes:

  • Reading cuesheets embedded in tags
    Some programs, like foobar2000, write cuesheets to Vorbis Comment or APEv2 tags when ripping CDs to a single audio file. The next snapshot release will be able to interpret such tags and display the individual tracks when loading such files.
  • More stability fixes
    Another issue affecting mainly the OS X version on multi-core systems has been found and fixed. This made fre:ac prone to crash when interacting with the UI while loading new tracks to the joblist.
  • Haiku port
    fre:ac running on Haiku OSAs a side-project, I ported fre:ac to the Haiku OS, an Open Source reimplementation of the 90ies BeOS operating system.

    Making such ports is fun and often uncovers bugs affecting other operating systems as well. In this case, the aforementioned stability issues on OS X have been discovered mainly because of the Haiku port.

This closes this fre:ac development status update. I will have some additional features and hopefully a new snapshot release to announce in the January issue.

fre:ac development status update 01/2016 Print
Written by Robert   
Sunday, 31 January 2016 22:38

Here's the fre:ac devlopment status update for January 2016. Sorry for not giving an update in December! I was so busy with Christmas presents and other stuff that I didn't have much time to work on fre:ac that month.

Updates and fixes

I added a few new features and fixes in the past weeks. Nothing really big, but here's a list of the most important changes:

  • Support for multi-channel Opus
    The 20151122 snapshot supports multi-channel audio with all formats that can handle it, except for Opus. The next shapshot will add that and complete the effort to add basic multi-channel support to fre:ac.
  • Fix for reading floating point samples from .wav and .aiff files
    When reading 32 or 64 bit floating point samples from .wav or .aiff files, the signal is scaled to a range of -1.0 to 1.0 in the current implementation of the SndFile input component. For very quiet recordings, this can lead to a much louder signal after conversion, which was not intended. The next shapshot will fix this.
  • Run fre:ac from a Unicode path on Windows
    Current fre:ac snapshot releases will not start when run from a path that contains Unicode characters on Windows. This is due to a non-Unicode function being used to set the PATH variable in fre:ac's launcher code and will be fixed in the next snapshot.

In addition, I'm currently investigating some issues querying the freedb database on OS X El Capitan. This slowed things down a little in the past weeks, unfortunately, and it's still not fixed. I hope to be able to find a fix in the next one or two weeks.

A DSP engine

The big new feature of the next snapshot release will be the addition of a signal processing engine. This will allow things like sample format conversions, volume normalization and effect filters. The first release with the new engine will have only a handful of DSP components, mainly for sample format conversions, but I'm quite excited about the possibilities.

By the way, the advent of the DSP engine will help close the oldest still open feature request on the SourceForge tracker. In January 2005 a request to add a normalization feature was posted there.

I will probably have more news about this in the next update.

Next snapshot and fre:ac 1.0.27

Integrating the DSP stuff is a lot of work, so I don't think the next snapshot will be out before March. There will be a new release of the stable series in the near future, though. Quite a few fixes have piled up since 1.0.26, so a new release seems justified. I plan to wait for the upcoming FLAC 1.3.2 release, though, in order to have the latest codec versions in fre:ac 1.0.27. The FLAC developers are currently discussing to make a new release on their mailing list.

That's all for this time. Thank you for reading!

fre:ac development status update 11/2015 Print
Written by Robert   
Tuesday, 01 December 2015 18:37

Sorry folks, I almost forgot the November status update. Here it is!

November snapshot

I released a new snapshot version a week ago and while most of its new features have already been announced in the October status update, there are a few things that have not been mentioned yet:

  • Setting process priority
    The Windows version of the new snapshot allows you to lower fre:ac's process priority, so it won't slow down other programs too much when running a conversion in the background. This is especially useful on systems with 1-4 cores and no Hyper Threading where fre:ac would usually occupy most of the CPU ressources when converting a large number of files.
  • Recently used output folders
    The configuration dialog now remembers the five most recently used output folders and offers them for selection in a drop down box. If you are often switching between a small number of folders, this should make setting the right output folder much easier.

Stability fixes

Several stability issues have been fixed in November. The following fixes are included in the 20151122 snapshot:

  • There was a chance of the user interface freezing when switching between tabs or dragging the main window during a conversion.
  • A missing lock caused random crashes during conversions in parallel mode.
  • The multiple CDDB match selection dialog could crash due to an issue with loading previews.
  • The freaccmd utility shipped with the October snapshot crashed at startup.

CDDB fixes

In addition to the above, I also fixed a CDDB bug that caused submissions for new CDs to be rejected in many cases. This was caused by a missing break statement in code that checks for disc ID collisions. This bug was introduced in the BonkEnc/fre:ac 1.0 final release almost 9 years ago and was probably one of the oldest bugs still present in fre:ac. I will release fre:ac 1.0.27 with this bug fixed in December; it's already fixed in snapshot 20151122.

This closes this month's update. Thanks for reading!

fre:ac development status update 10/2015 Print
Written by Robert   
Saturday, 31 October 2015 23:53

Hi there, here's the fre:ac development status update for October 2015.

After the 20151004 snapshot release, development focused on features that should be part of fre:ac 1.1 but had not been implemented yet. Let's have a look at them in detail:

meh! - multi encoder hub

Configuring the meh! componentThe meh! - multi encoder hub component takes an input track and passes it on to multiple encoder components. That way you can for example create FLAC, AAC and MP3 files from CD tracks in a single rip saving a lot of time.

The new component already works with most features of fre:ac's audio conversion engine. I just need to get playlist and cue sheet generation working with it before the next snapshot release.

Core Audio AAC/ALAC encoder on Linux

About a year ago I wrote a connector component to allow the 64 bit Windows version of fre:ac to use the 32 bit Apple Core Audio API for AAC and ALAC encoding. However, it was obsoleted before being included in an official snapshot release by Apple starting to provide 64 bit Core Audio DLLs with iTunes 12.1. Those could be used directly with the 64 bit version of fre:ac, but I kept the connector code as I thought it could be useful for similar things in the future.

Using the Core Audio encoder on LinuxThen, a few weeks ago, I had the idea to try and use it to connect the Linux version of fre:ac to the Core Audio framework running under Wine. A quick test showed that iTunes and the Core Audio DLLs could be installed in Wine and encoding AAC and ALAC files generally worked in such a setup. I ported the connector component to Winelib and voila: fre:ac can use the Core Audio framework on Linux now!

To be able to use this feature with the upcoming fre:ac snapshot release, you need to install Wine, configure it to emulate act like Windows 7 or later and install iTunes or QuickTime. The same setup should work on FreeBSD as well, but I still need to try that.

Last used path saved separately for open/save dialogs

Previous versions of fre:ac relied on the OS for saving the most recently used path in the open and save files dialogs. This worked more or less well most of the time, but one situation was especially annoying: When creating single file images for multiple albums, you would add the first album to the joblist, then start the conversion and select the single output file, then repeat with the next album. However, everytime you added an album or selected an output file you had to navigate to the right folder in the open/save dialog.

To remedy, starting with the next snapshot release, fre:ac will save the most recently used path separately for the open and save files dialogs.

Other new features

In addtion to the above, the following features have been implemented:

  • support for multi-channel AAC and ALAC
  • support for the VCLT playlist format
  • a notification that asks users to translate fre:ac when their language is not supported yet

Everything listed above will be part of a new snapshot release in mid November.

Build system overhaul

Gentoo developer Sebastian Pipping had a look at the smooth library's and fre:ac's packageability for inclusion in Linux distributions. He found some issues with the build system which I fixed in the process. Among the fixes and improvements are:

  • support for VPATH builds
  • support for specifying a DESTDIR
  • ability to pass custom CFLAGS, CXXFLAGS and LDFLAGS

This should ease the task of creating distribution packages for future Linux package maintainers. Thanks Sebastian for your work!

While at it, I also had a look at the Visual Studio project files and fixed many outstanding issues with them. It's now possible to build smooth, the fre:ac CDK and fre:ac using the Debug and Release configurations for x86 and x64.

Top donors list

Last but not least, I added a list of the top 20 fre:ac supporters to the site. The full list is found at the donations page while the top three donors are listed on every page. Your name on the list is a great way to show your support for the this project. Thanks to everyone who donated thus far! Please see the donations page for more information.

This closes this issue. Be sure to look for the November snapshot release in about two weeks!

fre:ac development status update 09/2015 Print
Written by Robert   
Thursday, 01 October 2015 08:48

Although it's already October in most parts of the world, this is the fre:ac development status update for September 2015. First, I'm sorry there is no new snapshot release yet. In the previous update I promised it for September, but there were several bugs that had to be addressed first. If everything goes well, a new snapshot should be ready next weekend. Let's have a look at the upcoming changes:

Retina support

It has taken quite some time, but finally, support for Retina displays on newer Mac models is ready for release. This will make fre:ac look much better on such displays. Improvements are most visible with text, diagonal lines like in checkboxes and images such as toolbar icons.

Implementing Retina support took longer than expected due to issues with OS X behaving differently when drawing lines in high DPI vs. normal DPI mode.

Cue sheet handling

Several improvements have been implemented with regards to handling cue sheets. I already mentioned the ability to look for compressed files in place of a .wav referenced in a cue sheet in last months issue. The following additional improvements have been added in September:

  • When creating cue sheets in single output file mode, they are now saved along with the output file. Previous releases used the regular output folder and filename pattern to create cue sheets even in single file mode, so in some cases the cue sheet was put in a completely different place than the output file.
  • The cue sheet loader now considers tags included in referenced files. Previously, only metadata mentioned in the cue sheet itself was recognized when loading a cue sheet. The new behaviour is configurable, so you can choose what to use when information in tags differs from what is mentioned in the cue sheet.
  • Last but not least, there now is an option to ignore errors when trying to load cue sheets which is useful when adding folders with unmaintained cue sheets that got out of sync after renaming referenced files or the like. Such cue sheets will be ignored when this setting is activated and the actual audio files will be added instead.

Audio format handling

Several users reported different issues with handling audio files, especially MP3s. The following improvements will be implemented in the next snapshot release:
  • fre:ac now detects concatenated MP3s with non-adjusted VBR headers. There are some tools out there that can concatenate several MP3s into one big file without reencoding which is great as you won't lose audio quality in this process. However, not all of these tools care about adjusting the first file's length info header. The latter thens claim a playtime of e.g. 3 min even though the actual file has a much longer playtime after tracks were appended. The next snapshot release will compare the file size mentioned in the info header with the actual file size and discard the length info in case a significant difference is detected.
  • The new release will also improve parsing of the VBR info header mentioned above. Previous releases just checked the existence of such a header, read the data they needed and then stopped before the actual end of the header frame, leaving it to the MP3 decoder library to sync with the first actual MP3 frame. This could lead to problems with some decoders, especially the MAD decoder, that reported wrong sample rates or numbers of channels in the process.
  • The auto resampling mode of the LAME MP3 encoder was not working in previous releases of fre:ac. Instead it complained about non-supported sample rates and denied encoding of tracks if the sample rate did not match one of those supported by the MP3 format. This issue was fixed in fre:ac 1.0.25 and will be fixed in the upcoming snapshot as well.
  • Some FLAC files, especially if they have been cut out of single file disc image FLACs without reencoding, have their MD5 checksum zeroed. Unfortunately, the verifier introduced in the 20150725 snapshot release did not recognize such situations and reported a verification failure for those files. This will be fixed in the next snapshot.

Other issues

The new release will also fix some CD drive detection issues on Windows. Previous releases sometimes detected only one of multiple drives, especially if you had a system with more than one SATA controller or were using virtual drives. The reason for this was the SCSI path ID being ignored in the CD drive detection code of fre:ac's CDRip library, so devices using the same adapter, target and unit ID and differing only in the path ID were treated as one and the same drive.

So long, thanks for reading! Be sure to come back next weekend to grab your copy of the new fre:ac snapshot release!

<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Page 4 of 10