From f921fd12959b66acc0bdcf9e971e29164193443e Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Fri, 26 Apr 2024 19:52:59 +0200 Subject: [PATCH] made the peak mater logarithmic --- app/src/main/java/xdsopl/robot36/MainActivity.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/xdsopl/robot36/MainActivity.java b/app/src/main/java/xdsopl/robot36/MainActivity.java index 96c8e11..eca9a4e 100644 --- a/app/src/main/java/xdsopl/robot36/MainActivity.java +++ b/app/src/main/java/xdsopl/robot36/MainActivity.java @@ -87,9 +87,11 @@ public class MainActivity extends AppCompatActivity { for (float v : recordBuffer) max = Math.max(max, Math.abs(v)); int pixels = peakMeterBuffer.height; - int peak = Math.min(Math.max(Math.round(max * pixels), 0), pixels); - Arrays.fill(peakMeterBuffer.pixels, 0, pixels - peak, thin); - Arrays.fill(peakMeterBuffer.pixels, pixels - peak, pixels, tint); + int peak = pixels; + if (max > 0) + peak = (int) Math.round(Math.min(Math.max(-Math.PI*Math.log(max), 0), pixels)); + Arrays.fill(peakMeterBuffer.pixels, 0, peak, thin); + Arrays.fill(peakMeterBuffer.pixels, peak, pixels, tint); peakMeterBitmap.setPixels(peakMeterBuffer.pixels, 0, peakMeterBuffer.width, 0, 0, peakMeterBuffer.width, peakMeterBuffer.height); peakMeterView.invalidate(); }