- Massive internal rewrite:
- Source code is now purely C++ instead of mixed C/C++
- Text formating and output now utilize the fmt library, which is safer and typically faster than C stdio implementations
- Easy Mode multithreaded now generates scan jobs per-directory instead of per-file, which provides an approximately 15-20% performance boost due to reduced thread idling time
- Added progress updates for Easy Mode multithreaded
- Added -m MAX option to use the maximum concurrent threads value provided by the OS
- Fixed a critical bug inherited from loudgain where the program segfaults when trying to delete tags from M4A or WMA files
- Added -t option which allows users to choose between sample peak and true peak for peak calculations. Sample peak now default in both Easy Mode and Custom Mode
- Added -O option in Easy Mode which outputs a .csv spreadsheet scan log in every scanned directory
- Added more statistics to Easy Mode output
- Write uppercase tags by default for all tag types in Easy Mode
- Optimized scan progress bar, resulting in significant speed boost for Windows single threaded scanning
- "Overrides" feature renamed "Preset"
- Specified with -p instead of -o
- Support preset name as argument, which will automatically find the preset in the predetermined location(s) per platform
- Support "Global" section in preset, which allows the user to specify settings for all formats to reduce duplication
- Changed the name of setting keys in accordance with command line flags
- Ship EBU R 128 preset and "loudgain" preset based on rgbpm settings
- Removed tag modes that enabled non-standard behavior:
- -s e mode which wrote non-standard REPLAYGAIN_REFERENCE_LOUDNESS and REPLAYGAIN_*_RANGE tags
- -s l mode which wrote non-standard LU units to *_GAIN tags instead of dB
- Changed how target loudness is specified:
- Removed -d option which specified a "pre-gain" from -18 LUFS
- Replaced with -l option which allows the user to specify the target loudness directly in LUFS
- Write ID3v2.3 tags by default in Custom Mode
- Changed clipping protection:
- Now specified with -c and 3 choice character option instead of a boolean
- Old -k functionality is now -c a
- New -c p functionality only provides clipping protection for positive gain values, which is now the default in Easy Mode
- Removed strip tags option (-S)
- Changed max peak level command line char from -K to -m
- Changed behavior for Opus files:
- Introduced -o option with required char argument
- Support writing to header output gain
- default 'd' mode: Write standard ReplayGain tags, set output gain to 0
- 'r' mode: Write RFC 7845 R128_*_GAIN tags, set output gain to 0
- 't' and 'a' modes write the track gain and album gain to the header output gain, respectively
- Keep default loudness at -18 LUFS (can be changed with -l option)
- Windows: Added resource file containing VERSIONINFO
- Windows: Support static linking of dependencies
- Linux: Enforce a minimum taglib version 1.12. Provide a static taglib build for the .deb package