Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: complexlogic/rsgain
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.5.3
Choose a base ref
...
head repository: complexlogic/rsgain
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 8 commits
  • 17 files changed
  • 2 contributors

Commits on Nov 28, 2024

  1. Add dual mono feature for mono files

    Fixes #125
    complexlogic committed Nov 28, 2024
    Copy the full SHA
    89ac111 View commit details

Commits on Dec 7, 2024

  1. Update CI

    complexlogic committed Dec 7, 2024
    Copy the full SHA
    51d43de View commit details
  2. rsgain.cpp: use C++ cmath (#140)

    barracuda156 authored Dec 7, 2024
    Copy the full SHA
    20eb85e View commit details

Commits on Jan 26, 2025

  1. Add 'Average Loudness' statistic to Easy Mode output

    complexlogic committed Jan 26, 2025
    Copy the full SHA
    c62a63c View commit details

Commits on Feb 8, 2025

  1. Copy the full SHA
    909d3fa View commit details
  2. Fix error reporting for tag writing errors

    complexlogic committed Feb 8, 2025
    Copy the full SHA
    9f38860 View commit details
  3. Update CI

    complexlogic committed Feb 8, 2025
    Copy the full SHA
    e901e66 View commit details
  4. Bump version to 3.6

    complexlogic committed Feb 8, 2025
    Copy the full SHA
    7833727 View commit details
Showing with 180 additions and 73 deletions.
  1. +5 −5 .github/workflows/build.yml
  2. +6 −0 CHANGELOG
  3. +1 −1 CMakeLists.txt
  4. +1 −1 Dockerfile
  5. +6 −6 README.md
  6. +1 −1 config/PKGBUILD
  7. +14 −0 config/presets/default.ini
  8. +14 −0 config/presets/ebur128.ini
  9. +14 −0 config/presets/loudgain.ini
  10. +14 −0 config/presets/no_album.ini
  11. +40 −14 src/easymode.cpp
  12. +12 −4 src/rsgain.cpp
  13. +1 −0 src/rsgain.hpp
  14. +22 −7 src/scan.cpp
  15. +8 −1 src/scan.hpp
  16. +20 −32 src/tag.cpp
  17. +1 −1 src/tag.hpp
10 changes: 5 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ defaults:
run:
shell: bash
env:
VCPKG_COMMITTISH: 10b7a178346f3f0abef60cecd5130e295afd8da4
VCPKG_COMMITTISH: 6f29f12e82a8293156836ad81cc9bf5af41fe836

jobs:
build_windows:
@@ -78,7 +78,7 @@ jobs:
build/${{env.CMAKE_BUILD_TYPE}}/rsgain.exe -v
- name: Upload Package
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Windows build
path: build/*.zip
@@ -166,7 +166,7 @@ jobs:
build/rsgain -v
- name: Upload Package
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{matrix.config.name}} build
path: build/*${{matrix.config.package_ext}}
@@ -180,7 +180,7 @@ jobs:

build_macos:
name: macOS
runs-on: macos-12
runs-on: macos-13
permissions:
packages: write
strategy:
@@ -244,7 +244,7 @@ jobs:
run: build/rsgain -v

- name: Upload Package
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macOS ${{matrix.config.name}} build
path: build/*.zip
6 changes: 6 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
v3.6 (2025-02-08)
- Add "dual mono" -d option to treat mono files as stereo
- Add "Average Loudness" statistic to Easy Mode end-of-scan statistic report
- Report warning instead of error if a file does not have an audio stream
- Fix error reporting for tag writing errors. Previously, when an error occured while writing tags to a file, the program would fail to set a non-zero exit code in Custom Mode, or include it in the end-of-scan error report in Easy Mode

v3.5.3 (2024-11-16)
- Fix preserve file modification time feature for Opus files

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ if (VCPKG)
endif ()

project(rsgain
VERSION 3.5.3
VERSION 3.6
DESCRIPTION "ReplayGain 2.0 loudness normalizer"
HOMEPAGE_URL "https://github.com/complexlogic/rsgain"
LANGUAGES CXX
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM debian:bookworm

ARG VERSION=3.5.3 \
ARG VERSION=3.6 \
ARCH=amd64

RUN apt-get update && \
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ Binary packages are available on the [Release Page](https://github.com/complexlo
### Windows

Download the ZIP file from the link below and extract its contents to a folder of your choice:
- [rsgain v3.5.3 portable ZIP (x64)](https://github.com/complexlogic/rsgain/releases/download/v3.5.3/rsgain-3.5.3-win64.zip)
- [rsgain v3.6 portable ZIP (x64)](https://github.com/complexlogic/rsgain/releases/download/v3.6/rsgain-3.6-win64.zip)

rsgain should be run on Windows 10 or later for full compatibility, but it can run on Windows versions as early as Vista with some caveats. See [Windows Notes](#windows-notes) for more information.

@@ -56,8 +56,8 @@ scoop install extras/rsgain
### macOS

Separate builds are available for Apple Silicon and Intel based Macs. Both require macOS 12 (Monterey) or later. Download and extract the correct version according to your hardware:
- [rsgain v3.5.3 portable ZIP (Apple Silicon)](https://github.com/complexlogic/rsgain/releases/download/v3.5.3/rsgain-3.5.3-macOS-arm64.zip)
- [rsgain v3.5.3 portable ZIP (Intel)](https://github.com/complexlogic/rsgain/releases/download/v3.5.3/rsgain-3.5.3-macOS-x86_64.zip)
- [rsgain v3.6 portable ZIP (Apple Silicon)](https://github.com/complexlogic/rsgain/releases/download/v3.6/rsgain-3.6-macOS-arm64.zip)
- [rsgain v3.6 portable ZIP (Intel)](https://github.com/complexlogic/rsgain/releases/download/v3.6/rsgain-3.6-macOS-x86_64.zip)

These builds are not codesigned, and the macOS Gatekeeper will most likely block execution. To work around this, you can remove the quarantine bit using the command below:

@@ -84,8 +84,8 @@ sudo apt install rsgain
There is also a .deb package for Debian Bookworm available on the [release page](https://github.com/complexlogic/rsgain/releases/latest). Use the following commands to install:

```bash
wget https://github.com/complexlogic/rsgain/releases/download/v3.5.3/rsgain_3.5.3-1_amd64.deb
sudo apt install ./rsgain_3.5.3-1_amd64.deb
wget https://github.com/complexlogic/rsgain/releases/download/v3.6/rsgain_3.6-1_amd64.deb
sudo apt install ./rsgain_3.6-1_amd64.deb
```
The above package won't work on recent Ubuntu releases due to an FFmpeg ABI break.

@@ -125,7 +125,7 @@ sudo dnf install rsgain
#### Static Build

An x86_64 static build is available that should run on recent releases of most GNU-based Linux distros (any distro shipping GCC 10 or later). Download the archive below and extract it to a directory of your choice:
- [rsgain v3.5.3 portable TAR (x86_64)](https://github.com/complexlogic/rsgain/releases/download/v3.5.3/rsgain-3.5.3-Linux.tar.xz)
- [rsgain v3.6 portable TAR (x86_64)](https://github.com/complexlogic/rsgain/releases/download/v3.6/rsgain-3.6-Linux.tar.xz)

### FreeBSD

2 changes: 1 addition & 1 deletion config/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
pkgname=rsgain
pkgver=3.5.3
pkgver=3.6
pkgrel=1
epoch=
pkgdesc="ReplayGain 2.0 loudness normalizer"
14 changes: 14 additions & 0 deletions config/presets/default.ini
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ Lowercase=false
ID3v2Version=keep
OpusMode=d
PreserveMtimes=false
DualMono=false

[MP3]
#TagMode=i
@@ -20,6 +21,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[FLAC]
#TagMode=i
@@ -29,6 +31,7 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false

[Ogg]
#TagMode=i
@@ -38,6 +41,7 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false

[Opus]
#TagMode=i
@@ -48,6 +52,7 @@ PreserveMtimes=false
#TruePeak=false
#OpusMode=d
#PreserveMtimes=false
#DualMono=false

[M4A]
#TagMode=i
@@ -59,6 +64,7 @@ PreserveMtimes=false
#Lowercase=false
#SkipMP4=false
#PreserveMtimes=false
#DualMono=false

[WMA]
#TagMode=i
@@ -69,6 +75,7 @@ PreserveMtimes=false
#TruePeak=false
#Lowercase=false
#PreserveMtimes=false
#DualMono=false

[MP2]
#TagMode=i
@@ -80,6 +87,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[WAV]
#TagMode=i
@@ -91,6 +99,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[AIFF]
#TagMode=i
@@ -102,6 +111,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[Wavpack]
#TagMode=i
@@ -111,6 +121,7 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false

[APE]
#TagMode=i
@@ -120,6 +131,7 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false

[TAK]
#TagMode=i
@@ -129,6 +141,7 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false

[Musepack]
#TagMode=i
@@ -138,3 +151,4 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false
14 changes: 14 additions & 0 deletions config/presets/ebur128.ini
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ Lowercase=false
ID3v2Version=keep
OpusMode=d
PreserveMtimes=false
DualMono=false

[MP3]
#TagMode=i
@@ -20,6 +21,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[FLAC]
#TagMode=i
@@ -29,6 +31,7 @@ PreserveMtimes=false
#MaxPeakLevel=-1.0
#TruePeak=true
#PreserveMtimes=false
#DualMono=false

[Ogg]
#TagMode=i
@@ -38,6 +41,7 @@ PreserveMtimes=false
#MaxPeakLevel=-1.0
#TruePeak=true
#PreserveMtimes=false
#DualMono=false

[Opus]
#TagMode=i
@@ -48,6 +52,7 @@ PreserveMtimes=false
#TruePeak=true
#OpusMode=d
#PreserveMtimes=false
#DualMono=false

[M4A]
#TagMode=i
@@ -59,6 +64,7 @@ PreserveMtimes=false
#Lowercase=false
#SkipMP4=false
#PreserveMtimes=false
#DualMono=false

[WMA]
#TagMode=i
@@ -69,6 +75,7 @@ PreserveMtimes=false
#TruePeak=true
#Lowercase=false
#PreserveMtimes=false
#DualMono=false

[MP2]
#TagMode=i
@@ -80,6 +87,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[WAV]
#TagMode=i
@@ -91,6 +99,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[AIFF]
#TagMode=i
@@ -102,6 +111,7 @@ PreserveMtimes=false
#Lowercase=false
#ID3v2Version=keep
#PreserveMtimes=false
#DualMono=false

[Wavpack]
#TagMode=i
@@ -111,6 +121,7 @@ PreserveMtimes=false
#MaxPeakLevel=-1.0
#TruePeak=true
#PreserveMtimes=false
#DualMono=false

[APE]
#TagMode=i
@@ -120,6 +131,7 @@ PreserveMtimes=false
#MaxPeakLevel=-1.0
#TruePeak=true
#PreserveMtimes=false
#DualMono=false

[TAK]
#TagMode=i
@@ -129,6 +141,7 @@ PreserveMtimes=false
#MaxPeakLevel=-1.0
#TruePeak=true
#PreserveMtimes=false
#DualMono=false

[Musepack]
#TagMode=i
@@ -138,3 +151,4 @@ PreserveMtimes=false
#MaxPeakLevel=0.0
#TruePeak=false
#PreserveMtimes=false
#DualMono=false
Loading