mirror of
https://github.com/processing/processing4.git
synced 2026-02-04 22:29:18 +01:00
921 lines
35 KiB
Plaintext
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
|
|
|