aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-06-24 22:12:05 -0700
committerRoman Birg <roman@cyngn.com>2015-06-24 22:12:05 -0700
commit3a5b85a40d34472e0b73e2b63710235e436ecbe8 (patch)
tree5fc212d9bf5367e108e8f7d8e38ff22a33a62bde
parent291c0204b784039be83ce8ddebefb6a87849224d (diff)
downloadandroid_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.java20
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;