Skip to content

Releases: complexlogic/rsgain

v3.5.1

08 Jun 04:09
Compare
Choose a tag to compare

This is a patch release to fix a critical bug impacting Opus files with 3 or more audio channels. The bug is related to the CRC32 calculation in the Ogg header, and may cause the file to become unplayable. Users are strongly recommended to upgrade immediately, or backport the fix (76ef985). See #118 for more information.

Any files that have been impacted by this bug can be repaired by scanning them again with v3.5.1.

Release Notes:

  • Fix header gain calculation for multichannel Opus files (#118)
  • Static builds: Upgrade to FFmpeg 7

Source SHA256: 498f023d62898c8699b7d5da34e5e16b0e892ae8a4aec8af405f2917a82901a2

v3.5

25 Feb 17:47
Compare
Choose a tag to compare
  • Add -p option to preserve file modification times
  • In Custom Mode, immediately fail if any file in the list does not exist or is of unsupported type
  • Fix segfault that occurs when attempting to tag corrupted MP4 files (#94)
  • Provide static builds for macOS and Linux
  • Unix: Include optional manpage with installation
  • Windows: Support long paths
  • Static builds: Upgrade to TagLib 2

Source SHA256: 8098d8cbe5c4dccc604e0d75667a71678e6802f9c623286eba772a42a8e2a062

v3.4

12 Sep 02:04
Compare
Choose a tag to compare
  • Added support for Tom's lossless Audio Kompressor (TAK) format
  • Added -O option 'a' which sorts the output by filename alphanumerically
  • Added Custom Mode -o option 's' which forces Opus files to normalize to -23 LUFS regardless of the target loudness setting
  • Support files with .mp4 file extension
    • Introduce Easy Mode preset option "SkipMP4" which allows users to opt out of the new behavior
  • When scanning completely silent tracks, the program now writes "0.00 dB" and "0.000000" as gain and peak tags, respectively. Previously, the program would completely skip over these files without writing any tags to them
    • Silent tracks are not included in album gain calculations to keep results consistent with previous versions
  • -I 'keep' mode now default in both Custom Mode and Easy Mode
  • Fix TagMode 'n' option (regression introduced in v3.2) (#71)

Source SHA256: 392ad1407eea7737c6f63b6a0681a3df51f33033d2d16b644f407e6ef3f28013

v3.3

23 Apr 14:44
Compare
Choose a tag to compare
  • New -I mode 'keep' detects the file's existing ID3v2 version, and preserves it
    • Less disruptive to files, less prone to data loss as TagLib sometimes discards frames when converting between ID3v2 versions.
    • Will be made the default mode in a future release
  • Handle file extensions case insensitively when determining file type
  • When removing ReplayGain tags from ID3 formats, also remove legacy RVAD and RVA2 ("Relative Volume Adjustment") frames which conflict with ReplayGain
  • Fix segfault caused by unusual file durations (#58)
  • Added -O 's' mode to write sep header to CSV output for Microsoft Excel compatibility.
    • Mode argument for -O is optional to maintain backwards compatibility
  • Windows: Search for Easy Mode presets in a default user directory similar to the macOS and Linux versions
  • Windows: Upgrade to FFmpeg 6

Source SHA256: e1eb7993b8aafad1d57df90ed92ec4c902884933976e914048a87708d98fb37c

v3.2.1

26 Feb 19:50
Compare
Choose a tag to compare
  • Fix minor bug with Easy Mode statistics output
  • Port to new FFmpeg channel layout API
  • Remove deprecated TagLib functions

Source SHA256: 7f020ecfc448b8385b236e092d736f36811a5eabb9b54c6f165d3f16c21c1aa2

v3.2

11 Feb 00:10
Compare
Choose a tag to compare
  • Support scanning directories with multiple file types in Easy Mode
  • Redesigned the multithreading mode to increase reliability and efficiency
  • Progress update in multithreading mode now detects the width of the console and limits it so the output doesn't wrap to a new line on long directory names
  • Fix long options (#41, #46)
  • Fix a segfault that occurs when scanning some corrupt MP3 files (#50)
  • Windows: Upgrade to FFmpeg 5

Source SHA256: 179d0a132bcc8d64e354ef41495409d517b2b22fecbea64672e2fcdfe6dfe3d4

v3.1.1

15 Nov 14:50
Compare
Choose a tag to compare
  • Fix ID3v2 version parsing bug (#37)

Source SHA256: 0c9efdf7433943f2e3674a6859eb72c80fede333b5e86151eaa0492e83923d5a

v3.1

04 Nov 15:29
Compare
Choose a tag to compare

Special thanks to @diizzyy and @BSDKaffee for their help in testing this release

  • Added support for Musepack format
  • Added support for HE-AAC, xHE-AAC formats
  • Added option '-S' to skip files with existing ReplayGain data
  • Easy mode: Added tag mode 'n' which will always skip files regardless of whether or not they have existing ReplayGain tags
  • Always fail if a requested command line option or scan preset is invalid
  • Build binary packages via GitHub Actions CI
  • Added support for BSD operating systems

Source SHA256: c1ab2c2162c1046786254090f939d60da87994efad5715dde68aa5247f33eaa3

v3.0.1

14 Oct 06:12
Compare
Choose a tag to compare
  • Fixed inconsistencies in tab output formatting

v3.0

15 Sep 05:47
Compare
Choose a tag to compare
  • 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