aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/pheelicks/visualizer/VisualizerView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/pheelicks/visualizer/VisualizerView.java')
-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;