@@ -0,0 +1,1340 @@
+package com.haxademic.app.haxmapper.textures;%0A%0Aimport com.haxademic.core.app.P;%0Aimport com.haxademic.core.draw.util.DrawUtil;%0A%0Apublic class TextureEQConcentricCircles %0Aextends BaseTexture %7B%0A%0A%09protected boolean _is3D = false;%0A%09%0A%09protected float _amp = 20;%0A%09protected float _maxRadius = 0;%0A%09protected float _numCircles = 20;%0A%09protected float _circleRadiusStep = 0;%0A%09protected float _spectrumInterval = 512f / _numCircles;%0A%0A%0A%09public TextureEQConcentricCircles( int width, int height ) %7B%0A%09%09super();%0A%0A%09%09buildGraphics( width, height );%0A%09%09%0A%09%09_maxRadius = width + height;%0A%09%09_circleRadiusStep = _maxRadius / _numCircles;%0A%09%7D%0A%09%0A%09public void update() %7B%0A%09%09super.update();%0A%09%09%0A%09%09_texture.beginDraw();%0A%09%09_texture.clear();%0A%09%09%0A%09%09// draw grid%0A%09%09float startX = _texture.width / 2f;%0A%09%09float startY = _texture.height / 2f;%0A%09%09int white = P.p.color(255);%0A%09%09_texture.noFill();%0A%09%09_texture.strokeWeight(_circleRadiusStep);%0A%09%09DrawUtil.setDrawCenter(_texture);%0A%09%09for (int i = 0; i %3C _numCircles; i++) %7B%0A%09%09%09float alphaVal = P.p.audioIn.getEqBand( P.floor(_spectrumInterval * i) );%0A%09%09%09_texture.stroke( _colorEase.colorInt(), P.constrain( alphaVal * 255f, 0, 255 ) );%0A%09%09%09if( i %25 2 == 0 ) _texture.fill( white, P.constrain( alphaVal * 255f, 0, 255 ) );%0A%09%09%09_texture.ellipse( startX, startY, i * _circleRadiusStep, i * _circleRadiusStep );%09%0A%09%09%7D%0A%09%09%0A%09%09_texture.endDraw();%0A%09%7D%0A%7D%0A

Add circle EQ texture