fre:ac development status update 03/2019 |
|
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! |
fre:ac development status update 12/2018 |
|
Written by Robert
|
Saturday, 05 January 2019 23:18 |
Hi and welcome to the latest fre:ac development status update! I did not write a report for November as I was busy preparing the latest alpha release around the end of the month, so this report covers both, November and December of 2018.
BeGeistert 2018
On the 3rd and 4th of November I attended the BeGeistert 2018 Haiku developers conference which was held in my hometown of Hamburg, Germany. I met great people from the Haiku project, got to work on the fre:ac port for Haiku and ported Monkey's Audio over.
It was a great event and a nice experience and I'm already looking forward to attending future BeGeistert meetings in the years to come.
Flatpak (and work on Snap)
The big news for December certainly is fre:ac finally being available as a Flatpak. This makes it easier than ever for Linux users to discover and try out fre:ac.
The fre:ac Flatpak is available from Flathub, the largest application repository for Flatpak distribution.
Now that the Flatpak is ready, I'm shifting my attention towards building a Snap package as well. There already is some progress, but I did not get to work on the project a lot during the holiday season. Thus I now expect the Snap to be ready around mid January.
Enhancements
The December release of fre:ac added a notification component that can play a customizable sound or display a message box upon finished conversions. This was requested by several users doing very large conversions that might take anywhere from several minutes to hours. They often leave fre:ac running unattended, so an audible notification upon job completion can be useful.
Additionally, the December release now supports accent colors on macOS Mojave and improves scaling on HiDPI displays, especially with radio buttons and with edit fields where text was sometimes cut off in scaled mode.
Minor enhancements added in November and December include an option to switch stereo channels that was added to the channel converter DSP component and support for drag & drop in the tag editor. The latter did not make it into the December release though and will debut in the next alpha or beta.
Various fixes
In addition to the above changes, many bugs have been fixed in the past two months:
- Fixed MP4 files not being created when <directory> placeholder is used in output filename pattern
- Fixed tag editor being unable to open some file types on case-sensitive file systems
- Fixed freaccmd issues when input and output files are the same
- Fixed crash when converting mono to stereo
- Fixed encoding mono MP3s
That's all for this issue. The report for January should be out in early February, so make sure to check the site for updates. |
fre:ac development status update 10/2018 |
|
Written by Robert
|
Saturday, 03 November 2018 09:35 |
Hi all, this is the fre:ac development status update for October 2018. I have a lot of interesting things to share.
Haiku packages and fixes
First and foremost, I created fre:ac packages for the Haiku operating system. The Haiku project just released their first beta in the end of September and fre:ac is now available via their HaikuDepot package manager. Just search for it and you are one click away from installing fre:ac.
I also fixed the Fraunhofer AAC encoder and updated the LAME MP3 encoder package for Haiku while at it. I plan to also port Monkey's Audio to this interesting OS.
But while it's great that fre:ac now runs on Haiku, the 20180913 release is still far from perfect. I implemented a lot of fixes in October to make the next alpha run much better:
- Fixed window titles becoming inactive when a menu, dropdown or tooltip is shown
- Fixed scrollbars not working when moving the cursor outside the window
- Improved image downscaling using a weighted average box filter
- Added support for font scaling (limited HiDPI mode)
- Fixed application signature to avoid warning on startup
- Fixed resource compilation to simplify package script
A new alpha with these fixes and more will probably be out in mid-November.
Notarization of macOS version
Apple recently introduced notarization for apps distributed outside the app store. It's basically an automated malware and best-practices check for applications that when passing will display a "this app was checked by Apple" message on macOS Mojave.
It took me a weekend to adapt the fre:ac package for this new security feature, but now it's functioning very well. Starting with the next release, fre:ac for macOS will be notarized by Apple.
Other fixes
Some other fixes have been implemented in October:
- Linux HiDPI fixes
The Linux version of fre:ac will now evaluate the GDK_SCALE environment variable in order to automatically scale the font and UI element size on HiDPI displays.
- freaccmd fixes for non-Windows systems
The fre:ac command line interface had some issues with spaces in file names. Namely, the current version does not work with the standard Unix shell space escaping (which is putting a backslash in front of each space character). This will be fixed in the next release.
- Fixed issue with enabling "Write to input folder" and "Delete original files after encoding" options
When enabling the "Write to input folder" and "Delete original files after encoding" options at the same time and the output filename equals the input filename, the current version of fre:ac can delete both, the existing input and the new output file after conversion, leaving you with none of the two. The next release will fix this and will be brought forward one or two weeks for this.
Work place changes
Finally, after more than 15 years at the previous company, I changed my job on 1st of October. I'm now working for PreSonus Software Ltd. in Hamburg, Germany on tasks much closer to what I'm already doing in my free time with fre:ac.
I will mainly work on the Notion music notation software, but also look into improving Studio One's audio file export and conversion capabilities and much more.
I'm happy to be part of the PreSonus team and really looking forward to great things coming in the future.
That's all for this month. Be sure to come back next month for another update. |
fre:ac development status update 09/2018 |
|
Written by Robert
|
Sunday, 07 October 2018 17:47 |
Hi all, this is the fre:ac development status update for September 2018.
New alpha release
I published a new alpha last month, integrating the SuperFast encoding mode and freaccmd's dynamic arguments support that I wrote about in last month's issue. With these features added, the new alpha is now almost feature complete with respect to what is planned for fre:ac 1.1 beta.
Improved tags interoperability
Several changes have been implemented to improve compatibility with tags written by other applications (most notably foobar2000). These changes enable fre:ac to extract more information from files containing such tags than previously possible. The individual improvements are:
- Support reading and writing ID3v2 tags from/to .wav files
- Support reading cue sheets from ID3v2 tags
- Use album artist for artist field if only the former is set
One example where these will be useful is when ripping a CD to a single .wav file with foobar2000. Upcoming fre:ac releases will be able to list the individual tracks contained in the .wav file even if no separate .cue file is available.
Improved error handling
Despite fre:ac 1.1 alpha releases having supported parallel conversions for some time, error handling is still designed for single threaded operation. When a conversion fails, the affected thread shows an error message and the whole conversion process stops at that point.
This will be much improved in the next release. An error in one conversion will not stop the whole process any longer. Instead, error messages will be collected and displayed all in one dialog at the end of the conversion process.
In other words, when the 100th file in a 1000 files conversion job causes an error, fre:ac will continue to process the other 900 files instead of stopping the whole job. No more worrying that large unattended conversion jobs stop early without you noticing.
HiDPI improvements
Last but not least, I've also implemented some improvements for the placement of tool windows and dialogs in HiDPI mode. Dropdown lists, popup menus, tooltips and dialogs should now be displayed where you would expect them when running in scaled mode.
This concludes this month's issue. Be sure to come back in a month for the next report. |
fre:ac development status update 08/2018 |
|
Written by Robert
|
Monday, 10 September 2018 21:59 |
So I'm really late for the monthly status update this time. Will try to post earlier next month.
There are only two things to be reported this time, but those surely are great news:
SuperFast codecs merged into mainline
The SuperFast versions of the LAME, AAC (FAAC, FDK-AAC and Core Audio), Opus and Speex codecs have finally been merged into mainline fre:ac. You still have to enable SuperFast mode manually on the Resources configuration page to make full use of them, but that option is set to become enabled by default before the fre:ac 1.1 final release.
SuperFast mode is marked experimental for now and has to be enabled manually
Read here and here for more details on fre:ac's SuperFast encoding technology.
Dynamic arguments feature merged
I wrote about the dynamic arguments feature for freaccmd in last month's issue. Now that code has been merged, making it the second big feature completed this month.
While not visible for users of the graphical UI, this will make things much easier for those who would like to script and/or automate conversions with the command line interface.
There will be a new alpha release with these changes in the next few days. Keep watching for it and stay tuned for the next update in about a month. |
fre:ac development status update 07/2018 |
|
Written by Robert
|
Sunday, 05 August 2018 19:39 |
Hi all, here is the July 2018 update on fre:ac development.
New alphas and SuperFast preview
There were two new alpha releases last month providing all the new features talked about in previous development status reports and fixing several issues. Unlike previous alphas, the current version is now recommended for everyone to try out. If you find any issues, please report them to support@freac.org.
There also is a new preview of the SuperFast conversion technology, this time including SuperFast LAME. If you missed the article on how SuperFast LAME is made possible, check it out here: SuperFast LAME technical details
The SuperFast technology will be included in the next regular alpha release and will then be available for everyone to use.
Dynamic encoder arguments for freaccmd
An important item on the feature list for fre:ac 1.1 beta is support for command line configuration arguments for all codecs added during fre:ac 1.1 development. Currently, freaccmd supports arguments for a very limited set of codecs only. The code to change that lives in the dynamic-arguments branches of fre:ac and BoCA and I made good progress towards merging it with the master branches in the past month.
With the new code, codecs can specify which command line arguments they support and freaccmd will make them available without the need for any codec specific code in the command line frontend itself.
Other changes
- Improved handling of album artist in tag editor
Handling of album artists in the tag editor has been improved to fix issues when the field is changed in album editing mode. Prior to this change this could result in the album artist information getting lost for some or all of the relevant tracks.
- Improved adjustment of dialogs to text sizes
Several dialogs have been reworked to adjust dynamically to the size of translated texts. The width of labels displayed in a dialog can vary greatly in different languages, so dynamic adjustment is necessary. This is not completed yet, so work on this will continue in the next few months.
That's all for this issue. Make sure to come back next month for the August status update. |
|