From ed149627fb9ee9b77ff6204c8973a267c3c2eead Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Thu, 19 Sep 2013 00:24:19 -0700 Subject: [PATCH] Add mask transition to do MULTIPLY burn on crossfader --- MarkSlee.pde | 28 ++++++++++++++++++++++++++++ SugarCubes.pde | 1 + code/HeronLX.jar | Bin 63879 -> 63884 bytes 3 files changed, 29 insertions(+) diff --git a/MarkSlee.pde b/MarkSlee.pde index adc86d0..7e0f46f 100644 --- a/MarkSlee.pde +++ b/MarkSlee.pde @@ -128,6 +128,34 @@ class SwipeTransition extends SCTransition { } } +class MaskTransition extends SCTransition { + + MaskTransition(GLucose glucose) { + super(glucose); + } + + void computeBlend(int[] c1, int[] c2, double progress) { + if (progress < 0.5) { + for (int i = 0; i < c1.length; ++i) { + colors[i] = lerpColor( + c1[i], + blendColor(c1[i], c2[i], MULTIPLY), + (float) (2.*progress), + RGB); + } + } else { + for (int i = 0; i < c1.length; ++i) { + colors[i] = lerpColor( + c2[i], + blendColor(c1[i], c2[i], MULTIPLY), + (float) (2.*(1. - progress)), + RGB); + } + } + } +} + + class BassPod extends SCPattern { private GraphicEQ eq = null; diff --git a/SugarCubes.pde b/SugarCubes.pde index ec68668..6b1a6c6 100644 --- a/SugarCubes.pde +++ b/SugarCubes.pde @@ -110,6 +110,7 @@ LXPattern[] patterns(GLucose glucose) { LXTransition[] transitions(GLucose glucose) { return new LXTransition[] { new DissolveTransition(lx), + new MaskTransition(glucose), new SwipeTransition(glucose), new FadeTransition(lx), }; diff --git a/code/HeronLX.jar b/code/HeronLX.jar index 145f480757192cea433b50366cc80e7fa57c6b2e..70a882684a54c7322dfe0a429ec44fd891a40685 100755 GIT binary patch delta 2745 zcmZ8j2{@E%8~)5##y++z6H=3mvc$2JJqjT^(XnMY37xWyO8-!lgrDQoHR@BK3%PWK+ zI0UJ{=w^wkVQ;X(Fatp6HUP|>96+UcKoT|M(E|P%9&LbTJWA*XSAqXg;;{R9G(eUg zqY2OeqrgC(dxRJ7gVu4 z{b0oD*f5M}`RDM1)Qga#uzdT8e#qGjGl0r^rv#y4ak>*$iN^c^$)&M8FjWy}2@U4C zXV9pur!6JwnTZdRvP8)_gmx_HLnNd0pAM=Z< zCAiYZ_qg*A?>oT=xi%A$h3cK5;oGzXiH{6wrqxUHTS-BlGfr&Pv!VeXhpsXVl_*L2*=;b|oA?!8I(yS|$=E?V+@y_U63D%f-ma;8lCUkV6|4Coaw z*ZkV3WInKz5J-qr>A5yyZuT-nT6bg5q0qX)Z@)HglEssy`eehK-4>mmdI}}++Bj9^ z-Y`1o+HjYp9!FGh+j3V^#aUfTqnfTDZWp#Lt3apA2)fv|HI_y+(*DyF6Tp%P?-O-Sa};#?XQ~hGck^y2{&kQAxiI<|fU0l7ETljtbXpQTw&* ztfS#^>-Fd>l1b4;_AK{?X`99WRxc|QX}Nll^BXLHR1cOd-~rVd|E0bT$jp6TbQUw z-F4bcdWaglB9Tih=bxqgNeM8?eVA@~kYPlnpW-v|A=yMpK$d)v?X2eV6Gpqh`ULlhl(_(Nj!;$lHa1GWV+QX5U&T4vkqncU;yI z{=HxuOX^A={>&!cLui5OKyT4&n$jmtmXk?QW-%^db7|f(??dG&TV$==JuN+F3UnNl zuWM^=zY?};d-htBid9w+smHieeR;q}^1F@BqM5CVOV{~Y#)ajsOcG|eKVw^Hqoqh_ zW1if1lh~BZH9}iKVB}X^m&$f;$sWx^N+;ggSv_)kC~HVg*@*gKL{_R_vdCOEPM37u z;XmVrr?to9o9%arQFL1v#$`D~$=T>#SMMKLX|=Yi9z`xBs|T&}9l9y_PPO=(@E<U)rgm zKA)~kDZNZQvu~tCEnS~aHFU(U?7qXiYtx77a`CUsoev~B@=I)jCNMD#X*Uw+ymYw= zXL{s7EmPtHbK*9|p#*OhK_Ope%F%T!_aE4Pfa&r^2>pTic^%>q&Y6P$5@OoHJ~On~ z$AK17bM!Tqdmi;1hemtvO?YNS3`oF8;*dWETwHApfwH>nI!ScQQJQlc)rbzeVzKO7 z77ZLV!s7(AWQ+)69b@JIg~wry!?+3X)5lE#z8XIO zP-+75JSHrGUpN7I!xOf^S7SH;jAK{k&C@7 zIOncUQ0KxYxSqaGaPB>eaNe{}#_O^$M5abNI3h`K~Ll zfAtE~!L34m$STaYuEO}%&jCO;;WO+z_8I2)uR+XS^9I}P?^_GqT!X))?K%Nt@fy9q zrhq1_@7TuK&qZIliFgcxSh4R(1NNV)pP%wXj~*@&k1nheKu6&X0_JfqH!O};tx5uo zm@Wku&O1S3?`_SW0&FZ#3?2Yv>c)0J6#trgOPt-zgxyU4AH=gmT%tIq86f}tw(uj! To_~;s-vhGG7b3scC@1q@J%L2J delta 2669 zcmZ8j3pA8l8~$cSXfnv?Mqz|d7$djPP36|Os}Ly?Y0lxK_>&_#hE6BRmnk{rdM440 zaVaUKgyeSI(zuNwxs2N|gg<9yZ>P2Xf7Y7yyzlcq@AK~ct#9r9{lUk@@o@x4JDeCE zK_n66K`!M6K@*oF1d{}uD63Hc*{HfGL*+4`i0;DZfjk652Dl5Ogm$|~{I3(*hS3o< zqvBXypfbi%mb;YD-SLwDr%uBfh^nkstoI608_P)2Q<5MIER7q_YquZ>atm$pmq!U) z3Dk!xjaJEa16j^$DM>JWkFaWf7t?WTFYs`8R93X8+hfTK*n&UuI zo5LUsUb}1+1I*arV~}z5>=Xk&dOpeGAgJ;`0u5CI+Ms43$QU{s{s>si+EhoC0oN;32@O=yIH6uJk_a!fu6XFa=BA`X0%3>DpLg&tBk1kn`wsIju| zbwZ!Z>0Yplo5_&`PopYt67KZHljZfOU+sWhEfSKor>8i=EjUUbh&CG1q=+^Oq)@k7*{Cye#iYuc(H?)ci5GOVFdxlj z#n4n%YAB=|MaKk;&J=vt<$jJro?1@Os;#G7; z%XrqeIy0)iUi@vFYAjXxk~ODc1}ROD7-h%HCt36mrr(}Z7(pW}t z%zR9097U;S&Y7Nwth8+{2)!SGZ*TS5a9#bk4;8KIYIXyE#TI#RodS8^_hyxrs_xOY zF*#hQ(@tcR=zg?_A*3wGy$@oS`g&GOc9uO)d-62OiG3TD4gAdHJriT++Qt_PHgYx; zs~?|lT|;G0ZDfDc!?y=?6B9l)S#)I}q^>P!#F{bFieCr`H=oe9&mXvx!hg)Cp9~LE zJD7WlSo_$eKeH>dI=^^q4K9gfSi9XSAh+ezj)(p>g7}CFx_OKOoW3fB^2oeC!0W%t z+TsaO${Z;-9sgq|m=tzigwiIrE@EAM!6#aLl?G3l*><`~KgYB6(djE_`gY#kE(?ca ze%E8dnp}f7{bz&U*E!oagwC76=Pt1_pT6A7F`>mie#^%1e79)@n=Ehs#tiTOe8|U} z{=i4#Dt_B1{MzustEu>V6;6(RXBny2pQ@28tfMr(uNujJNSoGD=o!xb)j!=prL`kk zrdChxga7cu6Io>u#aj-R?sWC!p5|Sd^XR7@FXEqT(0?fCoV1BQG~!CR-^$Xf)-tVf zD=R2 zml1V5U&Yyr;FV!~@{ZDNvaV`e&~$d${x;bY)*)I=CY5ge4Nf+57Rk{|YOy)a-C1kK zQMUuXnZKs-B$F6s?-CgiS2#V~ILW|rQkm&mn~i&R?sK&xwN+N*s1a8J*8MKP4ocq$ zA1gmQ7^0{wMrv@;(>KJ@@2wa!{U|Y3TgZ(f^UV?rJZwlQHKESyN4CpcEPOYknEoVj z?}1}Jq4abb_H(&P>t7E}VHS1qm_UPjzU zH&>Ass^@Zy?gT1xPP~Xq;rYJGx@f@UW1kS;>|1y1@zOzoW!hTJ=GU$hb&a>$De^f} zLBucNDgrZq1%h={=E$)MYkc# zzCjKiFuqMEU{KwBA4d?KH0M4jI9G$SGP+QnmDtXQM-sim2MUMS7r{Y>2K1PSj(0Sx zXP4;ALkD`uAYb2W2y(|>SeNA}qRd`3z}5Bc1}MvcJkS zzqkNC@QWjuSN6pfAaT$W@F9a90P6>x0IGg<19;)<5uj`R>IKkn=rF+RL(r#hhzfGb z@Ij!D9)|0$8;0{Yjleo>1kQge%tggij)T6~88~-f2F}|hfS4li0N+JFZm6VLJJ4W1 ztB5skK%?6g&_9}F(N!}13E8Qu6z3ed81irC`jWm+bwMI0pyU?oUc@o5)U z$mpN5QYxaCU1pK-Kn9B-7Q(C5Ncb)G?=L$#v_mM=LSJ>r{BYj-O%dD97Sft%@VB+% Iu0104KRVF00{{R3 -- 2.34.1