From 5240530cac7dfd5ca930722bda864839001c8b02 Mon Sep 17 00:00:00 2001 From: litter Date: Tue, 29 Oct 2019 00:16:51 -0400 Subject: [PATCH] * Cast floats (from double) everywhere. * Reference parent methods for Processing-specific functions like round(), ceil() and map(). * Suppress warnings about usage of parent.println() * Build .jar --- library/SoundtrackOptical.jar | Bin 0 -> 4354 bytes src/soundtrack/optical/SoundtrackOptical.java | 113 ++++++++++-------- 2 files changed, 66 insertions(+), 47 deletions(-) create mode 100644 library/SoundtrackOptical.jar mode change 100644 => 100755 src/soundtrack/optical/SoundtrackOptical.java diff --git a/library/SoundtrackOptical.jar b/library/SoundtrackOptical.jar new file mode 100644 index 0000000000000000000000000000000000000000..7351f99870104fd36027982f016dfe5a7d45789b GIT binary patch literal 4354 zcma)92T)U6v<(>P(u-0=N@xazsHbagA!Vd@)CT};8x8csppsG}=b(}jLj!MX;8(`w7M93M zlmJsGHO-4K$_<|5P#2De>AwkP{*yrBco*a2@9l*3b3l4X`=GHXq=Tol`M*mh|Ex$M zJsmKZ6e|z3`6SB`9xF-w*52DeHEYi`!|u6xg~Tym{hC!Q#q+{66_OQ`%;nu;*36DU%yzrRL!1_S5!taX~_yJ$PciY%x; zWm^5}t2To85VBw||A=MS?wZyu3Tyjd@hrn0*49j5S%Sc;@Z262cg6$6kM%6LA~xhG{OTg=y}146Robb$&8nI{lSAU(SA#ql&PGy#mf_aDuX=cB z=-Fe{+D%{2*7c7;tmwI01r(9=dzs^kcM4v{9R@zcg-=dGF82Yv*k$N28ev&IHWBhd zL|k$XezY%FL-$gOv0i>;BsM45AKKkDJnb2|uOVR^tRUyFI=x{dTQ*@>(;!;Tq|;g4 zR7Akvc)Anp2)04<^S3>o@%re-iXBM_T+@BD>UOu6AV|1iHNy*iBa1jYoK~6LD z18f>boNo$fs$VB=xUrPkh?vDMVG(uy>x|>(HvKk*FixuV^?BVYD665UgPG5;71o&VBSXX@-=9-Wvb@ zr@pFJvRJg!kSHkv++nQhNG(wAv=7i!8x!5+0Mf9a+TdGOYo*)U^&)Y~dKLn4vXQeO zGjDV`E9P9qO~)LPTcS?1!0cr+6#78;Im3ob-1nII(73Zyfg0raJyy(n*7)kE#*1;R zQ=aD(^nbqi=sqpuxNkBEt3AwSVoo~`aHz@^&4CpwPjxrxU4v6v?#3FhJTkz*X(}$O zn|xcFQO+rQb7oJLM;W}Sgnu|$n-j-<_1(}GlGS9vu;X#WW-g@lNvE2WZ$#%i!4aDl z8c`X~9&udIF0Ce6UhnB^_@Wxy%H6uq&Q5DkTa4=z#^Q_OqB?$kjrCpD3_+z%ML^4Diu+@&d9628^r>~A?2vRmSufx`*3=AGWWy$nt`vZgdxQx zV?t`ixbvuTakeZWH4|H5xRM^svD`9RXepBIQz3l?RcGk&*I8XI_|9R$M4nhmN&dKo zTkSB>-AuoLr%EbsjDwQ=;(#i(>E`7vn^h@E?_OjIq92)nSgsygw|ml~_tFD%5iwU0 zyX}TYs^ws9gcuZp2nd8&{3 z4qoW+uv+aJ?g+#CKGPro3^LoHVq8iRz&}||@@1$FaN*St3OgJC=BV`K-PZ2`=7@|s zKD@-TrlQZ7nH<`PKKZyLG_@-Yr*$eatXLp zNT|6^x6VD%t0cv0i=hCi*5Hxyv9<%LWJaTVh}GbARtX#VFei$SHPNw`96Sc5R6Ci~a$j_?La5=Vg@Ah5jobX4T1zuc zVNRM~kCML2)AD>)>c)^cioR|`$w6H$L9}ogpG1eq%oM~Q+JTxOQ4cm&`asB?&sHLj z8++_Eyl%_Hgd&^OhUmWivHMfrl=+FQOyf|dXjkCimyscoNgt`1fcxplpcdm=V%{hs zyM#cLEIrLjzu2c>wT4mI*z!w*c?H0lxhHfQmunN}8&ib1Br1^>gS)~VUyqzP8z!F} zre-kCc5n7)$(Y-DsR=h+RhAq(D$CC>SKmi9Hb;i%j?k)<+-X1ml_EDz;#K-{AsEL8 z$h-G?mEi&IN6pV7b{*AJSai6`KldPqSHl1@I;)b?@p7L!IWk&tk$Yw@xve)p$6-i7OG>KN%tc{!O| zi492)LdC@)u%U^5X)z+qc!0D;gh@ca&n*o4rQrr9gHTBbm^c8n4u=S>idl)h1rtqa z#QIE(C8emIk9_*ZaGm48X1}GrTl;(Jzd!x&<_hhAbsJ0?^zOLA9QBrHuG4mP zcHT~$Rx25@q;VOz;_eG3PlRpF)2OXZBA8@oXI>M#mBZ12 zo`uwuPP_c@+wB!Gy5$?K!>B#EIBiSAc9^&KsJQ$>(9nI-7B(s~axTMnc>kt&!y~-T z_vsk8gM16rBrX2kA@W=O4U^kx+Z<3^+h~D58WS{!FG*t^Oye_9vw9$#k%Ie%RQz2@ zf~5<6cI^riMy8;bLSnFN^G8Sngy0{$sr30cw(Q7s1%dB0oKr&RHS-HQKLNqotG6{v za*aPLe1H}Sy9YIia#nox!etD2NkmS9^e{un4 z*p&|$DFA>j%F`F%zX!;ATw_m^qo0FckQCa_2kq>KMLA=<9zvmK%ow6~cdes1b@H+U z6m@}If>>)HzrO&yLM}ahxRJ>ZbFjDTGX6Yw7UO5!=EPu<*uM%YS;?ge3i~+mEs-itmD8YhW-yh`z@j})W=1J8EWeqo9o_$LlbANFt;68 zKTukSjC}L;@DY)Te?2Vum-x>(1yg-M#6j;s|=?wn5 zGD+k+pkZ1U3i)xk#KUg%;DKd;N+WX?fBV@_>rT6s=&THx87W++ljPo++PiXmUX&x+ za%~;c#uOBx{5)5iHfhe)ioHh5eluV@6u6a1B%`T~XxjYGZE3E|_7m~dafN~C$a8-& z-=UA+$J?k531)jyE$ijZBj_unz8$eTybv(10O5giQ;cbN)s{NyK)=AV5pSQJ(H@1q z1}@6s2w&!KZ2@@yw$IdD`#=@_@dM}^$6RttTa;hO78~#y1H%R0{hXT6hD_Jq{d7+5 zFPG^o8owRw_^@(Kkz^CZP_D2QU*{UK^sL_V;k|aI$XD>%iNx#z9nv)<6=HDyXFVo$ z)=Zy&^21F z3?Err^-fmbqK>c%aG@r=ARPF`0zR%|MU!2zNlcSXb4ja8kq7x!BvUbROzIV9W_dhS zY=YNmd}lyGZ7bxT-_uH7rnRi5BA?|qtqjT`uz%#iRucIOpUNkH9X;TAYJ!pO+cyJv2e1ANQaM7N9NzOO(7i8|>NOHSA@NB*5g0 z;^?wk30A!|ou~{$X6ySr^yS<~jWqb-JLd6$TD`!xNu?rJbVGPT9mD<>w4VEmLg-@@ z00B=fDFr1v;Fo4TEp|^d^Y8Y5Dd^KtPK5DkvN;jPzs%wI_5UxEPscr>s?#KNg7?2n z^q6^m5!Y$Ilb`Q2gPc&*FLOPf{!3V=-A?G`G-Upsj(n2tU$QyvcarWj3Y-AyFB7Bx m-{AGX{-+P<1S@`70>i(^VG2Ea!o>jU max) { + max = compare; + } + if (compare < min) { + min = compare; + } + } + parent.println(min); + parent.println(max); } + @SuppressWarnings("static-access") public void frame(int X, int Y) { if (i >= FRAMES) { return; } - - if (POSITIVE) { - background(0); - stroke(255); + + //draw bg + parent.noStroke(); + if (POSITIVE) { + parent.fill(0); } else { - background(255); - stroke(0); + parent.fill(255); + } + + if (TYPE != "variable density") { + parent.rect(X, Y, DEPTH, FRAME_H_PIXELS); + } + + //draw top + if (POSITIVE) { + parent.stroke(255); + } else { + parent.stroke(0); } soundfile.read(i * FRAME_H_PIXELS, frameSample, 0, FRAME_H_PIXELS); for (int y = 0; y < FRAME_H_PIXELS; y++) { - LINE_W = round(map(frameSample[y], min, max, 0, DEPTH * VOLUME)); - //println(); + LINE_W = Math.round(parent.map(frameSample[y], min, max, (float) 0, DEPTH * VOLUME)); if (TYPE == "unilateral") { - line(X + 0, Y + y, X + LINE_W, Y + y); + parent.line(X + 0, Y + y, X + LINE_W, Y + y); } else if (TYPE == "dual unilateral") { /* TODO!!!! */ - } else if (TYPE == "single variable area") { - LEFT = X + round((DEPTH - LINE_W) / 2); - line(LEFT, Y + y, LEFT + LINE_W, Y + y); + } else if (TYPE == "variable area" || TYPE == "single variable area") { + LEFT = X + Math.round((DEPTH - LINE_W) / 2); + parent.line(LEFT, Y + y, LEFT + LINE_W, Y + y); } else if (TYPE == "dual variable area") { - LEFT = X + round((DEPTH / 4) - (LINE_W / 4)); - line(LEFT, Y + y, LEFT + (LINE_W / 2), Y + y); - line(LEFT + (DEPTH / 2), Y + y, LEFT + (DEPTH / 2) + (LINE_W / 2), Y + y); + LEFT = X + Math.round((DEPTH / 4) - (LINE_W / 4)); + parent.line(LEFT, Y + y, LEFT + (LINE_W / 2), Y + y); + parent.line(LEFT + (DEPTH / 2), Y + y, LEFT + (DEPTH / 2) + (LINE_W / 2), Y + y); } else if (TYPE == "multiple variable area" || TYPE == "maurer") { - LEFT = X + round((DEPTH / 16) - (LINE_W / 16)); + LEFT = X + Math.round((DEPTH / 16) - (LINE_W / 16)); for (int x = 1; x < 7; x++) { - line(LEFT + ((x * DEPTH) / 8), Y + y, LEFT + ((x * DEPTH) / 8) + (LINE_W / 8), Y + y); + parent.line(LEFT + ((x * DEPTH) / 8), Y + y, LEFT + ((x * DEPTH) / 8) + (LINE_W / 8), Y + y); } } else if (TYPE == "variable density") { - DENSITY = map(frameSample[y], min, max, 0, 255 * VOLUME); + DENSITY = parent.map(frameSample[y], min, max, (float) 0, 255 * VOLUME); if (POSITIVE) { - stroke(DENSITY); + parent.stroke(DENSITY); } else { - stroke(255 - DENSITY); + parent.stroke(255 - DENSITY); } - line(X + 0, Y + y, X + DEPTH, Y + y); + parent.line(X + 0, Y + y, X + DEPTH, Y + y); } } i++;