From 84242ce7bccfba5a420822f9cd5d4c45de0f6b70 Mon Sep 17 00:00:00 2001 From: benfry Date: Mon, 18 Apr 2005 18:54:26 +0000 Subject: [PATCH] fixing up some prefs stuff, add run.options, don't launch prefs txt file from inside p5, fixing up runner, adding more info to the faq --- processing/app/Base.java | 4 +- processing/app/Preferences.java | 29 +++- processing/app/Runner.java | 121 +++++++++++------ processing/build/shared/lib/preferences.txt | 19 +-- processing/core/PApplet.java | 7 +- processing/core/done.txt | 143 ++++++++++++++++++++ processing/core/todo.txt | 143 +------------------- processing/done.txt | 74 ++++++++++ processing/todo.txt | 84 ++---------- 9 files changed, 346 insertions(+), 278 deletions(-) diff --git a/processing/app/Base.java b/processing/app/Base.java index 038fd895e..ebaccbfe3 100644 --- a/processing/app/Base.java +++ b/processing/app/Base.java @@ -50,8 +50,8 @@ import processing.core.*; * files and images, etc) that comes from that. */ public class Base { - static final int VERSION = 83; - static final String VERSION_NAME = "0083 Alpha"; + static final int VERSION = 84; + static final String VERSION_NAME = "0084 Alpha"; /** * Path of filename opened on the command line, diff --git a/processing/app/Preferences.java b/processing/app/Preferences.java index 7435a2daa..ddbdff6fc 100644 --- a/processing/app/Preferences.java +++ b/processing/app/Preferences.java @@ -169,10 +169,10 @@ public class Preferences extends JComponent { } catch (Exception ex) { Base.showError("Error reading preferences", - "Error reading the preferences file. " + - "Please delete (or move)\n" + - preferencesFile.getAbsolutePath() + - " and restart Processing.", ex); + "Error reading the preferences file. " + + "Please delete (or move)\n" + + preferencesFile.getAbsolutePath() + + " and restart Processing.", ex); } } } @@ -343,17 +343,32 @@ public class Preferences extends JComponent { top += d.height; // + GUI_SMALL; label = new JLabel(preferencesFile.getAbsolutePath()); + /* label.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { + // close the frame and ignore any changes. + // otherwise, any changes made to preferences.txt + // will be lost when the prefs window is closed, + // since things will be re-applied. + disposeFrame(); + + // now safe to open the text file Base.openURL(preferencesFile.getAbsolutePath()); } }); - label.setForeground(new Color(51, 25, 153)); + */ + //label.setForeground(new Color(51, 25, 153)); pain.add(label); d = label.getPreferredSize(); label.setBounds(left, top, d.width, d.height); - //textarea.setBounds(left, top, d.width, d.height); - //top += d.height; // + GUI_BETWEEN; + + label = new JLabel("(edit only when Processing is not running)"); + + pain.add(label); + d = label.getPreferredSize(); + label.setForeground(Color.gray); + label.setBounds(left, top, d.width, d.height); + top += d.height; // + GUI_SMALL; // [ OK ] [ Cancel ] maybe these should be next to the message? diff --git a/processing/app/Runner.java b/processing/app/Runner.java index ed0396aa2..b38c0d284 100644 --- a/processing/app/Runner.java +++ b/processing/app/Runner.java @@ -29,6 +29,7 @@ import java.awt.*; import java.awt.event.*; import java.io.*; import java.lang.reflect.*; +import java.util.*; import com.oroinc.text.regex.*; @@ -94,24 +95,44 @@ public class Runner implements MessageConsumer { public void startPresenting() throws Exception { - String command[] = new String[] { - "java", - "-Djava.library.path=" + - sketch.libraryPath + - File.pathSeparator + System.getProperty("java.library.path"), - "-cp", - sketch.classPath + Sketchbook.librariesClassPath, - "processing.core.PApplet", - PApplet.ARGS_EXTERNAL, - PApplet.ARGS_PRESENT, - PApplet.ARGS_PRESENT_BGCOLOR + "=" + - Preferences.get("run.present.bgcolor"), - PApplet.ARGS_DISPLAY + "=" + - Preferences.get("run.display"), - PApplet.ARGS_SKETCH_FOLDER + "=" + - sketch.folder.getAbsolutePath(), - sketch.mainClassName - }; + Vector params = new Vector(); + + params.add("java"); + + String options = Preferences.get("run.options"); + if (options.length() > 0) { + String pieces[] = PApplet.split(options, ' '); + for (int i = 0; i < pieces.length; i++) { + String p = pieces[i].trim(); + if (p.length() > 0) { + params.add(p); + } + } + } + + params.add("-Djava.library.path=" + + sketch.libraryPath + + File.pathSeparator + + System.getProperty("java.library.path")); + + params.add("-cp"); + params.add(sketch.classPath + Sketchbook.librariesClassPath); + + params.add("processing.core.PApplet"); + + params.add(PApplet.ARGS_EXTERNAL); + params.add(PApplet.ARGS_PRESENT); + params.add(PApplet.ARGS_PRESENT_BGCOLOR + "=" + + Preferences.get("run.present.bgcolor")); + params.add(PApplet.ARGS_DISPLAY + "=" + + Preferences.get("run.display")); + params.add(PApplet.ARGS_SKETCH_FOLDER + "=" + + sketch.folder.getAbsolutePath()); + params.add(sketch.mainClassName); + + String command[] = new String[params.size()]; + params.copyInto(command); + //PApplet.println(command); process = Runtime.getRuntime().exec(command); processInput = new SystemOutSiphon(process.getInputStream()); @@ -134,27 +155,49 @@ public class Runner implements MessageConsumer { (PApplet.ARGS_EDITOR_LOCATION + "=" + editorLocation.x + "," + editorLocation.y); - //System.out.println("library path is " + sketch.libraryPath); - String command[] = new String[] { - // this made the code folder bug go away, but killed stdio - //"cmd", "/c", "start", - "java", - "-Djava.library.path=" + - // sketch.libraryPath might be "" - // librariesClassPath will always have sep char prepended - sketch.libraryPath + - File.pathSeparator + System.getProperty("java.library.path"), - "-cp", - sketch.classPath + Sketchbook.librariesClassPath, - "processing.core.PApplet", - location, - PApplet.ARGS_EXTERNAL, - PApplet.ARGS_DISPLAY + "=" + Preferences.get("run.display"), - PApplet.ARGS_SKETCH_FOLDER + "=" + sketch.folder.getAbsolutePath(), - sketch.mainClassName - }; - //PApplet.printarr(command); - //PApplet.println(PApplet.join(command, " ")); + // this as prefix made the code folder bug go away, but killed stdio + //"cmd", "/c", "start", + + // all params have to be stored as separate items, + // so a growable array needs to be used. i.e. -Xms128m -Xmx1024m + // will throw an error if it's shoved into a single array element + Vector params = new Vector(); + + params.add("java"); + + String options = Preferences.get("run.options"); + if (options.length() > 0) { + String pieces[] = PApplet.split(options, ' '); + for (int i = 0; i < pieces.length; i++) { + String p = pieces[i].trim(); + if (p.length() > 0) { + params.add(p); + } + } + } + // sketch.libraryPath might be "" + // librariesClassPath will always have sep char prepended + params.add("-Djava.library.path=" + + sketch.libraryPath + + File.pathSeparator + + System.getProperty("java.library.path")); + + params.add("-cp"); + params.add(sketch.classPath + Sketchbook.librariesClassPath); + + params.add("processing.core.PApplet"); + + params.add(location); + params.add(PApplet.ARGS_EXTERNAL); + params.add(PApplet.ARGS_DISPLAY + "=" + + Preferences.get("run.display")); + params.add(PApplet.ARGS_SKETCH_FOLDER + "=" + + sketch.folder.getAbsolutePath()); + params.add(sketch.mainClassName); + + String command[] = new String[params.size()]; + params.copyInto(command); + //PApplet.println(command); process = Runtime.getRuntime().exec(command); processInput = new SystemOutSiphon(process.getInputStream()); diff --git a/processing/build/shared/lib/preferences.txt b/processing/build/shared/lib/preferences.txt index 06a3617d0..2b3ee0dd4 100755 --- a/processing/build/shared/lib/preferences.txt +++ b/processing/build/shared/lib/preferences.txt @@ -173,21 +173,25 @@ editor.divider.size = 0 # but keeps it from being annoyingly obtrusive editor.divider.size.windows = 2 -# how many lines to scroll for each tick on the wheel mouse -editor.wheelmouse.multiplier = 3 - # background color for full-screen presentation mode run.present.bgcolor = #666666 +# any additional java options when running externally +# (for applets that are run external to the environment... +# those with a code folder, or using any libraries) +# if you hose this and can't run things, it's your own durn fault +run.options = + +# example of increasing the memory size for applets run externally +#run.options = -Xms128m -Xmx1024m + # color of the stop button when running in present mode run.present.stop.color = #cccccc # index of the default display to use for present mode +# (this setting not yet completely implemented) run.display = 1 -# set true to just always run externally (no longer exists) -#run.external = false - # set internally #run.window.bgcolor= @@ -196,9 +200,6 @@ run.display = 1 run.window.width.minimum = 120 run.window.height.minimum = 120 -# set this to opengl to make it the default renderer -renderer = core - # prompt for sketch location when 'new' is hit sketchbook.prompt = false diff --git a/processing/core/PApplet.java b/processing/core/PApplet.java index 533d7d182..17b91605c 100644 --- a/processing/core/PApplet.java +++ b/processing/core/PApplet.java @@ -6351,9 +6351,10 @@ v PApplet.this.stop(); public void spotLight(float red, float green, float blue, float x, float y, float z, - float nx, float ny, float nz, float angle) { - if (recorder != null) recorder.spotLight(red, green, blue, x, y, z, nx, ny, nz, angle); - g.spotLight(red, green, blue, x, y, z, nx, ny, nz, angle); + float nx, float ny, float nz, + float angle, float concentration) { + if (recorder != null) recorder.spotLight(red, green, blue, x, y, z, nx, ny, nz, angle, concentration); + g.spotLight(red, green, blue, x, y, z, nx, ny, nz, angle, concentration); } diff --git a/processing/core/done.txt b/processing/core/done.txt index 1ef9bb997..21a7c69c4 100644 --- a/processing/core/done.txt +++ b/processing/core/done.txt @@ -1,3 +1,146 @@ +0083 core +X fix double key events +X fix mrj.version security error on the pc +X set() fixes for PGraphics2 and setImpl inside PGraphics +X remove angleMode (also from PMatrix classes) +X remove/rename postSetup() stuff from PGraphics/PApplet +X camera(), perspective(), ortho() +X matrix set by the camera on each beginFrame +X push/pop are now pushMatrix/popMatrix +o get PGraphics.java engine working again + +lighting stuff +X make fill() cover ambient and diffuse +X provide separate call for ambient to shut it off +o why does diffuse just mirror fill()? +o seems to cover just diffuse, not ambient_and_diffuse like fill +o maybe fill() should set diffuse, and sep call to ambient() sets ambient? +X removed it +X move dot() to the bottom w/ the other math + +already done +X remove PMethods as actual class, use recordFrame(PGraphics) +X size(200, 200, "processing.illustrator.PGraphicsAI"); + +api questions +o image(String name) and textFont(String name) +o do we change to font(arial, 12) ? +X remove angleMode() ? +X be consistent about getXxx() methods +X just use the variable names.. don't do overkill on fillR et al +X or just what functions are actually made public +X is fillRi needed? it's pretty goofy.. +X how to handle full screen (opengl especially) or no screen (for scripts) + +tweaking up simong light code +o what's up with resetLights? +o add PLight object to avoid method overflow +o preApplyMatrix, invApplyMatrix? +o applyMatrixPre and applyMatrixIn +o rotateXInv is ugly.. +o irotateX?, papplyMatrix? + +wednesday evening +X expose api to launch files, folders, URLs +X use with/in place of link() +X call it open() +X what to call firstMouse +X implement rightMouse? +X yes, mouseButton = LEFT, CENTER, or RIGHT +X error when running on 1.1... +X You need to install Java 1.3 or later to view this content. +X Click here to visit java.com and install. +X make inverseCamera into cameraInv +X fix messages referring to depth() +X route all of them through a single function rather than current waste +X fix bezierVertex() in P3D for newer api + +wednesday late +X track loadImage() with filenames that are inconsistent +X really a problem with the ves61r kids +X i.e. mixed case filename in sketch is different in windows +X but when uploaded to a unix server causes a serious problem +X use canonicalPath to flag possible problems +X http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1096508877;start=5 +o fix shapes in P3D (line loop, polygons, etc) +o should we include a from and to for the directional light? +X no, cuz it doesn't do much really.. +X fromX-toX etc is all that's different + +thursday day +X set modelview to camera on endCamera +X add ortho() and perspective() to PGraphics.java + +thursday evening +o textMode(ALIGN_LEFT) etc, should make sure that left/center/right not used +X though since have to change to LEFT, should be easy to switch + +friday night +o should toInt('5') return the ascii or the char? +X since (int) '5' returns the ascii, that's what it does +X made a note in the PApplet reference + +text api +X textMode ALIGN_CENTER _LEFT _RIGHT -> CENTER, LEFT, RIGHT ? +X use built-in font if available? yes +o text() with \n is semi-broken +X does the font or PApplet control the size? (the font, ala java) +X without setting the font, SCREEN_SPACE comes out weird +o move SCREEN_SPACE into ScreenFont() class? +o probably not, casey thinks screen space text is prolly more useful +o that way can clear up some of the general confusion in the code +X textFont with a named font can use the renderer/os font +X illustrator api can get the ps name from the java font name +X since it's associated with the font file.. wee! +X for postscript, can grab the real font +o altho problem here is that really the fonts just need a name +o since needs to render to screen as well +o font has to be installed to get psname +X fine because why would you embed a ps font that you don't have? +o need to resolve SCREEN_SPACE vs OBJECT_SPACE +o can this be auto-detected with noDepth()? +o how does rotated text work? +o PFont.rotate(180) rotate(PI) +o or can this be detected from the matrix? +X don't use pixels to do screen space text inside PFont +X add a function in PGraphics for direct pixel image impl +X store the font name in the vlw font file (at the end) +o could include multiple names for multi platforms +X get text impl stuff working properly +o look into fixing the texture mapping to not squash fonts +o NEW_GRAPHICS totally smashes everything + +friday postgame +X implement createFont() +X with a .ttf does a create font internally (1.3+ only) +X although the images aren't populated +X until a P2D/P3D/OPENGL tries to draw them, which triggers it +X but if PGraphics2, just uses the built-in font +X also works for font names and just creating them +X if font name doesn't end with otf or ttf, then tries to create it +X change objectX/Y/Z to modelX/Y/Z +X PFont.list() to return string list of all the available fonts +X probably not a mode of use that we really want to encourage +X actually important because the whole graphicsdevice crap is silly +X and we need a 1.1 versus 1.3/1.4 version +X implement printarr() as println() ? +X actually deal with all the array types.. oy +X should nf() handle commas as well? +X just add a basic nfc() version for ints and floats +o yes, and add nf(int what) so that non-padded version works +o but don't put commas into the zero-padded version +o make nf/nfs/nfp not so weird +o nf(PLUS, ...) nf(PAD, ...) nfc(PLUS, ...) +X unhex was broken for numbers bigger than 2^31 + +saturday late afternoon +X fix bug with openStream() and upper/lowercase stuff +X do a better job of handling any kind of URLs in openStream() + +sunday morning +X incorporate simon's new lighting code + + 0082 core X make jdkVersion, jdkVersionName, platform, platformName variables X additional note about screen sizes and displays diff --git a/processing/core/todo.txt b/processing/core/todo.txt index 20cde7452..c6130732a 100644 --- a/processing/core/todo.txt +++ b/processing/core/todo.txt @@ -1,145 +1,4 @@ -0083 core -X fix double key events -X fix mrj.version security error on the pc -X set() fixes for PGraphics2 and setImpl inside PGraphics -X remove angleMode (also from PMatrix classes) -X remove/rename postSetup() stuff from PGraphics/PApplet -X camera(), perspective(), ortho() -X matrix set by the camera on each beginFrame -X push/pop are now pushMatrix/popMatrix -o get PGraphics.java engine working again - -lighting stuff -X make fill() cover ambient and diffuse -X provide separate call for ambient to shut it off -o why does diffuse just mirror fill()? -o seems to cover just diffuse, not ambient_and_diffuse like fill -o maybe fill() should set diffuse, and sep call to ambient() sets ambient? -X removed it -X move dot() to the bottom w/ the other math - -already done -X remove PMethods as actual class, use recordFrame(PGraphics) -X size(200, 200, "processing.illustrator.PGraphicsAI"); - -api questions -o image(String name) and textFont(String name) -o do we change to font(arial, 12) ? -X remove angleMode() ? -X be consistent about getXxx() methods -X just use the variable names.. don't do overkill on fillR et al -X or just what functions are actually made public -X is fillRi needed? it's pretty goofy.. -X how to handle full screen (opengl especially) or no screen (for scripts) - -tweaking up simong light code -o what's up with resetLights? -o add PLight object to avoid method overflow -o preApplyMatrix, invApplyMatrix? -o applyMatrixPre and applyMatrixIn -o rotateXInv is ugly.. -o irotateX?, papplyMatrix? - -wednesday evening -X expose api to launch files, folders, URLs -X use with/in place of link() -X call it open() -X what to call firstMouse -X implement rightMouse? -X yes, mouseButton = LEFT, CENTER, or RIGHT -X error when running on 1.1... -X You need to install Java 1.3 or later to view this content. -X Click here to visit java.com and install. -X make inverseCamera into cameraInv -X fix messages referring to depth() -X route all of them through a single function rather than current waste -X fix bezierVertex() in P3D for newer api - -wednesday late -X track loadImage() with filenames that are inconsistent -X really a problem with the ves61r kids -X i.e. mixed case filename in sketch is different in windows -X but when uploaded to a unix server causes a serious problem -X use canonicalPath to flag possible problems -X http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1096508877;start=5 -o fix shapes in P3D (line loop, polygons, etc) -o should we include a from and to for the directional light? -X no, cuz it doesn't do much really.. -X fromX-toX etc is all that's different - -thursday day -X set modelview to camera on endCamera -X add ortho() and perspective() to PGraphics.java - -thursday evening -o textMode(ALIGN_LEFT) etc, should make sure that left/center/right not used -X though since have to change to LEFT, should be easy to switch - -friday night -o should toInt('5') return the ascii or the char? -X since (int) '5' returns the ascii, that's what it does -X made a note in the PApplet reference - -text api -X textMode ALIGN_CENTER _LEFT _RIGHT -> CENTER, LEFT, RIGHT ? -X use built-in font if available? yes -o text() with \n is semi-broken -X does the font or PApplet control the size? (the font, ala java) -X without setting the font, SCREEN_SPACE comes out weird -o move SCREEN_SPACE into ScreenFont() class? -o probably not, casey thinks screen space text is prolly more useful -o that way can clear up some of the general confusion in the code -X textFont with a named font can use the renderer/os font -X illustrator api can get the ps name from the java font name -X since it's associated with the font file.. wee! -X for postscript, can grab the real font -o altho problem here is that really the fonts just need a name -o since needs to render to screen as well -o font has to be installed to get psname -X fine because why would you embed a ps font that you don't have? -o need to resolve SCREEN_SPACE vs OBJECT_SPACE -o can this be auto-detected with noDepth()? -o how does rotated text work? -o PFont.rotate(180) rotate(PI) -o or can this be detected from the matrix? -X don't use pixels to do screen space text inside PFont -X add a function in PGraphics for direct pixel image impl -X store the font name in the vlw font file (at the end) -o could include multiple names for multi platforms -X get text impl stuff working properly -o look into fixing the texture mapping to not squash fonts -o NEW_GRAPHICS totally smashes everything - -friday postgame -X implement createFont() -X with a .ttf does a create font internally (1.3+ only) -X although the images aren't populated -X until a P2D/P3D/OPENGL tries to draw them, which triggers it -X but if PGraphics2, just uses the built-in font -X also works for font names and just creating them -X if font name doesn't end with otf or ttf, then tries to create it -X change objectX/Y/Z to modelX/Y/Z -X PFont.list() to return string list of all the available fonts -X probably not a mode of use that we really want to encourage -X actually important because the whole graphicsdevice crap is silly -X and we need a 1.1 versus 1.3/1.4 version -X implement printarr() as println() ? -X actually deal with all the array types.. oy -X should nf() handle commas as well? -X just add a basic nfc() version for ints and floats -o yes, and add nf(int what) so that non-padded version works -o but don't put commas into the zero-padded version -o make nf/nfs/nfp not so weird -o nf(PLUS, ...) nf(PAD, ...) nfc(PLUS, ...) -X unhex was broken for numbers bigger than 2^31 - -saturday late afternoon -X fix bug with openStream() and upper/lowercase stuff -X do a better job of handling any kind of URLs in openStream() - -sunday morning -X incorporate simon's new lighting code - +0084 core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . diff --git a/processing/done.txt b/processing/done.txt index 33b8f8a9a..8aedeaca0 100644 --- a/processing/done.txt +++ b/processing/done.txt @@ -1,3 +1,77 @@ +0083 pde +X move everything to packages, and start auto-javadoc +X how to get preproc to automatically prepend packages +o only build preproc from preproc/make.sh? +o and check in the preproc'd code to cvs? +X need to add classes dir to cp for jikes make (on win and linux) +X get both versions of size() properly detected on export +X get latest sonia from amit +X remove particles from current processing +X move netscape library out of libs and into build/shared +X add serial.stop() just like client/server +X border weirdness in PdeEditor panels on windows (fixed in 82) +o fix macos readme about how to boost memory size, and 1.3 vs 1.4 +X actually, this was already in there +o add prompt() method to serial + +camera +o setting the camera should be an index from list() +o there might be multiple cameras with the same name +X no can do, the function takes a String for the device name +o list() should return full list with all sub-components +X find the example code from the board +X grabbing sub-devices from camera in the lib (via list() or whatever) +o actually, need to use numbered indices (multiple w/ same name) +o list should be: "0 - Logitech QuickCam (Blah)" +o and then use the indices (or the str i guess) to choose +X format(NTSC) or PAL or SECAM +X source(COMPOSITE) or SVIDEO or COMPONENT +X settings() brings up settings dialog +o add prompt() method to Camera ("" means default, null is prompt) +o let them pass in prompt(), not use null +o null is only bringing up settings dialog, that's wrong + +saturday afternoon +X move packaging around +X remove PdeXxx prefixes on names, make PdeBase into just "Processing" +X update .exe to use new class/package +X update .app to use new class/package +X setup linux box and build a linux version +X need to fix up the make/dist scripts for linux +X update runner script for the new package +X fix linux bugs with placement +X lots of dist script tweaking and messing with jikes libs +o should loadPixels be grabPixels? (nope) + +saturday evening +X update processing/build/howto.txt +X add 'make' to list of things that should be installed +X update libraries/howto.txt +o should we queue lib events until the end of loop? +X nope, libraries can handle that themselves, +X and queue events by registering for draw or whatever they'd like +X lib could call queueEvent with the args +X then call them inside post() + +saturday evening and sunday morning +X scrubbing all the code to include proper license and copyright info + +sunday afternoon +X update checker (can be turned off in prefs) +X send unique id, and information about person's java vm/platform +o using timezone would be an interesting method for tracking location + +sunday evening +X fix up dist scripts for new faq stuff, cleaning out some old crap +X consolidate readme.txt, bugs.txt, info.html (faq) +X document things that will be broken for beta +X opengl set() functions.. though get() probably ok +X stop button with external apps +X java 1.1 support +X code is larger than we'd like, has increased in size +X working to remove and optimize, also make possible to remove un-needed + + 0082 pde X shut off text anti-aliasing in the about box X implemented ryan alexander's grow box design diff --git a/processing/todo.txt b/processing/todo.txt index 94caade10..33116acf1 100644 --- a/processing/todo.txt +++ b/processing/todo.txt @@ -1,79 +1,7 @@ -0083 pde -X move everything to packages, and start auto-javadoc -X how to get preproc to automatically prepend packages -o only build preproc from preproc/make.sh? -o and check in the preproc'd code to cvs? -X need to add classes dir to cp for jikes make (on win and linux) -X get both versions of size() properly detected on export -X get latest sonia from amit -X remove particles from current processing -X move netscape library out of libs and into build/shared -X add serial.stop() just like client/server -X border weirdness in PdeEditor panels on windows (fixed in 82) -o fix macos readme about how to boost memory size, and 1.3 vs 1.4 -X actually, this was already in there -o add prompt() method to serial - -camera -o setting the camera should be an index from list() -o there might be multiple cameras with the same name -X no can do, the function takes a String for the device name -o list() should return full list with all sub-components -X find the example code from the board -X grabbing sub-devices from camera in the lib (via list() or whatever) -o actually, need to use numbered indices (multiple w/ same name) -o list should be: "0 - Logitech QuickCam (Blah)" -o and then use the indices (or the str i guess) to choose -X format(NTSC) or PAL or SECAM -X source(COMPOSITE) or SVIDEO or COMPONENT -X settings() brings up settings dialog -o add prompt() method to Camera ("" means default, null is prompt) -o let them pass in prompt(), not use null -o null is only bringing up settings dialog, that's wrong - -saturday afternoon -X move packaging around -X remove PdeXxx prefixes on names, make PdeBase into just "Processing" -X update .exe to use new class/package -X update .app to use new class/package -X setup linux box and build a linux version -X need to fix up the make/dist scripts for linux -X update runner script for the new package -X fix linux bugs with placement -X lots of dist script tweaking and messing with jikes libs -o should loadPixels be grabPixels? (nope) - -saturday evening -X update processing/build/howto.txt -X add 'make' to list of things that should be installed -X update libraries/howto.txt -o should we queue lib events until the end of loop? -X nope, libraries can handle that themselves, -X and queue events by registering for draw or whatever they'd like -X lib could call queueEvent with the args -X then call them inside post() - -saturday evening and sunday morning -X scrubbing all the code to include proper license and copyright info - -sunday afternoon -X update checker (can be turned off in prefs) -X send unique id, and information about person's java vm/platform -o using timezone would be an interesting method for tracking location - -sunday evening -X fix up dist scripts for new faq stuff, cleaning out some old crap -X consolidate readme.txt, bugs.txt, info.html (faq) -X document things that will be broken for beta -X opengl set() functions.. though get() probably ok -X stop button with external apps -X java 1.1 support -X code is larger than we'd like, has increased in size -X working to remove and optimize, also make possible to remove un-needed - - -. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - +0084 pde +X can't edit prefs while processing is open, remove the link +X add run.options for things run externally +X load options via vector because they need to be split up pending _ rename video.Camera to video.Video ? @@ -83,10 +11,14 @@ _ new bboard? archive the old one, remove bugs sections _ environment reference _ list of changes since rev 69? run through revisions.txt +_ check for updates should happen only daily or weekly + _ setup bugzilla and enter all the bugs _ create font is somewhat broken +_ memory on external apps is a little broken + // SAVE AS BUGS