From 9f823de4d0b5a8dacc5ee284fbd79c2cfd9d3e4e Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Tue, 20 Aug 2013 23:45:57 -0700 Subject: [PATCH] Fix bug with mapping tool and library bugfixes --- TestPatterns.pde | 12 +++--------- code/GLucose.jar | Bin 25732 -> 25732 bytes code/HeronLX.jar | Bin 60947 -> 61099 bytes 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/TestPatterns.pde b/TestPatterns.pde index bdaa78a..e47651a 100644 --- a/TestPatterns.pde +++ b/TestPatterns.pde @@ -256,7 +256,7 @@ class MappingTool extends TestPattern { if (activeChannel.mode == ChannelMapping.MODE_CUBES) { int i = 1; for (int index : activeChannel.objectIndices) { - if (c == model.getCubeByRawIndex(index)) { + if ((index >= 0) && (c == model.getCubeByRawIndex(index))) { return i; } ++i; @@ -359,10 +359,7 @@ class MappingTool extends TestPattern { } public void decChannel() { - --channelIndex; - if (channelIndex < 0) { - channelIndex += numChannels; - } + channelIndex = (channelIndex + numChannels - 1) % numChannels; setChannel(); } @@ -371,10 +368,7 @@ class MappingTool extends TestPattern { } public void decStrip() { - --stripIndex; - if (stripIndex < 0) { - stripIndex += Cube.STRIPS_PER_CUBE; - } + stripIndex = (stripIndex + Cube.STRIPS_PER_CUBE - 1) % Cube.STRIPS_PER_CUBE; } public void keyPressed() { diff --git a/code/GLucose.jar b/code/GLucose.jar index d8f3c05c0993e311a70bb72bca484d598a6e5337..457c9746ffe51e246ffce68255cf97508e9cc116 100644 GIT binary patch delta 552 zcmXBOJ4ixN7zc3AHOoZGLPR3S9u%6DLJ(=CqG8#~vJk!3cSA!%&{RZ7IQCF(LqnT2 zHI?C%QxLf{G#E7$v;;}Cgo9K5KbP~n|L<|mO%++H$dukWX@f!{kxL{;g^W_q9TqZU zCpaIwahCgPr`X1fz{Uo_CNtEF9b$)|5bu~A@qrD43LB}B8{l3VYu+^9N)hu)Lj(L& zRT+G5uaG4*$05IIJe2#j8%@aRE*H(0dhOKL_E%-7tBp>Y3k+>j|H<5iXL7$|S*o9o zCuvS&>!ED1>u64Jec&E((tVF{Zf2j#2lJQodwOq@p1E3?qP4Pbkgm}Ntc*Jcvj6MbP2XBus%V!3M4c2lx|~fjhJW&O$!$6Iun% zupgXZ#&{KTfw?#J%WM U;`ERsLB-<)rPstFdir(#AI6c~=l}o! delta 552 zcmXAkJ4ixd6vyv()3T7Vh!P332Zr`i2t+M4GA!+3FCy>t-O$hwG!;=9&ZXRjhPG;I z>VZ>R5V*#c{<{R&C-7sjTe~ z??XG^x|{v(l3%Hj^#X3zBPY@tGgnNVq!a6;Tc(10&-&q(*nq6AyZPs8nOC(pRggKg zSpj}%$_#vKDiNQWc^>+;#ZTI(U9Ex6=)Kf`>hw^qHI|j|n|nv8x7@cu`J+{jGuOYi zQ}U1Od(>-jcaU~?4Ac|7@7N;^`|eQZ$9KrypFF3}GX?kP%*C9G#=hr!XpMH+$@pSQ zS`67Soe6n>Ldc3gRSJWEQy2m^1t+qc;Ha2wQoU$^V-a0&)ZTF)j(Q{Y;4S7WC>2P@-}mjC-j32*Ux50fe0G zP6Ei_Kw)~67u^t>{JrTtGB&LYE8()+!3{LdABi02yKE@Z*(24`x-i76*!Q6;v8A*h z)D8MSf39>2S}w$Q$g#rJyl)|*M%OWAp}lh)(y-`o2w zS_`L(c6z9Xa3=0p15D!5XC3xvOkMQAOI1eGeFGSKmifL1yRpeWCva2nG|vAf&q-LA zi+jXKG{>&4WP8&AcWZFP!8YB{3480O)md(aw!B=*Maz9DY2U0q;*%37z_h=o(Cih) z=Q|hSAvv__?{BU1YQ-RGH$Ck892cPiWW8H44%&h45dxGN4>re>;sKW{rB@zZQ6B@}Q?E ztWZL?Qi&{$cRJTtjr`TuX~u!7<{P*ruU1$rx09H6_*RPpaHsN{&;9#0$azB_JNAa= z3&C_A4E28F-U6HjS`zuKCv%~uPsY;u2UCT&os84G8jDj!T4J4}#6PFdS=a7htwFkZ zWHx>);NIVuI1(xiFLCwt&1u^bIZ&_>4o?g;pUr69n8VBSE*l$uWkoo?Ab+Q`7X7BF zg80jqO^@C;)rVo@W>6}u2$LvQ93Cw&hkS$KD}=4RqY+guv>X&-A7K=<>h{*$c2aVO1y33L!YcnvF;D*y!q{Oz z2>Y0ZcTo)25G`FAfn4~v+3sq7-lc*qOzw)f+B`Q9slcKmg!M@1{1(q3Fe6PFAM##I#=CzHe z;U*J<*?5|4Kr-VKj}#eS6Y~pJnU(bF7Yb@g(v{NboIg8PPaI#q7jOvXop_-Dv*&Tb zeO5C{GfCtm;X}>ca|;Xm?s@`LHfJ)rl1j%`FqyHqa3R(%MbKxhpK*EN283^ z{IGjYtDhCPH1fUpH2nTXZSjnib%nnD5N)PiNR)6hGqYFS;`r9K@W9aLH_6*~2Zll+ zLPEd9xS=+qO|KmeHw&YEn`^TJa$wlFOgRt9e{VE5t(|L$lh1TzzUF$=5vq@yXU0JE zNES4z%;uTWcW{3a;j|D1QfZ~w((cDYLsi_k5odQP%OLBf6`}G$6VusCVKIk-zR5W z_h8ec>)}AJRr5=wDt3U@e!92mD|zpILRD@nc^g}g;wyR%NLNI8gqWX(a0u-a(gUb8 z!?TT;ph+qp+_c1)WzV`zPuMEPMA{~QLw%rYR(k;9kI&oK#v>XQ%nSF_4c@&^zKCzt zwBDC;S*FaOAH*^xGmR>WCGK)#VdP-;6bigC48sj6efptTQtqc}r zo1UiL6y4{pg3foezef;$O*+rsy-nU=HFogDpUwVhN7=#DUjs|-BR?}(%!;xbPmp*( zwM_B6j8k1uP9y)lO)}J{OCO(z7>R@_8m$;q@*GP+=GGC0rK-)Gq1bgzY@K4QYVuM#~PPF7T#ML%Dg@G5TY z^o9=)JhNS5Wa7rjlWtdB^cP`wB%r^Umf07!;&<5_v2#n-%T(MKJC0z0)d1U^e9^3! zkKuT%?^mZO(_dw&-_P>;*2xDAW!FmZO+(%K@)dNg$fjum_@%@r@ zr~IMMqVJxjKO?7Y`D^3%kr?{T!_QT4w)Wn0?`ZTfMHnwFtMB&-YPqP4K7H=gh%NDR zeO1GT3nr}AEC*gn{P**N60r_Duj90*L-;*=z;JXo7v3b=DfWGa<#2PhhVxCW_aq(i z9~Nemol!PSF_W{&>lM>i1@LZAD+k3BRsc?V119F>ZDg779V+zFnq9;uj-AaW&PrQbFeRSI!6t_H{H0KetDsx57l+MWP{?cI8c8Fr+<5;7q&5St?Dwj4za+jP?xK{DV{8m7ZYphR z(`W@B?SGP}a_M=nYlcb*W zb0BCYn4vwPFKs_r(ZUW0A{e%=4Driq$0VQ<(r1Bdiwt(-dsM1+d~-}TC*U`8t};L3 zLHEx}ljm`_Wedei8yq6SE8zZ0WqJjx;?{bt3lnB#nMZ1} zDbv$o6TSdnEInA|YZv~RDHPTUw-v0p-WD~-^==+o%W8b==ZYPrbCqb1Ga7v-@9-`gM-S=F~=__2`F}6vY7X${Tn!B|1F}Y?BGjqXV4Rq!3c45(W9WUtIW-!S} zU_{Dh^2!;l_v?1-Q(o!SZsL_A0_lz=EZn<4y6EP!mwTYieT2Bp1|5&nPo8J~#)!VV z(WP%4a3w>3kR|@E(TewycX-eQ&-_@TB}Ul20NY8z48e;+c) zTlJ_Z^mYEwP!DPKg$n_0i7G+UL~$zfO8n0y28=vXHu=D^)4=YUw#T>8N!9dvTi=Zi zV>t21*U7+&aoEtv1H>T9t_x{`RC=Vg`?N%RKe?-pESz7h367MLQH9BMlf1=}%^_{0 zIhhi&`08iDnft3}S?RNzI+3iNRc2*=2CACDK#!P%in(nFr7rn}pTlOEbU6Ku`Wumk z`(p{Qq-@1!XYN&chq!t~T!!~F*a!c3;>R7XE?IEG4DgyP%%%Gb842v|D2WDUqIq!D zcFXtbsP_#X*F((oS^{0m-B<<>sE#HsE`IT?o+|TJ3cY=Y`z$s)htNjr$G3v7-JiuR zchrSra0qF!If7UWjV2ToPqP_uwx2SE5Z{7G;5Vs+a^nsQP z1zo(9!CSHM65jgKydahfom5Q@{Xf176%ND(-85RsvmUq22)G&@ygudnRNNYvRE~=M z@OqSe@1*OpE2~e*pgz6odAq1s){FeD{1gvLw@!Fp}o+P@`n#p zIpaxhEjFzTQfxhjrbA0;SptVU7&F<#4g@h(WoaMwP=*^1H0`lA^+NBGXW{6%kFZC~ zj_^-f)Baekbdr$x^>YYvW~}{C);n<4qn~!{9c>t=vhVxy;7+Yi$rO5D&{uIxT^`EP zQZu;16!5A9KIkcaHE)R8z_)wXEcdSWL;w4StY+oW6#?|O#TrC7muF}my)_gdV{@r~ zD4$GrW{77)1TW7oUz0bEj72Hb$RZ!xFY?5MY`y=?+&gqytyJ{WJu)>S=w$8a*D>8` zPkby4ppm(;T|gK=g6Cm9Jn@OML&E6>@c0#u8f;-Xi9v;bTo5+^qeh)tK*$^?*O`Cp zLwxOm)X4M+WBd}yQBALlg?rP~bkocF_w{Z@a}|+RQ3R^%zClIjn}fnt)tF?yUrBsD zSV)*6F@zV4&j#ll`3@3ZwC8>bryAJ3EvY~a+p`N2*yR!Q#&6~8l-k9lZN)k6cYfXO z;|$XbKBJXHF^+@FU;)j$0^VxDoz4$}VL^GXdNKRStI=;whi@W?=I_!2yGkg z&HfXLW@zWYE}3P8jWB7}$9jwNJH86R#ve-sn^7y2-L<qO#n zIFpH-^Pk$0hP8j}y0<7#+xBKLX%G8E64Q%xFy}!a0i`a+Z=sXs2>v_8X>kmRRg-tS z@NkV|_7oH+Pj59XQnV@#X9@4GS*S)wz_?nx{FUbvHN6_iLO(twmiz1u%@34p{Lwcc zl^L=&ra(D@Q9|+SK?!t9f!eb>E_GY0Tn#ICEnb0PFPWom^!~;?IqS}0L@}<0YGlS; zc@6C4GIp1@kY~Xs{L8)GezxIeN?{Iqa+|UqnG8AsO(pETZ(Fk;tI6N*Qa{EZ$AcBP zj_69INv7T-&lU3aWidyO3pe7i!gIU>%Stc4fVqa&iYj!!tW@t#I<4{TU$Wk9jJV5j zk5r>YZXfDc_fz~kYI-Y@7G(`5CO*Fp)Xkl5DrHYSDd`V{)dri9 zPPB!R<*9FI;qFRAXTg;t-bNnaxA0i0rr;*vWHj2Ujs@wy7A|NIjm|Zy9aWp9{KC4T z>Z(mW zBkIvGOZFu0Z48T^)&@ilGT1rXjv;}#k$*vdzM|zMy&UODkIJPA8P+tB#h*iUL%YZD zrPH^8jzn4`kIc5TAu8XOGAS-s%A`(5Gwhddb-{b>8sgNg{Eww;Z?$T481XW7oWgD; z1e>WA6g^|2^j2=bqde5v3cUrJ2*@pXt5TyA7MjSd*8T=hbWFR2!;sszq=m$2mqAoX zLR2o#;LELq7f)?aRI6B^0{aiqpdEE;j<@H$I}6brjP+3|!79kcZ5tsoG12 z!ZWfWQ?FIjWKt@)#*;iQ3itK#`aK>Ua(hRr<#8o{%L}WDlSzoCc|?8;``QUDWXG)i zlGXX=rM6}d%~2~PIW1Uz@g2qOQ*Q;+Nno2|khNwF&b6DL9n^SG;^l~ESkm-5bVNml z?x>V~@8ybJvdOm4iZ zJ617vY8KQv(>6jXyzx7hFwI2m0Zz5R_lMAi4@#XuUwDP&2R>JxhcN$^mZ6K+i62+` zi;^iqd;2v5RQhIzOU;(uqMr3)QgApURh;tDn_d43t ze^x4uE_-l>fFUnd&yw}pzNH2A)3rQ(PvvyaV}V(7JWuV)h@zygrS=pIEnNEjif@Fd z_%My`&1ZG;uvdSzV5y+9Mf>Ks$0_9V zX#EZ;IXsf3Id^a%rDqeC6y)(F6Mj_664t}_sYG$GA?(5OwC;?pNtxlT&07urXgx2K zJ;_LY{Ll@o_0Q`&au#wE7PZg>^j*gy0%lGbHmMnRc%L|y)(SHOis9Qis63kSIdY8( zr*jZJ9e!-U#Q!F4d?|j3I0RO37I3oViW3_=5%qHt3qOVei7i@f5| z#QJ2;^KD@*sucJm4H)N9(Z{FHLnLgb4bf-)4{hGO$QzKWDR?GiQ>tbz`V4!Pk3-(8 zTj3^J{q7hMl~d(BXJd~^kHC1$W~((`xq9bWU6H#>K!V#T2L;eq(AA~BWyaoM#$IF> z%%eC|$AwcCym#0UC4U3V^s)uRX-Fj&TeWy+`B}%DW>vtas3& z=}Yhh{^Nwg$jcu_kVLbcjHYJtFiYfs8exkKCD2$Xpv~FhRv`((2~~;Qc=s}SwmfS>SD!zLq4%; z0i%dBB-3n#hFaw7`X8(d?7`WWuV?xJ0cExEcTL-VWpi*R*m3K^=i$Pr6>L*6!tZg~vInJDp`s>rspD=3JJO)+szd0sOa8>>jrb_0+@1Eye_2d70pNtDJL{ zOl#kb{xTJmW_d6M(T(p`*^`=BLQ9r!zfu&f$5;#wUkrXx(xKAi_)-4ll*_7u_l%$l z7oWqk!RPtx=`d>(xNipw`pQIpkD9Lg8EX3dmNX`_=3Bq1M!$a}$#Y`#(c7OMGyy6n z2X%l^o1dnAzFLg6`$@r%ZI@Qyx4mDGr3wwyo({+uvioH%8>ZU5;_zYo-Mw)z-lOZy z_qM=)A= z*if%5V2$@P0&3=K#X(rUcf1fctN)0wAtl+x3lJ7CBDsp7)k~=%X*hT3ku*-3AS6~L zD}nU2E4PHSz9>O32rs{_a2ev~vVd_(1Exk4)x_#DNP>>mECxbc=utP)`eUevl+-tx zK=N*xkRcr^m?@%Nr7D`9I<1O^f})54IC(NuH(FRD8En>v2rG}l775+3mql9Ej(A8n zE-zjpv7fJwk=A!NPo!n(32ruBMqXXxCpyYxFJ$U@{m+!Xi;fy{rf zau9Ro1Nvv!uf*0KjWBzIE$R$@IOV)1CeII$%-%r=DbGUCa74gsdcc2{8i8ei*c(yc zH7YeQI?H^O4Mj$u=3_7$vCGHdnph=3Ja_lX;Q_s8aT<7UA3Sbe;}}Q*By+UD&AYfj z%p4uUNyQulO-A}(d~1&EN<_<$O?n!9G|RxUabFXOyNe`~11j^#GCZD#puLy5!ei!H zt_05T&c=7ZNG-8YPz0|DNZh|lX=9%2idgg}f-n{I(gG5BuMs`v8h-)c zUlh0s4SVS$X%xt50XdARd!qZ<60Du3%iB}+Kt}a*j zgB2Qta}yAI?tX<4xf27wR}eMRJG0)#1s!IBOZxR^Ysd479N|fNNk)j^twPYGeE}I5 z4IsUW_$LU!6vSF!AjS)ntRh5LXW+CSzPa2-9V5?4eSOm{7X(yoS!=ZYxoe1 z;(E&Lp;u(pZ){h^j``-Q#t0TV0wi8G=P=D^XC`uMPME?5+u4i6)UNVi$lB7K2aG z^|b?@15{1X08hTNT`fdZ^-*q2VBQ(vaXp=JAm_UTBI>2@5H!i6t1?U#QvF*q;`h~i z3ScQN--6d`7V!3p%=nh}U-IhAZ!s*8Yz&gGHz`#aP_-_76}GuFCCfK3k{OVAJsR5z zfOG@`aBVOnLQ>m+pruq@VT&8Y0R2xyF~2D~KA8svzJXruT&qn$HImGY5Fq>kL940# zS3vs*aB0ok$TI{*Lx delta 9069 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 M9csL