New core/replaygain.py module uses FFmpeg's ebur128 filter (already a project dependency) to analyze integrated loudness and true peak, then writes ReplayGain 2.0 tags (-18 LUFS reference) to MP3 (TXXX frames), FLAC/OGG/Opus (Vorbis comments), and M4A/MP4 (freeform atoms). Three analysis modes in the enhanced library view: - Per-track RG button: synchronous single-track analysis (~1-3 s) - Album "ReplayGain" button: background job writing both track gain and album gain (mean LUFS across all album tracks) to every file - Bulk bar "ReplayGain" button: batch track-gain for selected tracks read_file_tags() in tag_writer.py extended with four new optional keys (replaygain_track_gain/_peak, replaygain_album_gain/_peak) so existing RG values surface in the tag-preview diff view. Purely additive — no existing endpoints or DB schema changed. |
||
|---|---|---|
| .. | ||
| static | ||
| index.html | ||