diff options
author | Roman Birg <roman@cyngn.com> | 2015-06-24 22:12:05 -0700 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2015-06-24 22:12:05 -0700 |
commit | 3a5b85a40d34472e0b73e2b63710235e436ecbe8 (patch) | |
tree | 5fc212d9bf5367e108e8f7d8e38ff22a33a62bde | |
parent | 291c0204b784039be83ce8ddebefb6a87849224d (diff) | |
download | android_external_android-visualizer-3a5b85a40d34472e0b73e2b63710235e436ecbe8.tar.gz android_external_android-visualizer-3a5b85a40d34472e0b73e2b63710235e436ecbe8.tar.bz2 android_external_android-visualizer-3a5b85a40d34472e0b73e2b63710235e436ecbe8.zip |
visualizer: don't draw fade out paint when there's no content
Smoothes out transitions from song to song
Change-Id: I3d8485d34d33de1b6f2f76ca3930e18830025dac
Signed-off-by: Roman Birg <roman@cyngn.com>
-rw-r--r-- | src/com/pheelicks/visualizer/VisualizerView.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/com/pheelicks/visualizer/VisualizerView.java b/src/com/pheelicks/visualizer/VisualizerView.java index dcbdcd0..5285336 100644 --- a/src/com/pheelicks/visualizer/VisualizerView.java +++ b/src/com/pheelicks/visualizer/VisualizerView.java @@ -54,6 +54,8 @@ public class VisualizerView extends View { private AudioData mAudioData; private FFTData mFftData; + private long mLastUpdate; + public VisualizerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs); init(); @@ -134,12 +136,20 @@ public class VisualizerView extends View { }; mVisualizer.setDataCaptureListener(captureListener, - (int) (Visualizer.getMaxCaptureRate() * 0.75), true, true); + (int) (Visualizer.getMaxCaptureRate() * 0.75), captureWaveForm(), captureFft()); } mVisualizer.setEnabled(true); } + protected boolean captureWaveForm() { + return false; + } + + protected boolean captureFft() { + return true; + } + public void unlink() { if (mVisualizer != null) { mVisualizer.setEnabled(false); @@ -180,6 +190,7 @@ public class VisualizerView extends View { public void updateVisualizer(byte[] bytes) { mBytes = bytes; mAudioData.bytes = bytes; + mLastUpdate = System.currentTimeMillis(); invalidate(); } @@ -193,6 +204,7 @@ public class VisualizerView extends View { public void updateVisualizerFFT(byte[] bytes) { mFFTBytes = bytes; mFftData.bytes = bytes; + mLastUpdate = System.currentTimeMillis(); invalidate(); } @@ -243,8 +255,10 @@ public class VisualizerView extends View { } } - // Fade out old contents - mCanvas.drawPaint(mFadePaint); + if (System.currentTimeMillis() - mLastUpdate < 400) { + // Fade out old contents + mCanvas.drawPaint(mFadePaint); + } if (mFlash) { mFlash = false; |