From 3e8e60d84efa9e4c376574186635aa05f0f36f5f Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Tue, 20 Aug 2013 02:21:13 -0700 Subject: [PATCH] Updating spacetime and swarm to animate bass and speakers --- MarkSlee.pde | 45 +++++++++++++++++---------------------------- code/GLucose.jar | Bin 23895 -> 23992 bytes 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/MarkSlee.pde b/MarkSlee.pde index f955f97..5a15993 100644 --- a/MarkSlee.pde +++ b/MarkSlee.pde @@ -1,6 +1,6 @@ class SpaceTime extends SCPattern { - SinLFO pos = new SinLFO(0, 15, 3000); + SinLFO pos = new SinLFO(0, 1, 3000); SinLFO rate = new SinLFO(1000, 9000, 13000); SinLFO falloff = new SinLFO(10, 70, 5000); float angle = 0; @@ -8,8 +8,10 @@ class SpaceTime extends SCPattern { BasicParameter rateParameter = new BasicParameter("RATE", 0.5); BasicParameter sizeParameter = new BasicParameter("SIZE", 0.5); + public SpaceTime(GLucose glucose) { super(glucose); + addModulator(pos).trigger(); addModulator(rate).trigger(); addModulator(falloff).trigger(); @@ -35,14 +37,14 @@ class SpaceTime extends SCPattern { float fVal = falloff.getValuef(); int s = 0; - for (Strip strip : model.strips) { + for (Strip strip : model.allBoxStrips) { int i = 0; for (Point p : strip.points) { colors[p.index] = color( - (lx.getBaseHuef() + 360 - p.fx*.2 + p.fy * .3) % 360, - constrain(.4 * min(abs(s - sVal1), abs(s - sVal2)), 20, 100), - max(0, 100 - fVal*abs(i - pVal)) - ); + (lx.getBaseHuef() + 360 - p.fx*.2 + p.fy * .3) % 360, + constrain(.4 * min(abs(s - sVal1), abs(s - sVal2)), 20, 100), + max(0, 100 - fVal*abs(i - pVal*(strip.metrics.numPoints - 1))) + ); ++i; } ++s; @@ -52,7 +54,7 @@ class SpaceTime extends SCPattern { class Swarm extends SCPattern { - SawLFO offset = new SawLFO(0, 16, 1000); + SawLFO offset = new SawLFO(0, 1, 1000); SinLFO rate = new SinLFO(350, 1200, 63000); SinLFO falloff = new SinLFO(15, 50, 17000); SinLFO fX = new SinLFO(0, model.xMax, 19000); @@ -61,6 +63,7 @@ class Swarm extends SCPattern { public Swarm(GLucose glucose) { super(glucose); + addModulator(offset).trigger(); addModulator(rate).trigger(); addModulator(falloff).trigger(); @@ -83,14 +86,14 @@ class Swarm extends SCPattern { void run(int deltaMs) { float s = 0; - for (Strip strip : model.strips) { + for (Strip strip : model.allBoxStrips) { int i = 0; for (Point p : strip.points) { float fV = max(-1, 1 - dist(p.fx/2., p.fy, fX.getValuef()/2., fY.getValuef()) / 64.); colors[p.index] = color( (lx.getBaseHuef() + 0.3 * abs(p.fx - hOffX.getValuef())) % 360, constrain(80 + 40 * fV, 0, 100), - constrain(100 - (30 - fV * falloff.getValuef()) * modDist(i + (s*63)%61, offset.getValuef(), 16), 0, 100) + constrain(100 - (30 - fV * falloff.getValuef()) * modDist(i + (s*63)%61, (int) (offset.getValuef() * strip.metrics.numPoints), strip.metrics.numPoints), 0, 100) ); ++i; } @@ -365,11 +368,6 @@ class CrossSections extends SCPattern { addModulator(x).trigger(); addModulator(y).trigger(); addModulator(z).trigger(); - addParams(); - } - - public void addParams() - { addParameter(xr); addParameter(yr); addParameter(zr); @@ -380,8 +378,8 @@ class CrossSections extends SCPattern { addParameter(yw); addParameter(zw); } - - public void onParameterChanged(LXParameter p) { + + void onParameterChanged(LXParameter p) { if (p == xr) { x.setDuration(10000 - 8800*p.getValuef()); } else if (p == yr) { @@ -391,19 +389,10 @@ class CrossSections extends SCPattern { } } - float xv; - float yv; - float zv; - - public void updateXYZVals() - { - xv = x.getValuef(); - yv = y.getValuef(); - zv = z.getValuef(); - } - public void run(int deltaMs) { - updateXYZVals(); + float xv = x.getValuef(); + float yv = y.getValuef(); + float zv = z.getValuef(); float xlv = 100*xl.getValuef(); float ylv = 100*yl.getValuef(); float zlv = 100*zl.getValuef(); diff --git a/code/GLucose.jar b/code/GLucose.jar index 34e8f52e067abe2550b99da8fc76fd6a24442089..32509b676f735dbe195a85eee089509752152624 100644 GIT binary patch delta 3410 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 delta 3334 zcmZ9P2T&8;7RQrFXojYg5JE>v5Rd=@F*HL*q$Z&RMX3=Kk)ZgYgc|7rt5lUDRTQNw zMTAHPDFP~pet=355s)G(__BQOjqkmk+5OG=-*e{PyEFU0XCF60Uo}7xwpM%CxFHZu z2!x$C6`=%!^QLNF2cKQiusyt~pXFFjKmd9WgaK5UH3IlUG5?4tAe+byG(kB*wF9aO zsvA%>R#dG3d&SOT6<5t3Fswsh*g#J6|A2ygw{K&YV}dXk7>^5E?#A*+U9hbBl!PIS z7tSk4;N|P%>wrTbTin31f*_#m%w63tH3$cDa^(rTH6IjCvhjeq(mi*R&a!f40NaBy zbXW3zvfz%q2;+$y8-IyIEouA=(g;IJYApyawl{iU`yhkF!HMMJvSx?>Rav_h)>1#V z(Ryuln&6gju&CnWf`jA_;*wI?cv;cbOr-|9c>H+<020L5p?BT+{ z3JU}}h3kP%j3R_wdWr8 z?-U$4eZ%Z>mNb*!2YCv)e)~wqfO4rRDJCk=+Xwlg>PTyv1w)BJMxO8rNty~~1R(+r zHFYc9&R9uLq>2Vum7X8=naR2zZM#YRnK+4Gl1uBKjJy95V>EA#DDn5f@6UKdKR5LG z%OtaVC4zSN9X?wkQ6cANNaon#_*K5d%}(mG+ReB*IcI72E{TwoaAdc!p~+acTu0TW z&Ap7^n3PJI%tyRo7j!HxrDxIUt%N`=_3?W=yoeL{`Nh9ZR!_Rssc=EDNh&FzKp{0v zsy+5N_d*UPGfpD(C|=Op5;+h~4`=PbrH8BjS#W0$@dn$({<7$o^7(3%v`eA#9yakw zDqnEK^G{fV2X#BcgBji?@S6=P&?gAET=|-8wjM`p?a9b*G}D$FWvL1#{n#xpS|hd2sseK8{l2xifpkPfjb}@wce|{Q4k6 z`Q<3CF8%U>hK!5h*?0YgXqqb@#6+K(<|GEtt|WY=UAcZ(Tm%{BzDe~yg1m^W(V!io zVHZ!o?&tS-94ndOc~Wt-fWG(_a=ut#)MC7B>eKdi$;_S?Y5qrqlWmumnv1AQ__+(y zq7xQAav{v7+Tcqkf{OtQly>UzmG;AT3hee1xX!(7Q(T`qaJ6}DI(6E&x@r58yy)!{7O-DwZG9xoV@r_{&Zw}f&_g+*Ch4s6}9io zN+&|1)|I^o>y@CVsHTy;TOQ;rfl9{GPtzZ{L~F_Mi{`%a15pay@13UWQ(DTN)8l{j zAJ`FItxx|huv&lfyWQ$MA~vfuFnV%o{C36JOJ}e79dT>yt!;D@+h51v6LwbXABypz zCO3b`{P1cxT6T6PgLxN99!Vk!6Ci#CXSq)Z&23y5`ac2Oi)Oyx=k3XWEBqrhRcq#Tg$0 zCtcLI-F&jbjM81bW26{fJ&}0NtecUUF2+ML_k@SeNF>j#?HyDzAJrBi&-+$djt-^d z2L+QT%%0eDY?%*F(EEVvGcK+a^D>CZsOLA5%mrJ*Rz)Y zoF<$Q(4jHdySolOph1UofetMiq0asRAnU5q8;>&$`EMnCK_BK&k2VuPv6-Crh(iq- z$A5rDL>mY6b?Y?Tvb!?Xq9`NBtsj2c;Am?s_W$WHr?v%H&vezUJZ&Td*7y4yaQhj(!0HGGEN6vnvxnR{H~(91WP302iR>~Ff+Tg8_B#P{#N(6w^)xxt@z z0dBq5tKs3kJrIZx>wpr40K|j*zvvu9T#Vs2E&QIjo8zn(O8q)-(_3T2UcG=|aSI(ce@BRBRM60uRG)`>5R1dJ zx}R)5z4Z06?&jpi%)qO!5Ojwpr)!|GkytXuw^LoTQ&*?e=qM^=neAv5+jTe@$A`VQIXAP;>$kuuJa6Op`$1tg3h&X=o2ZaseyJK2cVbDFZG%Z z3D|0+7iBmUf6~Fl@H|QFTb}dO*Us!g0`AjJfP8jq$50Cj#j_8h5nN+DdsJlBiZe%3h}zD&8#h9?!X1 z@MUhr`DgOEj-X?}VhQH*D&NOXaazFKpgt4(HZ0WfB~m3Jv5)F^lHQt(n*;{A9e!*Q|goDdT!@Vcg>zBKl9Zaf;-6yHmy z1i~*@h!X>a#4#Pn3U$itq~2mMmKHd~BQ%ql66nyb@|IL7GFg6nRnso2nLRsOOI%W^ zZ_b3Aw{0*DZ~I&-vTWwma+>HJG)hW91don9pl+&a6*~rYDXNk)v#qSTjfdwoMZ{gI zXFgxb_G7b7%!?4vRNG10CMRekqUay1Hd3BS<>}%@U~Z{#{trex2NvefY}cn%Sp!uF z)QRZ|r!|3&8?CRlaxPpdth*v4=|&UVwuNRb^3n|56-@NwwO9F5T2j>ps&5k~h_y7o z81=cMsjo$W!R zxVe-lohLk`?L>GV)#s;hK6e=$>B3)+nr>f}N!2!E?vvblp50k26xPe#qSdpO@VY5> z8DH15Hqy>DG3DAJs>t##IUTu~N6SNm9{S%hMgE&R6~4A*WfOV7VE_FARln7H4|a+` zvmq0-mPn(p-G&loTD03>mRW@FHj>K6^mi@C&sur6NzAlA0)?^j0;3MPU^Ty^Aqaa% zb+A{BanuCS=!gfg<#+@fJ50p=Bcg$1q7HywFK?-z_ z_|`lTbCz>l<$^%OAb+mHh)50Ky@oiD=YrTx+;v#ixGWR`k^YkhDU8^o3%Kjb0$=}~ z_`iPiC$lg@9>+=)VmZ@3NpNZ}y{-CtFbG6`*SP*WF#tH_st7JN!4(a&H3a$%rGXw- z1gN}bDMCgp1qJX^kf4I0pkX&nSc)iC)x-Z(P>`(^6ehR_{Pp03fb)bQbmC1|^Q5vt zAd-KkVXYi*0X(sgKKTCykp!M&aMm_ytXuql3Z7a4e^YjURe0Rc&>i4CMF=o(Lxan3 RV+qQ@Uv4_=-VR{RzW}UDfJy)W -- 2.34.1