From e7abcc4327bfcd5c4d5cd8a82ea4e5b99280fe80 Mon Sep 17 00:00:00 2001 From: benfry Date: Tue, 14 Aug 2001 20:53:01 +0000 Subject: [PATCH] cleanup after japan --- processing/todo.txt | 82 +++++++++++++++++++ processing/tools/maclf/MacLF.class | Bin 0 -> 2633 bytes processing/tools/maclf/MacLF.java | 126 +++++++++++++++++++++++++++++ processing/tools/maclf/maclf.exe | Bin 0 -> 16458 bytes processing/tools/maclf/make.bat | 3 + 5 files changed, 211 insertions(+) create mode 100644 processing/todo.txt create mode 100644 processing/tools/maclf/MacLF.class create mode 100644 processing/tools/maclf/MacLF.java create mode 100755 processing/tools/maclf/maclf.exe create mode 100755 processing/tools/maclf/make.bat diff --git a/processing/todo.txt b/processing/todo.txt new file mode 100644 index 000000000..bc891c9cf --- /dev/null +++ b/processing/todo.txt @@ -0,0 +1,82 @@ +ENV +_ env. toggle for showing a function name each time its hit +_ env. toggle for showing line numbers within a function +_ i'm here messages, tie in with breakpoints for debugger +_ lightweight debugger, doesn't slow down, runs in back +_ env. toggle to show attr/value for some var in simple way +_ comments as debugging descriptors, output to console, shown in context +_ comments as naming for shapes drawn after it, +_ or some other model of naming based on inserted text with "" or // or # +_ could fit nicely with printf-style statements and comments +_ comments would contain descriptions //!blah for printing and formatting +_ sketchbook - doodling/scribbling area.. since wacom tablet easily accessible + + +PROCESSING - HIGH (finish these sunday, before class) +_ kill button (without stop) doesn't clear play +_ running out of memory, presumably b/c applets not being cleared +_ figure out why threads aren't actually dying +_ disassociate processing applet with a window on stop? +_ possible to maintain bagel, but kill applet? +_ or copy bagel's image, and kill that too? +_ put debugging stuff back into Kjc (i disabled some stuff) +_ make tab key work +_ include auto-indent? +_ convert documentation to html +_ what happens if size() not called inside setup() ? +_ when using draw() instead of loop() +_ applet needs to notify runner that it has terminated +_ image grabbing code (write to tiff) +_ multiple types of KjcEngine (so that simplest model is available) +_ tweak updater a little bit so it's more likely to work +_ use numbered versioning? +_ anti-aliasing +_ alpha + + +PROCESSING - MEDIUM +_ per-vertex shading doesn't work +_ the lights prolly shouldn't follow objects around +_ work on courseware applet code signing +_ why is z going negative, seems weird +_ maybe view needs to go from -100 to 100 with zero at screen plane +_ code to save a project to the main machine +_ setting up 'project' directories +_ delayUntil would be nice to have +_ but at some point there has to be a cutoff +_ have a library of useful code that people can add to programs +_ otherwise things are too simple, and env is a crutch +_ courseware menu +_ list of 'people' and 'projects'; refresh +_ based on local dir named 'projects' or 'sketchbook'? +_ copyPixel(x, y, to_x, to_y) +_ copyArea(x, y, w, h, to_x, to_y) +_ copyImage(image, x, y, w, h, to_x, to_y) +_ lesson plans (easier to translate) +_ write example applets in processing +_ courseware system +_ uploading pieces when finished - scrapbook/sketchbook model? +_ download new versions of pde.jar from main machine +_ some kind of text +_ setup imrf linux machine? +_ quicktime exporter or image sequence export +_ nice to have a random number generator between -1..1 +_ as well as an integer random; instead of just 0..1 +_ show creas how to get access to cvs +_ how to use ssh identity file to maintain auth for brancusi + + +PROCESSING - LOWER +_ move math functions into utility library associated +_ with bagel, because those will be useful on other bagel platforms +_ perlin noise function +_ give updater feedback (progress dialog, error msg) +_ get proce55ing.net, make that the target launch site +_ make some kind of internal color picker +_ could be a separate window that's always around if needed +_ write a dbn compatability mode (forever() instead of loop() ?) +_ save window x, y, width, height to pde.properties on exit +_ bagelpublic.pl: open ProcessingApplet, rewrite after special token +_ look at glut for other needed shapes +_ make PdeEditorButtons wait until mouseup to change +_ (currently doesn't feel as good as it could) diff --git a/processing/tools/maclf/MacLF.class b/processing/tools/maclf/MacLF.class new file mode 100644 index 0000000000000000000000000000000000000000..be0300074c0b14cc56df1f022175b26730abce97 GIT binary patch literal 2633 zcmZuyTUQfT6#m9cG9e6tXp~4$l&VR%wODWAqFlsAA!tDq(aMkvI2vYXm?&6#v$WM- z?d_qi)uldk<*BRHhv1Sf`_iZO-IqS}sjFS9|DpCflOR!nHIq5}oW1wAzi*#&e*5pi zL%7h0ZxpPO;O^HFeZ2}~2^HtHi&}F^Gbft|#?R{sTY{^ha9fxSk%;##6eAN~~pGJ)M@|&$}8{^HKWQ^wzbh))M%!M#1{001wX1*!q+gRkTiN ziPS`G+k}zQO>Ii=P_Yr!1UM~%qzK9%S_zX6H3%r!Bw?+C`02DNYO#f|^;v_w$e~zx z*he6n6}%upU2^DUP8HilI!~Kn8g_>db=amNjEIC%W2VPQlUOS~#~MT7Q(`uxQj8{! zlLl+9EMQ}H5vTpsp;AE4r~?LC+GQPG=3B zOIw$O(h7Q?nm9O{(5G#~qCQ?LV^3%7J}%g}jC#N^7Mg&xNbo)JnNe_LDH@rJ4Lq4q z(Jyp!UrHOc?!y536daYXZb`A?s1i!pVacvJTc43oy_`B`63$ZQSa`Hc#So5@e6gIJ z6&me|#lkTkPGC^M$zmkSo(fJ$s9DM@#En~auaz;AMPRq1)5qO8s^T@AWiLYE#k%z+1ODBXrqheh6DD)9ag-ugHF*Xz@EviK*Jt<+$a-mMk3FVTQP;nj? z*vH&OlOi!CJuG4xDvse*(I8VQriJ|OM9P{Wxk*?G$lQ7-pCfmE$9H8WCiJuqX;Iik zTw+vhdRjNhT|*&x(dyRc3(N;-6%jICTxQB9Zue;wS472L+sfw=^KU44TS8TF$;BG` z@Rlg;5MB`#yeo!%D&BX>m`G)2NZSDBh1pVZUF=#i%%qM?zS?iWUXo0 zwfU)9D{V{~rk1LmpsGzOKEvlkm3EGwA!`MOosIvg7hkf?mZRkzYDH!FNNn*zE0a#> zLKhC4v${!?hAl)dj#?M0;D(1IuQ+(2a9mO}_HkTVG*##NL*_rw8F_dU z<@d0zazhS5*L`etwYl1}*tUqekw~y*0XyQ2In;lP(#GohXwJebep}{ONx{g&JCFak z%OGr6zIQV`nA8oGUu9UsL~HpLPZiJiI(|j44lP)ZJ+wvn96*4ucn%g|+4OcZ%HBv0 zyZc=oSwtKl4K+lvFDeIQ2a6hz^I%GxkCu6tRMS8-kCxFy;A5O1qt!T%51X(7oB3ah z5VkU74Ug6uBH2a+JY)+9ZjdNJOb-#T>d+G){vsd_1BIObW>LBbDN?ZFdq+J|R9VDZBLU9>-ia!%-QFyY1>An`&I;dcltlsx>${poG;b@rjqL@S-z$#= z+z)S|QcTHXj)Q03D`im@P@LsCyvMQM%Vl>S{}51e_&~fqB)pGqVztVL`LvS7cCxsieSLrocCvT6*l|5L%AOlU zFYl8>&XZ&hnT#}xBe=@T@jBwTMS;KPmG&do+~f0r7uhd3iC@Y2?>L1=IE_DX27hCW L2)<(ORrvaUnv*kL literal 0 HcmV?d00001 diff --git a/processing/tools/maclf/MacLF.java b/processing/tools/maclf/MacLF.java new file mode 100644 index 000000000..dc42798fd --- /dev/null +++ b/processing/tools/maclf/MacLF.java @@ -0,0 +1,126 @@ +import java.io.*; + + +public class MacLF +{ + static final int MAC = 0; + static final int UNIX = 1; + static final int WINDOWS = 2; + + static public void main(String args[]) { + if (args.length == 0) { + System.err.println("maclf "); + System.exit(0); + } + int kind = MAC; + + for (int i = 0; i < args.length; i++) { + File file = new File(args[i]); + if (file.isDirectory()) { + dir(file, kind); + } else { + load(file, kind); + } + } + } + + static public void dir(File dir, int kind) { + String files[] = dir.list(); + for (int i = 0; i < files.length; i++) { + File file = new File(dir, files[i]); + if (file.isDirectory()) { + dir(file, kind); + } else { + load(file, kind); + } + } + } + + static public void load(File file, int kind) { + try { + if (file.isDirectory()) { + String list[] = file.list(); + for (int i = 0; i < list.length; i++) { + load(new File(file, list[i]), kind); + } + } else { + new MacLF(file, kind); + } + } catch (Exception e) { + System.err.println(file); + e.printStackTrace(); + } + } + + public MacLF(File file, int outputKind) + throws FileNotFoundException, IOException { + String path = null; + try { + path = file.getCanonicalPath(); + } catch (IOException e) { + path = file.getPath(); + } + FileInputStream input = new FileInputStream(file); + byte data[] = null; + data = readBytes(input, 0, (int)file.length()); + input.close(); + + File tempFile = new File(path + ".temp"); + FileOutputStream output = null; + output = new FileOutputStream(tempFile); + for (int i = 0; i < data.length; i++) { + if (data[i] == 10) { + // got a unix lf + outputLF(output, outputKind); + } else if (data[i] == 13) { + // mac or windows + outputLF(output, outputKind); + if (((i + 1) != data.length) && + (data[i+1] == 10)) { + // windows, skip LF after CR + i++; + } + } else { + output.write(data[i]); + } + } + output.flush(); + output.close(); + if (!file.delete()) { + System.err.println("Could not delete original file."); + } else { + if (!tempFile.renameTo(file)) { + System.err.println("Could not rename temp file."); + } + } + } + + protected void outputLF(OutputStream output, int outputKind) + throws IOException { + if (outputKind == UNIX) { + output.write(10); + } else if (outputKind == WINDOWS) { + output.write(13); + output.write(10); + } else if (outputKind == MAC) { + output.write(13); + } + } + + + static public byte[] readBytes(InputStream input, int start, int length) + throws IOException + { + byte[] returning = new byte[length]; + + while (true) { + int byteCount = input.read(returning, start, length); + if (byteCount <= 0) + break; + + start += byteCount; + length -= byteCount; + } + return returning; + } +} diff --git a/processing/tools/maclf/maclf.exe b/processing/tools/maclf/maclf.exe new file mode 100755 index 0000000000000000000000000000000000000000..4a71261e45446bf4bb5158cc65ec2402ca8a7ed6 GIT binary patch literal 16458 zcmeHOeQ;A(c0bRSEg@uVh(&NPAc7&rfI~1J#s=aqIXJP6u>66+V1)F9)1T> zZ!|5@=tpbkY4i<#w~u8fJaO2GYK2s~clg|<1a6cvh1o(nQ5G;Z9qU+t{x)2uj{$R> z_)7FzpqLI9$5ETnVBF&Pc&E+Y$RRq+qqRh*=V++A-iE=Hd)Jw-K!SewE2bD-D2az9 z^fxnbV}lY6!^CAH+F$5#NiHC283}|&$Nh|}45|vlk+7R_ENAVEo^kQ3><=rW1bMPg zMj#o1WCW5CNJbzTfn)@d5lBWL8G&R3k`efSjKJB2L<`XJ&^Dq~pf#W!KntUtKzjzw zfOZb;3fjd*L}$_Xx`-dC=@@^4egth4?IpBxXwL%w8v1`m^I$w5?ROY=qrV?*BU&|D zGa6q;qF(NQ3mqw-D@H3on~(M}aC{xbIDobrEpa7&%clVGXaZTL4{RsJU;awCIrlr& z^tZHr)d(&4Y}=VDZ_ItxLcQ0nTzpc9(+}%?wTi1Or;HlW_-a<9JX3SCYJDcF48Vp) zbn08z40%~L9<=VeVxT7F*6~{e?F0SvxvKhj=ul--2dUP4&^uJ?OX&KCk6CmIN9;wY zxt?G(;nRb&=S1QuUnpueRP8sv#G6wo5f3K>LZGr6Z^pnpsxOuNdvO5#( zKK@Lh$`+@O=3!tpX;yUSDH{wJ=>mM&aKxd$b%#{In)ujf@Mzzj>sL(dX5X#c=9Ug) z(QxZP&zQ2|G^Bj=gCcdnKGxFG679JKIsL=ZBEYcgEbGul-^Hk($6H3eb}FQzRsj<>M-wgM3<;m8w4mL{clU#ovJ*gT5|!H zPDG92VjW(Pn9ql_Yz8uw9*Z)eT)zB%%119MuRHtRP5tPsYR$r2hp=lrrD(XFy|U=Z zTaP$7mA$4u(S#&d8kC}z4uUzV^+zmhvR}>YA4I8i7zcW8v|h7Ma9}_B!GL|@n*9b> zqGO={#%IWe?|pm(irJ9e{$Y8cYRvpZ(lSLhDL<))hD^miqON}>&N%*oDv!j+s`Ub7bx=#kJT+obt=|WvT+>pm zty8Uli`15QVkb&J&3x(u_{c{3XfDdM!|0m;lWKj1S(%`J2n33Ka-eCd!8giSQwy9! zdGTZ~CeL_)btA#a_p!zh3x>md$1V5xb5$yB(`&&(xmr+0A;UU)E+O z^(aPrCV65rr}9}$=#jZi+Xqz9aOtP*`!c^jeElkKbC#mvzRy)@Eov-ZY0NX7GJkTp zS2k4Ck7xJ3JKFpEVL82`qP~7Sz3)nD-|te(`ak)`JNvLN=(H!UOCK_QYQ=bFoZL`R zF`f$Ivhh)+D$k_6zP4B$SDPs*Q=&rA)S>@UvQ)F`XT2#I(0B?~qnB`ktrnQi`1AbShhm zksoZR(Z#&I3r_WyrB|c&tfNgzou%|=((GdyN|UL$&8$j>GT>8(9oiYtzPPXXgVT`@}ST>WUL($1xBlJd#VPgi0S6i}oH?TwXWnm@x zhVcmXoPinS@I;q$-*?OAY;K8)u|9DM+puc&!M4`Ej50ie)V_==?o{guAeD?Q0HP+< z+N(ju8g%9;1N1lB0mVLIfm>}Dl5Fw)J(Q`|!z?fM8fJVJO!!Pp_%gsV>oLMEI$$4h zs2kP-7_g6GJ-*3n5<#c}qtC!B#4Ja_qFT4Jwz^SRA&;u^o2on(`v)wWzSq`9?eBo8 zi|6gP6q7P5T6fd2GxjjpT3fFwVoa59s@7V}@7&5?$OmfkOyTU~@AG&K-}(g&AGx*a zb>+2wL3tNK$_$RHH`L`0aH-1!xcm4>0XKnS3w6mw!&k4~_`;KWiZo`HKBxL1I?IRp0`a8ChuVg~LM-qFf{yW4dZy8f8oAxnfuM5!+1 zkptp(SI`p>%W+KJC^m?ZkQ{c4 zL>~&ZA@}3c@EBm1XBxhe;`BcuhP>05b5!jQ-liz0HEd6kX>UmA+)b6C zrl3FQm;9~(JSJKPOw9~n!V4Yt>d}Pwnnd zPzr|v-Y)zWN~x0rlE2~zk{)XDdqhqq8B-I(#?bBgyDiToE*XJ8I06}Fq6{bw0?7y@Banj7U0Oy&wQV2)UWWzZ;e*h>( zk50Svd4U>d5x$n)iBBOuOT?$DUOxXk`K5V*WwY50Jq#Ra?{G(jrF*U2XIE;;}W zY=;EA4IC11tXr4CGhZdahPnTX7j8%n-uB>tW`!44$iR7E;kK{E!n=7HfELy+X*%7A zfD4{;w7iH9$D@!oe=XW;;7d28bNoG!KT}s2dN}7Y;_cRSmV7Nb>$OaB&2YVZQD+3z zAVQm8^HkL0-1fC-ZPh%{YxM}Ua;38TL}jrpdUXX54X!Gk<`AgD82|6rL7}#q9OYH@ z4V41M-1x#V5!GNV-jBY{<*u!!pMHMv63(pF(6^10B2b!!HIhM~tPWSV>%o94c<@2} zQ@=o|b>$Ez)L?b9%#6xVFe15vQnM={ivk&%>T7oKoFI^~rKY}WM~jm|$TjeXdV%KW z@2Q;@tDk3-u58A9CBDK7lv(Q!iuH2m0WsX@IuH;oG>`6qUVOqA$f~pYLk~LmU;*5s ztFv?#S!u43=6}Ip=aGmccA97bu$?Ya=V zw1{$yv{;~fG>gBe)`GMwh1q;KfiAyhWwRNEEHP4^K$Zjp&M@G@3RaiCg-3N-p=~IFxcDuW$|&mGrQYsuBU!DhtP7p+lT$BUOK4!mb^*_(RB#DI`l> zvQ!I#`=+hlp&{c%fUpQ;zReRc(qjo}h+NH%+cOp{Cgd&cP#DKZW}H6N8p$D0b|Pal zrQ#9D=XHFD6A@_PwCb85%t>gjS-Gdeg3Z1O!Dn(*R{oxfnwphZXD#G3(yp17OmiA( zw?K;$dO5lEA*nhf2R$>4T|wn$tj;|a+DGlEWt@0bx`Lsg-|Y%GaI^)>^H+X3b)4wE z7CgVeV+0SAGR|crB;($hN@w`OnLa4c+-XO(lH<&I$ZNro+2g2VtfGUg7%6>}W%@0& zlNz`{IxW~ik^VF{pM5e@$ViCXd`+L0Zhgg9$X>4)He+vtW8HKJQgP5G1`)f}apg0p zOTX-(E})bp$R>IMD)FD?I=d`%lsz^{Azcs8|EZC_A<%-EF3-%dnU1k*kI;7Z;5dV| z7V6jB@CM`v!nT7>Fgj$RD6iUdj~EcSc9zje6Fnu+lFE=A@Ywi2PU=&(P}qME$C3e? z7g;T|(4W&^z$%>fV*6!XGfvU!u&WrRfYd_Dq+A5_f7x)|?jr+Fo7AuF+Ch z&s%LOEub{KUO^vky!Zpn1vG00Yz91g25iB27G=;JaAblbiq|}TZ!0gj^c-cLqwIP2 z4pDCE1-d_VOX}7^TK+06Yc0rKcb*=oUo%9jzDKjyEWAJu4w8xcbth7U+=5GI)VF^K zAt+efH$pr?X&PBD%AmPWbPw*_7GQs0hEV}!oq zh&I-xZX2Wm&5+fLV9DkZLykeS#gb#tjhUql)}2Td7OjRgZ%tcMK>VJZ3u%kAX2x0l zy|e`XY?P1ZVj=Jkp>3k&umGEE+=8bOC=N^&EP&Vfw+*q*Fhq+$T<7>8&3=`Hf`#X) zbdWOZ5KHiETRlV-KZH!ee!Yq8@ffW`YzX=ZPX;5RVZr%7x4E<$cCA8;R$=rY-tX7Z z!&HQwbOWqG)gr|;;4(nYqgn!8z;Gd~$u*oN%c?B%5Y-RT(%iJuG;dW_2A~8kBlkI) zrK6_9bH7$M9)w0jO?Z)-gGhxBf$?K^=ztLcgar%!ON!fJ1gGeM+t7{L>#FnQD=`QqX*q^e zAOj~aP>_Kk`V&sxs}ycMPZG-c@Vq0q4N(uuyChvGF}_O2T65CRQ*Vheb)#vJcIKp6 zO+{Je)09z=V}yU-9HbH*mvNd_#Bo-WVSi5Ar59)(PZ{=W4CyCK!XRbj7&Y=C>H};w zf$WU>cR9u(`ZK;g3G+@pM{{`LDOh-el%10f+|$p|Y{q>HIIf;_tfx8fUytAusA2x? zXTY0zI@V7*l_H8;5ygj5*JX%cIclc@6<3AdHg;VCMLg182F*FNi+GUz7{4K3L(G3hyXh@zqu