Skip to content

v3.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Aug 09:29
· 8 commits to master since this release

Windows: the GUI now starts on machines without an OpenGL driver

mp3rgui only ever rendered through OpenGL. On a machine that cannot provide an OpenGL 2.0+ context — a virtual machine without 3D acceleration, a remote desktop session, or just a stale graphics driver — it failed the same way every time: a window frame flashed up and then vanished, with nothing to explain why.

On Windows the GUI now renders through wgpu instead, which reaches the screen via Direct3D 12 or Vulkan and can fall back to the WARP software adapter. That is strictly more than the OpenGL path covered, so the GUI should now start where it previously could not. macOS and Linux keep the OpenGL backend.

If you hit a problem specific to the new backend, MP3RGUI_RENDERER=glow forces the old one. The choice is made at startup rather than retried, because a window toolkit's event loop can only be created once per process.

Windows: a real installer

Windows previously shipped only a zip, which left no Start Menu entry, no desktop icon and no uninstaller — nothing obvious to click for anyone who does not use a terminal.

Download mp3rgui for Windows

One installer covers both x86_64 and ARM64 and picks the right binary for your machine. It installs per-user, so there is no administrator prompt to get past, and it registers a Start Menu entry and an uninstaller.

Two links always point at the current release, so they are safe to bookmark or share:

The portable zips are still published, and winget install M-Igashi.mp3rgui still works.

--true-peak for ReplayGain 2.0 / EBU R128

--true-peak makes REPLAYGAIN_TRACK_PEAK and REPLAYGAIN_ALBUM_PEAK carry the true peak instead of the sample peak in --rg2 and --r128 modes, using a polyphase FIR meter (49-tap Hann-windowed sinc, 4x oversampling at common rates and 2x at 88.2 kHz and above — the libebur128 design). Values above 1.0 are expected for lossy sources.

It is opt-in: the default stays sample peak, matching the long-standing ecosystem default, and loudgain and rsgain opt in the same way via -t. The clip check and -k compare against 1.0 using whichever peak kind is active. RG1 mode is unaffected, and the flag without --rg2 or --r128 is an error.

Fixed: ReplayGain tags drifted on repeated runs

One global_gain step changes amplitude by 2^(1/4) = 1.50515 dB, not the 1.5 dB the code assumed. The approximation made post-apply residual ReplayGain tags drift by roughly 0.005 dB per applied step — 0.036 dB over a 7-step album apply — so re-running mp3rgain over an already-processed library produced pointless tag churn. db_to_steps rounding now matches mp3gain's own conversion as well.

Fixes #291.

Other changes

  • Dependencies: symphonia 0.6.0 → 0.6.1, thiserror bump.
  • The PPA moved from Ubuntu 25.10 (questing, now end of life) to 26.04 LTS (resolute).
  • CI: the Windows installer script is compiled on every GUI change, so a packaging error surfaces on an ordinary push rather than mid-release.
  • Internal cleanup across the shared CLI/GUI helpers.
  • Packaging manifests (winget, MacPorts, AUR) brought up to date for v3.2.0.