From 0771a75b5a64ccf6b90c83b346d1dc8d5122e3cb Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 13 Jun 2023 08:57:03 -0600 Subject: [PATCH] playback: ignore zeroed replaygain tags Ignore ReplayGain adjustments that are just 0 dB. --- CHANGELOG.md | 1 + .../main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f121f950..fa466a8bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Disc number is no longer mis-aligned when no subtitle is present - Fixed selection not updating when playlists are changed - Fixed duplicate albums appearing in certain cases +- Fixed ReplayGain adjustment not applying at the start of a song in certain cases ## 3.1.1 diff --git a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt index 691f8997a..69569fb19 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt @@ -30,6 +30,7 @@ import org.oxycblt.auxio.music.fs.toAudioUri import org.oxycblt.auxio.music.info.Date import org.oxycblt.auxio.util.logD import org.oxycblt.auxio.util.logW +import org.oxycblt.auxio.util.nonZeroOrNull /** * An processing abstraction over the [MetadataRetriever] and [TextTags] workflow that operates on @@ -300,7 +301,7 @@ private class TagWorkerImpl( * @return A parsed adjustment float, or null if the adjustment had invalid formatting. */ private fun List.parseReplayGainAdjustment() = - first().replace(REPLAYGAIN_ADJUSTMENT_FILTER_REGEX, "").toFloatOrNull() + first().replace(REPLAYGAIN_ADJUSTMENT_FILTER_REGEX, "").toFloatOrNull()?.nonZeroOrNull() private companion object { val COMPILATION_ALBUM_ARTISTS = listOf("Various Artists")