diff options
Diffstat (limited to 'src/com/pheelicks/visualizer/renderer/Renderer.java')
-rw-r--r-- | src/com/pheelicks/visualizer/renderer/Renderer.java | 101 |
1 files changed, 53 insertions, 48 deletions
diff --git a/src/com/pheelicks/visualizer/renderer/Renderer.java b/src/com/pheelicks/visualizer/renderer/Renderer.java index 12be4b8..2d18d55 100644 --- a/src/com/pheelicks/visualizer/renderer/Renderer.java +++ b/src/com/pheelicks/visualizer/renderer/Renderer.java @@ -4,6 +4,7 @@ * Licensed under the MIT license: * http://creativecommons.org/licenses/MIT/ */ + package com.pheelicks.visualizer.renderer; import android.graphics.Canvas; @@ -14,60 +15,64 @@ import com.pheelicks.visualizer.FFTData; abstract public class Renderer { - // Have these as members, so we don't have to re-create them each time - protected float[] mPoints; - protected float[] mFFTPoints; - public Renderer() - { - } + // Have these as members, so we don't have to re-create them each time + protected float[] mPoints; + protected float[] mFFTPoints; + + public Renderer() + { + } - // As the display of raw/FFT audio will usually look different, subclasses - // will typically only implement one of the below methods - /** - * Implement this method to render the audio data onto the canvas - * @param canvas - Canvas to draw on - * @param data - Data to render - * @param rect - Rect to render into - */ - abstract public void onRender(Canvas canvas, AudioData data, Rect rect); + // As the display of raw/FFT audio will usually look different, subclasses + // will typically only implement one of the below methods + /** + * Implement this method to render the audio data onto the canvas + * + * @param canvas - Canvas to draw on + * @param data - Data to render + * @param rect - Rect to render into + */ + abstract public void onRender(Canvas canvas, AudioData data, Rect rect); - /** - * Implement this method to render the FFT audio data onto the canvas - * @param canvas - Canvas to draw on - * @param data - Data to render - * @param rect - Rect to render into - */ - abstract public void onRender(Canvas canvas, FFTData data, Rect rect); + /** + * Implement this method to render the FFT audio data onto the canvas + * + * @param canvas - Canvas to draw on + * @param data - Data to render + * @param rect - Rect to render into + */ + abstract public void onRender(Canvas canvas, FFTData data, Rect rect); + // These methods should actually be called for rendering + /** + * Render the audio data onto the canvas + * + * @param canvas - Canvas to draw on + * @param data - Data to render + * @param rect - Rect to render into + */ + final public void render(Canvas canvas, AudioData data, Rect rect) + { + if (mPoints == null || mPoints.length < data.bytes.length * 4) { + mPoints = new float[data.bytes.length * 4]; + } - // These methods should actually be called for rendering - /** - * Render the audio data onto the canvas - * @param canvas - Canvas to draw on - * @param data - Data to render - * @param rect - Rect to render into - */ - final public void render(Canvas canvas, AudioData data, Rect rect) - { - if (mPoints == null || mPoints.length < data.bytes.length * 4) { - mPoints = new float[data.bytes.length * 4]; + onRender(canvas, data, rect); } - onRender(canvas, data, rect); - } + /** + * Render the FFT data onto the canvas + * + * @param canvas - Canvas to draw on + * @param data - Data to render + * @param rect - Rect to render into + */ + final public void render(Canvas canvas, FFTData data, Rect rect) + { + if (mFFTPoints == null || mFFTPoints.length < data.bytes.length * 4) { + mFFTPoints = new float[data.bytes.length * 4]; + } - /** - * Render the FFT data onto the canvas - * @param canvas - Canvas to draw on - * @param data - Data to render - * @param rect - Rect to render into - */ - final public void render(Canvas canvas, FFTData data, Rect rect) - { - if (mFFTPoints == null || mFFTPoints.length < data.bytes.length * 4) { - mFFTPoints = new float[data.bytes.length * 4]; + onRender(canvas, data, rect); } - - onRender(canvas, data, rect); - } } |