Files
processing4/processing/todo.txt

921 lines
35 KiB
Plaintext

0046
X install new swing-based textarea with syntax highlighting
X improve the flicker problems (re-enable backing store?)
X set better defaults for coloring
X implement edit menu
X implement undo/redo
X re-implement sketchModified
X these boxes overlap but shouldn't:
X may be simple <= instead of <, leftover from dbn
int thick = 36;
size(200, 200);
background(0);
noStroke();
fill(153, 163, 0.0);
rect(80, 0, thick, height/2);
fill(102, 112, 0.0);
rect(100, height/2, thick, height/2);
X re-implement sketchModified yet again (using keylistener)
X set font on textarea in case things break
X need examples to work for submenus (casey's got too many)
X why is javax.comm included a zillion times in exported .java file?
X fix issues with new swing-based text area
X auto indent on next line no longer works
X tabs no longer convert to 2 spaces
o balance parens is no longer available
X problem with axel's strings example [might be related to long lines]
X freezing problem, compiler was crashing and spewing bad message
X move build directory to root in cvs (on server)
X and update scripts accordingly
X should java 1.3 classes be included in the imports
X but not for exported applets? (might create some confusion)
X included java audio classes for 1.3
X included xml classes for 1.4
X pmouseX should be set at the end of loop(), not on mouse movement
X allow 3d curves
X curveVertex and bezierVertex that take 3 args
X 3d versions of bezier() and curve()
X preprocessor tweaks
X "http://acg.media.mit.edu" doesn't work because of //
X "color.jpg" -> "int.jpg" causes trouble
X why does this line cause an error?
// String url = "http:\u002f\u002fwww.Proce55ing.net";
X it's not in the preprocessor, but kopi seems to be having trouble
X seems that file i/o may be picking up lots of extra \r
X perhaps when doing setText, it's goobering things up
X when renaming a sketch, select the text in the field,
X so you can type the new name immediately.
X added 'rename' command
X also the default for clicking on the sketch's title
o option to rename when doing a 'save as' (remove old files)
X remove .class files on save as [dimitre]
X remove .jar, .class, and .java files from the 'applet' dir
When I am working in a project and I save it with another name,
all the old files are copyied to new directory, and some of the old
unused .class files and images remains inside new project JAR files.
X serial port
X better message for PortInUseException (full explanation)
X better message for when serial port code not available/not installed
X set frame title of launched window to the name of the sketch
X fixed history bug where first history made would crash
X this was previous unknown, but likely several found it (!)
X macosx - check to see if swing is working properly
X macosx - update build script to work with new layout
X Add an Edit menu containing Undo/Redo/Cut/Copy/Paste/Select
All. It's standard Mac behaviour.
X long list from frederik (fdb)
X If the cursor is at the last character of the last line of the
text area, moving the cursor up or down using the arrow keys throws
the following exception:
java.lang.ArrayIndexOutOfBoundsException
at PdeEditorListener.keyPressed(PdeEditorListener.java:86)
at java.awt.Component.processKeyEvent(Component.java:3673)
X If the cursor is at the last character of the first line of the text
area, moving the cursor up using the arrow keys throws the same
exception. However, moving the cursor down doesn't throw one.
X Double-clicking a word doesn't select it, but the character after
it. (however, sometimes the behaviour is correct)
X Scrolling action when using cursor keys is not consistent with other
editors: The window should only scroll when it needs to; it now tries
to keep the cursor on the current line. (or one line below it)
X Using Apple-shift-arrowLeft to select from the cursor pos to the
beginning of the line, selects one character too little at the right
side. Apple-shift-arrowRight has the same issue (selects one char too
little at the left side).
X Using Apple-shift-arrowDown selects only from the beginning of this
line to the end of the following line. It doesn't extend the
selection when pressed twice. It also selects the line under the
current line.
X Pressing the tab key moves to the bottom of the text area.
X hopefully fixed, but needs to be tested
? Select All (Apple-A) closes the application
(Ctrl-Q) on Azerty-keyboards
X use date in the sketch name sketch_021104
X with a _2 if needed or '021104a' '021104b' etc
X when using save as, allow to remove the old (numbered) sketch
X better default size than 300x300 when starting up first time
X bug report from the site
resizing the editor window in Mac OS X leaves the status bar in
place. The result is an editor window with a grey bar layered on top,
obscuring the editable text.
X fix default fonts, font size on mac
X fix lots of annoying crap about highlighting lines on errors
X re-enable console, add synchronized (hrmph)
X added extra code for testing to for serial under osx
X also suppressed error text in console for exception-less fail
X couldn't quit p5 when installed into a dir with spaces
X properties were saved to a urlencoded place, %20 was causing trouble
X update dist script for new layout
X put mac rxtx inside the p5 folder (hide it?)
X include more strongly worded message about rxtx
X macos9: update build/dist scripts to work with new layout
X macos9: add swing.jar to dist (?)
X linux: update build and dist scripts for new layout
X linux: generate new rev
LATER RELEASES
bagel
_ images don't load during setup()
_ make bagel usable on its own as a drawing surface
_ needs to be used as a component, without applet
_ but retain functionality, ie. image i/o
_ finish fill mode of flat circle function
_ make into oval function
_ font smoothing (unless hint SMOOTH_IMAGES enabled) is broken
pde
_ lots of problems with the console
_ [maybe this needs to be a textarea?]
_ long lines seem to be trouble
_ also printing of objects, esp when null, in jdk 14
_ exception when trying to write to stdout
_ color not set for default text area with empty text
_ color not set on 'new', setForeground won't do it
_ probably reasonably simple fix, but not in time
_ support 'classes' folder, through the use of a classloader
_ could also be done by launching external java app
_ all .jar files etc are added from this folder automatically
_ split KjcEngine into three parts
_ how to communicate with other applet/jre when it's been launched
_ preprocessor problems -> switch to java cup (one day's work)
_ subst Image -> BImage, Font -> BFont
_ line endings joy
_ is setText goobering up on beautify?
_ how are line endings working during save?
_ get syntax coloring debugged?
_ talk to casey about better default colors
_ scroll to beginning after setText()
_ undo/redo
_ should enable/disable as available
_ undo-ing too much will empty the text area
_ the setText is an undoable thing. grr.
windows
_ need splash screen, startup takes a long time
_ windows 95/98/ME seems to be broken
_ ME seems to be very broken
_ lockup/freezes (mKoser and zeitgeist)
_ jre icon not appearing in the systray
macosx
_ Event.consume() doesn't work on entry fields
_ manifests itself in sketch naming, can't be constrained
_ escape key not quitting presentation mode
_ no events seem to be coming through at all
macos9
_ check to see if swing is working properly
_ get new release out, remove 1.3 specific stuff from textpane
linux
_ look for jdk 1.4 to use instead of 1.3
_ make sure javacomm gets in there
_ test it a little more to make sure it works (cygwin x sucks)
FURTHER AHEAD
_ 'image' is too generic a variable to have inside BApplet
_ check for others that shouldn't be used (pixels? width? height?)
_ or have a way to syntax color them
_ put processing/bagel into sourceforge cvs
_ probably after kjc/engine stuff restructured
_ bring cbagel up to par
_ modify cbagel for opie
_ would be interesting to build pre-processor for java p5
_ but that converts into cpp version of bagel apps.. mmm
_ update cbagel to current bagel status
_ add update() style application (called once at start, then only when queued)
_ still a threaded app? just doesn't update inside loop
_ get gcc tied into processing
_ java disassembly inside p5
_ and assmebling it back again
_ locking up on run (under win2k? others?)
_ rare but present, every 100th time or so
SUGGESTIONS
_ make versions available w/o fonts and jre
_ lock feature for present mode (part of export to application?)
_ error messages with link to what's wrong
_ moving sketchbook folder for lab environments
_ lots of ui ideas from adrien in the bboard
_ can't copy text from console directly
o make note in readme about stderr.txt and stdout.txt
_ Rename the button options to verbs, e.g. instead of "Do you want to
save? yes/no", change it to "Document Has been modified -- Save
changes? Save/Cancel/Don't Save". Look at Aqua Human Interface
guidelines (http://developer.apple.com/ue/switch/windows.html, tip 9)
OTHER NOTES
_ method of collapsing history for useful versions
_ archive associated files as well.. data/etc
text editor - color coding is the big issue
ceil/floor
perlin
strokeWidth - too buggy to document currently
copyArea, copyImage
update/noUpdate
instead use void update() as a function like loop and draw
third kind of applet for interactive apps that have to be queried
clear/noClear
just use background, and make people fill a rect if they need a bg with
noBackground()
use syntax coloring to highlight BApplet's class variables and functions
possible dist() and constrain() functions
lights - not much happening
camera - wait for someone to implement
fonts - api should be improved as part of additions and rewrite
does a[3] == Float.NaN work?
//FILE
New Open (works like standard open for most programs and pops up window)
Open Recent
Save
Save as
Export
-----
Proce55ing.net
Reference
-----
Quit
//CONTROL (this is the terminology of Flash for these items)
Run
Present
Stop
-----
Step Forward (farway future)
Step Backware (faraway future)
//CODE or Program
History
Clear History
Beautify
Use External Editor
-----
Serial Port
//SKETCHES or SKETCHBOOK
(Default items in a list)
Examples >
The "open" button on the toolbar then becomes an "open sketch" button and it acts just as is
currently does.
there could also be a menu:
ENVIRONMENT
Serial Port
Use External Editor
////////////////////////////////////////////////////////////////////
LANGUAGE
foreach String line (lines)
foreach (String line = lines)
foreach (String line, lines)
foreach (String line) of lines
..would translate to..
for (int i = 0; i < lines.length; i++) {
String line = lines[i];
}
for (int i = 0..10) or for (int i, 0..10)
foreach (int i) of 0..10
for (int i = start..stop)
..translating to..
for (int i = 0; i < 10; i++)
for (int i = start; i < stop; i++)
emit(arrayImageX) or printvar? or vprint?
..would translate to..
println("arrayImageX = " + arrayImageX);
emit(arrayImageX, arrayImageY)
..would translate to..
println("arrayImageX, arrayImageY = " + arrayImageX + ", " + arrayImageY)
BAGEL / high
b _ better access to projX et al
b _ what's a better name? calcX? or write to an array?
b _ projectX, projectY, .. or projectedX ?
b _ images drawn from center don't work for simage()
b _ currently calling slower image routine
BAGEL / high & time consuming
b _ color won't set for fonts
b _ alpha
b _ concave/complex polygon shtuff
b _ eventually POLYGON auto-detects convex/concave polygon
b _ also add POLYGON_CONVEX and POLYGON_CONCAVE
b _ implement clipping planes and clipping of objects
b _ clipping [may be needed for current genome browser project]
b _ box is not opaque
b X problem is that lines are drawn second
b X one pixel lines have no z value.. argh
b translate(58, 48, 0);
b rotateY(0.5);
b box(40);
BAGEL / medium
b _ setting stroke width on circle makes odd patterns
b _ area copying functions
b _ copyPixel(x, y, to_x, to_y)
b _ copyArea(x, y, w, h, to_x, to_y)
b _ copyImage(x, y, w, h, to_x, to_y)
b _ bresenham (flat) oval function
b _ NullPointerException apparently when things way offscreen
b _ i.e. glyphrot with scale set to 4
b _ or at least that things get ridiculously slow
b _ clipping issues here.. but also something in scan converter
b _ not clipping areas from offscreen
b _ huge geometry slows things way down
b _ adaptive sizing of circle segmenting based on rendered size
b _ make size() available throughout
b _ stroked version of sphere is just a circle
b _ noClear -- implement with noBackground
b _ need to set bg color even if updated
b _ update/noUpdate() could also be done to force explicit updates only
b _ for ui-type applications that don't need to continually redraw
b _ keypressed is not persistent
b _ key repeat in os vs. how java handles it
b _ search java faq for info about getting around it
BAGEL / medium & time consuming
b _ anti-aliasing
b _ rewrite line and stroke code, it's a buggy mess
b _ lines become 2 pixels thick after a 3D transform
b _ better handling of single-pixel special case
b _ box is not filling properly
b _ problem is using single pixel, flat line with no z
b _ illustrator exporting
b _ version of Illustrator.java that uses bagel api
b _ sorting of polygons/lines on simple painters algorithm
b _ better lighting model to show darkness at various depths
b _ maybe just ultra-high res bitmaps from gl
b _ version of ProcessingApplet that replaces g. with ai. or pdf.
b _ picking
b _ ability to write data other than image into the buffer
b _ user can introduce new kinds of buffers at will (!)
b _ lists of names of objects, or the 'line number' buffer
b _ but how to determine *where* on object the hit occurs?
b _ draw mode issues.. size and background must be int/float constants
b _ might be a better 'mode' for bagel so bkg and size cmds work
b _ rather than app being enclosed in beginFrame/endFrame loop
BAGEL / lower
_ support for moving the camera around
_ try using jgl inside processing
_ illustrator, postscript or pdf export?
_ export to static flash-based graphics
_ function to evaluate bezier or catmullrom points
_ used heavily in genome valence
_ curveMode to tweak the s parameter of catmullrom
_ why is every other pixel missing from mouse events?
_ fixed fonts are screwed, should only work at screen resolution
_ getStream for the filename doesn't work for directories
_ getfont("fonts/blah.fbf") refers to blah.raw, but that
_ also needs to be searched for in the fonts/ dir..
_ fast(er?) version of bagel that just uses java graphics
_ but leaves out many features
_ line endcaps and line joins
_ move math functions into utility library associated
_ with bagel, because those will be useful on other bagel platforms
_ pApplet will call BagelMath.whatever, so still looks like cos()
_ build in second matrix type: 2d affine
_ make sure line() commands don't try to have a fill
_ write code for reading uncompressed b/w tiff images
_ incorporate for fixed width fonts
_ setting accuracy of circles/sphere
_ setting accuracy of curve segments
_ write shearing function
_ optimize rotation functions
_ test winding polygons in different directions
_ test lighting to see how it compares with gl
_ non-homogenous colors for beginShape()
_ currently disabled b/c homogenousColors not set false for vertices
_ and code not written for curve vertices
_ better lockout inside beginShape() to keep other things from happening
_ when stroke in use, stroke letters (currently stroke doesn't affect
_ try with 1.4 frame buffer stuff to see if it's faster
_ will 1.4 work on osx?
_ way to screen grab at higher resolution
_ method for rendering at higher res and then scaling down
_ (even if this causes signficant performance hit)
_ look at glut for other needed shapes
_ setting a fill color when drawing an image should affect the image
_ or maybe image.setColor or setTone to mix a specific color in
_ live video editing, wanting things more procedural
(C)BAGEL WORK
_ color() has a different meaning
_ formerly a normalized 0..1 float to a packed rgb int
_ now it's a color according to current standards
_ float_color is a private version of the previous color()
_ curve was broken (cvertexIndex being reset)
_ curve() now doubles start/end points to be more logical
_ (fits all four points by drawing six points)
_ try screengrab using malloc and/or gobs of extra memory
_ debug the version inside bagel b/c it's simpler
_ bagel needs to be able to resize itself
_ also to address screen as if it's another size
_ is that simply a matter of changing the viewport?
_ letterboxing as appropriate
_ build windows app for testing bagel c++ ... -lgdi32 for cygwin
_ updates from p5 api changes
_ triangle() 6 parameters
_ quad() 8 parameters
_ rect/rectMode again
_ new color solution
_ color() -> uses colorMode
_ red/green/blue() hue/saturation/value() functions
_ getPixel/setPixel
_ swap in 'color' as an int
_ color c = #67aa78
_ keyDown(), mouseDown(), lastMouseX, lastMouseY
_ degrees(), radians()
_ fill, background, stroke all with int version for packed rgb
_ why won't glut shut up about modifiers?
_ add millis() to bappletgl that returns glut millis
_ BGL_PATH should turn paths into os9 ready paths for os9
_ or whatever else for the other platforms
_ macos9: font = loadFont(":fonts:Univers55.vlw");
_ or could use a "File" style object
_ or do all path conversions internally:
_ loadFont, loadImage.. already do gz decoding
_ makingmovie/screengrab should be moved into bapplet,
_ along with the stuff for making an ai screen grab
_ mouseX/lastMouseX should be handled automatically
_ mousePressed() function may not need vars passed in
_ or maybe the only vars are alt/left-right/ctrl/shift
_ maybe mouseevent is passed in, but not used in the
_ function unless people want advanced features
_ mouseX/mouseY/lastMouseX/lastMouseY all set by parent class
_ lastKey and lastKeyCode -- not as useful as the mouse stuff
////////////////////////////////////////////////////////////////////
PDE / high
a _ text editor? jedit's textarea class? hmm? hmm?
b _ for 'java' mode, try run using external vm
b _ would need to get error output stream from app.. argh
b _ only allow under win/osx/linux
b _ not clear how to kill the process.. does that work w/ 1.3?
b _ class unloading not happening in java mode
b _ need to add randomizer to even non-self gen'd classes
b _ or figure out how to unload old classes.. grr
b _ lockup when something missing from classpath on dynamic load
b _ but makes no error.. peditorconsole probably swallowing it
b _ change writeJava/start functions to be combined in kjc
b _ but the rest inside PdeEditor that takes care of launching/placing
b _ online signup cgi for people to add themselves to the list
b _ see about setting up simple bug tracker/feature system
b _ queue for people reporting things externally
b _ bugzilla but simpler
b _ would also be nice for people to be able to vote on features
b _ save serial port on close
b _ probably should doClose() on new/open instead of doStop()
PDE / medium
b _ 'save as' from examples puts into examples dir.. :(
b _ option to delete current project (trickier)
b _ also needs to have method for verify.. blech
b _ beautify is broken
b _ sketch: sketch-000 is dumb
b _ check logs to see where we're getting traffic from
b _ event to explorer to open 'parts' directory of project
b _ option to toggle console on/off (not just in properties, but realtime)
b _ work on editor buttons
b _ play button not really working
b _ never un-highlights, especially with exceptions
b _ also when using draw() instead of loop()
b _ applet needs to notify runner that it has terminated
b _ make PdeEditorButtons wait until mouseup to change
b _ (currently doesn't feel as good as it could)
b _ look into using serialporteventlistener for simpleserial
b _ may help with problems due to threading/synchronizing
b _ licensing issues with kjc (before public release)
b _ font usage/substition solution
b _ write code to bind/convert java fonts
b _ best would be freetype or jdk 1.3/1.4
b _ java freetype? jni freetype to build texmap fonts?
b _ look at flash file format? (does it have kerning?)
b _ example: multi-user server app (shared whiteboard)
b _ example: basic network app
b _ file i/o utility classes
b _ read as set of lines, read as cells in grid, read num sequence
b _ then methods for writing all of the same
b _ exceptions in draw() apps aren't caught
b _ the program resize(200, 200); just does nothing (doesn't complain)
b _ menu option to change username/login
b _ if new user, offer to rename 'default' if it contains things
b _ user name is changed by clicking and typing
b _ after user hits 'enter', checks to see if user exists
b _ if not, pops up message asking if they want to change
b _ message goes in same spot as error/status label (turns yellow?)
b _ if user says 'no', then
b _ ability to export 'applications' (not just applets)
b _ application can still do serial (qt, other stuff?)
b _ applet runs in browser, though applet on cbagel is everything..
b _ include main class info for executable jar file with jdk > 1.2
b _ not difficult to do, just some tweaking once applet export works
b _ wrapper that invokes the applet using a copy of the jre
b _ main() method needs to set layout manager if jexegen is to be used
b _ (msft vm defaults to null layout manager)
b _ also make sure pack() is happening
b _ kjc is really frustrating about some of its error/warning msgs
b _ erroneous errors from kjc regarding 'var not inited'
b _ is there any way to disable this message?
b _ talk to simon about error streams and kjc
b _ better piping of output from kjc
b _ modify kjc to take a PrintWriter, instead of current hacks
b _ might be able to set default values for vars using perl5subst
b _ ability to include other code from sketchbook directory
b _ compile entire sketchbook on startup, check for new files on compile?
b _ Compiler.disable() message is weird and doesn't always work
b _ probably just remove it for now
b _ bug in paren balancing
b _ paren problems comes from overusing parens (too many closing)
b _ image[first[i], 0, 0) hitting last paren causes jump to top
cosmetic [lower priority]
b _ run button can be highlighted to show how long thread is alive
b _ the thread would be the one inside bapplet that keeps it going
b _ only copy data files into build when there are changes
b _ make sure the still relevant files aren't removed
b _ setLastModified on the files after copying (jdk13)
b _ editorbuttons: if nothing selected on popup, need to deselect
b _ editorbuttons: if export fails (compile error) need deselect
b _ may want to throw exceptions from bagel
b _ but catch them inside bapplet--as part of making things easier
pdebase cleanup [lower priority]
b _ remove 'encoding' crap from PdeBase
b _ only existed b/c of reading as bytes and not using jdk11 methods
b _ cleanup program/inline_program crap.. take out scheme stuff
b _ better readFile/loadImage inside PdeBase
b _ temp array should be resizable inside readFile
b _ might just use ByteArray streams
b _ use getresource for loading image
b _ remove Editor's frame instance, replace refs with PdeBase.frame
PDE / low
_ if 'void' left out before loop or setup, cryptic message about
_ 'constructor loop must be named Temporary_23498_2343'
_ add a better handler for this specific thing?
_ shouldn't do so much work (redrawing in loop) if waiting for input
_ mode for when no full animation taking place
_ otherwise machine is continually maxed out while app is running
_ quicktime exporter or image sequence export
_ fairly quick--just use code from dbn
_ stop() method in applet should stop kjc environment
_ should be able to call stop() to 'quit' an applet
_ run java code besides processing applets
_ if not processing applet, look for a main(), no main give an error
_ dbn2p5 converter.. ooh!
PDE / dist
b _ need document icons
b _ figure out about distributing source
b _ kjc is gnu, so source needs to be available
PDE / windows
b _ windows launcher/exe
b _ splash screen
b _ build from command line, using gcc
b _ file association for .pde files
PDE / macos
b _ handlers for basic events
b _ MRJAboutHandler (just show splash screen)
b _ image for 'about processing'
b _ MRJPrefsHandler (open pde.properties in a text editor)
b _ MRJQuitHandler (confirm quit, may need to be in another thread)
b _ MRJOpenApplicationHandler and MRJOpenDocumentHandler
b _ especially the open document fella
b _ under osx, app won't get doc unless app already launched
b _ dataInputStream, setUseCaches on the url to false
b _ URLConnection.setUseCaches(false)
b _ parent.obj.close() on the url
b _ set file type/creator for .pde files.. TEXTPde1
b _ also for .jar and .html for files on export
b _ not sure whether to enable this for osx or not..
PDE / macos9
b _ make sure editor window is front so that error line highlights
PDE / macosx
b _ splash screen
b _ remove 'quit' from file menu
PDE / linux
b _ splash screen
b _ test serial with ibm vm and all
PDE / features
_ might be nice to have some notion of plugins for pde
_ color picker or other things written by folks
_ add all .jar files in lib/plugins on startup
_ make some kind of internal color picker
_ could be a separate window that's always around if needed
_ regexps: http://javaregex.com/cgi-bin/pat/tutorial.asp
_ a better editor:
_ line numbers like bbedit
_ syntax coloring
_ emacs indents and key commands
_ http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/je/index.html
_ want emacs-style editor that's faster loading than emacs
_ tweak updater a little bit so it's more likely to work
_ use numbered versioning?
_ give updater feedback (progress dialog, error msg)
PDE / science fiction
_ toggle for showing a function name each time its hit
_ 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
_ 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
_ look into maxx programming
_ single or multi-file cvs, not based on directories
_ i.e. i want illustrator.java for a project
_ version # stored in .java file
_ if a new version is available, asks 'do you want to update?'
_ multi-file: quicksort + sortable
_ check out interface builder for interesting tidbits
DOCS / guide
X _ document imageMode, planeMode, ellipseMode
X _ 'rot' example not working in release 18
_ list of reserved keywords
_ make note of functions/variables used by ProcessingApplet
_ using them in your app will break things (i.e. init())
_ explain using inner classes and using non-public classes
_ start 'errors' section
_ NullPointerException inside setup usually means no size()
_ ability to write functions and inner classes
_ mention ability to use import statements in java mode
_ ability to do real (but not public) classes in same document
X _ make note in documentation about getting access to pixel array
X _ pixels[] is in ProcessingApplet
_ check to see if get/set functions in applet actually work
_ fix documentation appropriately
_ image formats supported (gif and jpeg)
_ if image doesn't load, just prints an error on console
_ notes about running on win98 and that stupid startup exception
_ make note in documentation about convex polygons
DOCS / technotes
_ bug in sun vm for freaking out
_ also happened with ibm vm.. grr.. (or was it a path problem?)
_ fixed width font format as technote and how to use
_ using runtime.exec to run .ai files
_ code to automatically open generated .ai files (exec(..ai))
_ debugging serial code
_ hyperterminal - watching for binary garbage vs ascii text
_ first debug (maybe even using ascii) and watch in hyperterminal
_ or ship pooterm along with processing
_ flicker - often ascii instead of binary
_ timing of sleep, size of message, timing of write
_ starting processing first, then stamp
_ using transformPoint
_ using curves
_ making things faster
_ memory running out, using ms and mx
_ noBackground() if you're covering everything
_ converting to/from ascii/decimal/hex/binary
DOCS / reference
_ adding lights
_ control of position/color of default lights
_ controlling camera movements
_ mcguffin sent some notes about this
_ multmatrix/identity
_ constants besides PI, TWO_PI
_ min/max with 3 parameters
_ if (a) ? 3 : 4
_ formatting printf-style things
_ audio input
_ audio synthesis
X _ just saying 'millis' in processingapplet, instead of getMillis()
_ keyPressed, keyReleased, mousePressed, mouseReleased
MISC / building
_ build a linux/x86 release
_ write converter for java bagel -> cpp version
_ include #ifdefs for c stuff
_ fix buzz.pl to not create ../../bagel
_ how to use ssh identity file to maintain auth for brancusi
_ write dist.bat for releases
_ don't forget to update 'export' dir with processing releases
_ write code for automatic macintosh releases
MISC / code tidbits for scrapbook
_ 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
_ quicksort should probably just be made into 'sort' class
_ it's the only one ever used
_ stringutils.split is a useful one
_ readFileLines et al
_ translateMiddle() ? to move to the middle of the screen?
_ perlin noise function
_ read table/csv formatted data into a matrix
_ pseudo-database format version of this that stores indexes to file
_ rather than loading the whole thing at once
BXSocket, BXServerSocket
BXNetwork
BXSerial
> - playback of samples :
> - methods: startSound (loop_num, start_ms, end_ms) , stopSound(),
> volume() , pan()
> - properties: duration
> - formats: wav ( mp3 would be nice for compression )
> - events: onSoundEnd(), onSoundLoop()
>
> - synthesis (generating waves, filtering waves) would be wonderful to have
> as well, but i think that samples should come first.
BXSound, BXSampler or BXAudio
play aiff or mp3 sound with a single command
play buffer of samples with a single command
full class allows play/pause/more advanced loading
BXMovieInput/Output or BXVideo or BXQuickTimeOutput/Input
BXMovie and BXCamera?
BXImageIO, BXTiffImage
BXDataFile (csv or tab separated data)
BXDataMatrix
BXDatabase, BXDatabaseCache (keeps queries to fill out table)
MISC / things that break often/things to test
_ handling of key events (both as applet and in application)
_ per-vertex coloring for different kinds of shapes
_ that each shape type works as expected
_ what if one short or one too many vertices?
_ transforms are affecting geometry
_ i.e. are line and point working in 3D?
_ why did i think that z was backwards from gl?
things noticed while casey watched him using the software
X _ if no 0 before decimal place in a number it breaks
X _ display window should have separate close box
X _ save window positions on closing (due to crashing)
X _ title of the file should be shown
X _ needs to be a menubar
_ text editor is quite bad (hiding cursor thing)
biggest problems from french workshop
_ syntax more difficult than expected: semicolons and braces
_ part is translation issue--wasn't a quick fix
_ curly braces weren't on the keyboard
_ encouraging people to indent their code for clarity
_ slow to understand 'blocks'
_ translation issue but could be aided by visual cues in editor
_ might be better to use braces on separate lines to reinforce
_ couldn't enforce people working on specific exercises
_ too many cubes.. people playing with 3d before understanding it
_ would be nice to have examples for all concepts on site
_ or in a small printed book that serves as a reference
_ courseware not complete--difficult to collect assignments
questions to resolve
X _ is it necessary to have fullscreen option on toolbar anymore?
_ what's better than POLYGON_CONVEX and POLYGON_CONCAVE?
_ should we use jdk 1.3 or msft vm?
teaching 3D
_ expectation for 3D objects is that they begin in the center
_ rather than a translate(W/2, H/2) then draw rotating cube
JAVA BUGS
_ cursor disappears in textarea and doesn't reappear until re-entry
_ windows: jre 1.3.1_03 through 1.4.0_01
UNSORTED
_ make processing useful/usable
_ start working on writing pdf files
_ loading images/files from same dir as .pde file
_ option to use jikes
_ use external editor or write a usable one
_ write simple class for lcd panel
_ build adapter to plug directly into db9 serial port
_ figure out characters used on screen by default (check web)
_ make unicode converter from unicode char -> lcd screen bytes
_ hook up lcd screen to power/serial port to test
_ code to reprogram lcd screen
_ look through rabbit api
_ look into integration of cmd line compiler
_ check out flash for its text editor
_ write function to swap different names for Proce55ing
_ use for window title
_ simple app that does swapping of letters as an animation
dammit we need a text editor.
gonna get sick of people bitching about it.
also an interesting possibility (for tech-minded only)
use terminal emulator, and run iostream from process
use pooterm stuff for the emulation window
key commands would conflict
but could use emacs under osx, linux
use nano (maybe emacs?) under windows
and nothing for macos9
BUILDING P5
-> where to install jikes, jre, others?
jre may need to be back in cvs, but annoying for dist
because of all the CVS directories that it makes
cvs co processing
cd processing
cvs update -P
# optional, if you're only doing java dev
rm -rf web
need to have rt.jar from jdk 1.1 and comm.jar in the CLASSPATH
to build bagel.. just gotta be that way, it's too messy otherwise
need cygwin: zip, unzip, perl
little guys: rm, cp, mv, tcsh
build jikes for cygwin, use version 1.14, later than that has bugs
./configure, make, make install
add $cygwin/usr/local/bin to path
dist directories contain only the files specific to that platform
(those are the ones checked into cvs)
when dist.sh is run:
1) a copy of the dist dir is created, renamed 'processing-nnnn'
2) the remaining files are added (buttons.gif, pde.properties)
3) files are lf converted (i.e. notes.txt)
_ comm.jar now needs to be in CLASSPATH for build environment
_ macos may be superior platform for building
_ retain unix file permissions for linux
_ resource fork goodness for the mac
_ hhmmm
_ for jgl version of bagel, jgl.jar needs to be in classpath