From 16dd5fc601cd82e787b44126c587540b606a98eb Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Thu, 21 Feb 2019 20:10:42 +0100 Subject: [PATCH] only apply gain correction if we have any R128 tags. --- .../blinkenlights/android/vanilla/BastpUtil.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/BastpUtil.java b/app/src/main/java/ch/blinkenlights/android/vanilla/BastpUtil.java index 18ddb70f..3f08baf0 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/BastpUtil.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/BastpUtil.java @@ -81,19 +81,26 @@ public class BastpUtil { } // R128 replay gain - float base = 5.0f; + boolean r128 = false; if(tags.containsKey("R128_BASTP_BASE_GAIN")) { - base += getFloatFromString((String)((ArrayList)tags.get("R128_BASTP_BASE_GAIN")).get(0)) / 256.0f; + float base = getFloatFromString((String)((ArrayList)tags.get("R128_BASTP_BASE_GAIN")).get(0)) / 256.0f; gv.track = base; gv.album = base; + r128 = true; } if(tags.containsKey("R128_TRACK_GAIN")) { - gv.track = base + getFloatFromString((String)((ArrayList)tags.get("R128_TRACK_GAIN")).get(0)) / 256.0f; + gv.track += getFloatFromString((String)((ArrayList)tags.get("R128_TRACK_GAIN")).get(0)) / 256.0f; + r128 = true; } if(tags.containsKey("R128_ALBUM_GAIN")) { - gv.album = base + getFloatFromString((String)((ArrayList)tags.get("R128_ALBUM_GAIN")).get(0)) / 256.0f; + gv.album += getFloatFromString((String)((ArrayList)tags.get("R128_ALBUM_GAIN")).get(0)) / 256.0f; + r128 = true; } + if (r128) { + gv.track += 5.0f; + gv.album += 5.0f; + } return gv; }