Files
processing4/processing/todo.txt
2004-07-17 05:55:40 +00:00

521 lines
24 KiB
Plaintext

0070 pde
X run java mode when large 'data' folder is in use
X http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081542378
X fixed one bug in PdeRuntime error message stuff
X was this the big one? a big one?
040715 late
X threading issues resolved
X fixed bug with errors not coming through
X fixed bug with errors not being recognized amonst exceptions
X fixed bug with draw mode apps, they now run inside setup
X width/height wasn't getting set during setup(), so window bad
X moving p5 prefs on mac into documents? or inside sketchbook?
X Documents -> Processing -> preferences.txt
X do the same for windows, with sketchbook as a subfolder
040716 evening
o don't exit p5 if platform is unknown
o "save as" needs to update the editorheader
X couldn't replicate this
X MAJOR: make .pde files embed themselves into the main class
o readUntil() should do the proper thing if the data is not available
o i.e. either return null, or block until it's available? -> ret null
X "paste" isn't setting the "modified" bit for PdeEditor
X i.e. cut -> new file -> paste doesn't mark any as changed
X "include all chars" and all the bugs it represents
X working on datatype conversions
_ System.out isn't being heard from P* classes
_ errors inside those classes also causing weirdness
_ processing.net -> PClient, PServer
_ "add library" menu item and submenu
_ iterate through the 'library' folders
_ dll and jnilib files have to be in the p5 folder (confirmed by amit)
_ there should be other places that they work..
_ could even copy the dll to the p5 folder from the code folder
_ libraries: static and non-static init for libs
_ final stop() for static shutdown of lib
_ but also potential stop() for individual items
_ simong: request a preloop and postloop call for libraries
_ this would avoid having to patch BApplet
_ where do libraries for distribution go?
_ libraries subfolder of p5? or inside examples?
_ String in apache classes and java.lang
_ maybe ignore classes not inside the p5 libs dir?
_ need to be able to select between which to include
_ auto-resolve by saying java.* wins, others ask
_ get export working again
_ make multiple jar files thing work.. blech
_ include a note that 'applet' folder will get emptied/rewritten
_ or rename the old applet folder to something else? (nah, too many)
_ don't force everything into a single .jar on export
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1067360903;start=0
_ support for editor plugins
_ make beautify plugin ("autoformat"?)
_ make dynamically loaded plugins and "tools" menu
_ break out beautify as its own plugin
1 _ beautify
1 _ //for (int i = 0; i < 10; i++) {
1 _ } catch (IOException e) { }
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1086555381
1 _ need to ignore comments.. but not those inside quotes.. oog
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067309918;start=0
1 _ ignores colons for case statements
1 _ need to tie this to the parser instead
1 _ do a better job of maintaining cursor during beautify
1 _ only beautify a particular section of code
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1087227217
_ make "get quicktime libs" function
_ can java get the root directory for system/win32 etc?
_ processing.app -> PdeBase, PdeEditor..
_ api for file-based renderers
_ need to work this out since it will affect other api changes
_ size(0, 0) and then ai.size(10000, 20000)
_ saveFrame(PRenderer) or saveFrame("name", PRenderer)
_ text(String text, x, y, width, height) // based on rectMode
_ textMode() for align left, center, right (no justify.. har!)
_ implement new version of history
_ make history folder, and a zip (not gz) file for each entry
_ history causing trouble - super slow with a huge sketch
_ could instead be gzipped and appended to history.dat
_ along with another file that is actually a table of offsets
_ no need to make the thing a gzip stream
_ checkbox on menu for 'record history' ?
_ history converter option?
_ only first 20 entries visible?
_ zlib file becoming corrupt (not flushed after close?)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1080346981;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1088333655;start=0
_ shortcut to walk through history, ala photoshop (ctrl-alt-z)
_ write a threading example
_ or handle this some more intelligent way, super.stop() is needed.
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1083574943
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1067383998
README
_ cut out some of the chatter
_ processing won't start..
_ people with non-ascii chars in the folder name
_ at least try to catch this?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1062794781;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067764732
_ or with spaces in the folder name, causes problems for serial
_ quicktime full uninstall/reinstall
_ installing winvdig
_ code folder problems - antivirus or firewall
_ update readme with notes from bboard about "built with processing"
......................................................................
really nasty bugs (fix in 0070 if possible)
_ threading issues on casey's laptop
_ odd error in System.err stream coming from running external
_ dies after a while or goes weird
_ make sure exceptions with .class work
_ openStream returning 'null' really horked up the letters applet
_ no System.out was coming through
_ System.err was getting cut off before finishing
0071 or later
_ write export-to-application
_ lock feature for present mode (part of export to application?)
_ application can still do serial (qt, other stuff?)
_ applet runs in browser, though applet on cbagel is everything..
_ include main class info for executable jar file with jdk > 1.2
_ not difficult to do, just some tweaking once applet export works
_ wrapper that invokes the applet using a copy of the jre
_ main() method needs to set layout manager if jexegen is to be used
_ (msft vm defaults to null layout manager)
_ also make sure pack() is happening
_ add manifest.mf to exported applets so that applications will work
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1045983103;start=0
_ BApplet.main(new String[] { "flashcards3" });
_ this will need to detect whether the user has their own main()
_ or even BApplet.main(new String[] { getClass().getName() });
_ META-INF/MANIFEST.MF contains just "Main-Class: ClassName"
_ main sticking point will be serial/qtjava in exports
_ write export-to-library
_ need to be able to produce the serial, video, etc libs
_ see if sonia project can compile
_ implement horizontal version of PdeEditorButtons
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1076707944
o is PdeEditorHeader one pixel too tall?
_ menu option for Renderer > to "Core" or "OpenGL"
_ on export, uses this setting to determine if jogl is added to project
_ netscape.javascript not properly working in 1.4
_ include 'netscape.javascript' as a library to be added
_ but don't export it.. ugh..
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1088034754;start=0
_ add a "make archive" option
_ doesn't rename sketch, just names zip file sketch + time stamp
_ need showError/Message/Warning/Prompt design from casey
_ maybe something that shows stack trace?
_ with an 'email this' button? (include source code too?)
_ also need a "prompt" dialog for asking filenames, etc
_ implement and remove PdeEditorStatus stuff
_ check into open-source paperwork for p5
..................................................................
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PDE - Processing Development Environment
PDE / Details
b _ running present mode with a bug in the program hoses things
b _ make sure the program compiles before starting present mode
1 _ processing.exe: problem if expert version is run, and no java installed
1 _ call the person a genius and tell them to install java
1 _ make some fancy extendo things because the tabs get too big
1 _ properly open .pde files opened from explorer/finder
1 _ implement page setup and print
1 _ pretty printing of code in project
1 _ option to just print all code in project
1 _ option to export all the code as colored html
1 _ p5 becomes a memory hog (benelek and glen murphy)
1 _ even without sketches open, perhaps not gc'ing properly
1 _ objects probably not getting finalized
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050134854;start=0
1 _ need to check if volume is read-only, notify and quit if it is
1 _ people are trying to run off the disk image
1 _ need to pay attention to when running from read-only drive
1 _ reported by brandenberg
1 _ "p5 will launch from the disk image, but will
1 _ not draw the sketch name bar doesn't appear"
1 _ size() has memory limitations (pitaru)
1 _ catch OutOfMemoryError inside size() and let the user know
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001
1 _ verify editor buttons working properly
1 _ they're not.. mostly unresponsive, and often get stuck
1 _ is play button properly unhighlighting?
1 _ does it unhighlight after compile or runtime errors?
1 _ also when using draw() instead of loop()
1 _ applet needs to notify runner that it has terminated
1 _ if export fails (compile error) need deselect
1 _ exceptions in draw() apps aren't caught
1 _ the program resize(200, 200); just does nothing (doesn't complain)
1 _ if 'void' left out before loop or setup, cryptic message about
1 _ 'constructor loop must be named Temporary_23498_2343'
1 _ add a better handler for this specific thing?
1 _ menu weirdness (benelek)
1 _ when u've got a menu open, move a cursor over the text area
1 _ and back over the menu, the text-area cursor type remains.
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043667859
1 _ scroll bar has some painting weirdness with jedit textarea
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042351684
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083787569
1 _ rename/saveas doesn't properly have its focus set
1 _ under windows, immediately typing after rename doesn't select
1 _ the whole thing is selected, but not directly editable
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075149929
1 _ Ctrl-Z will undo, but not scroll to where the undo happens.
1 _ so user thinks nothing is happening and overundo.
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064220242;start=0
1 _ figure out how to cancel 'save changes' on macosx and windows
1 _ macosx handleQuit seems to force termination (at least on 1.3)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064732330;start=0
1 _ don't cache stuff from loadStrings and others
1 _ mac java vm won't give up old version of file
1 _ or use setUseCaches(false)
1 _ too many frames drawn before window visible - especially on mac
1 _ dim edit menus as appropriate during selection/no selection/etc
1 _ switch to newer revision of jedit?
1 _ is enormous horizontal scroller issue fixed properly
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083787569
1 _ make export put a timestamp in the html code (hidden or visible)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075659029
1 _ find/replace
1 _ add support for hitting 'ESC'
1 _ option to ignore or match case
1 _ when hitting 'find', select the text in the field
1 _ give that field focus explicitly, rather than just for typing
1 _ right now, typing works, but no caret, no blue highlight
1 _ and on second find run, should instead select all the find string
1 _ so that typing will replace it directly
1 _ only enable "find next" in menu after a find has happened
1 _ drag & drop implementation to add files to sketch
PDE / Compiler
1 _ warn about writing non-1.1 code.
1 X will jikes do it if the -source is set to 1.1? nope..
1 X notes inside PdeCompiler
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1079867179;start=0
BUGS / Preprocessor
1 _ casting problems in the parser
1 _ float u = float(x)/width; works.
1 _ float u = (float(x)/width); doesn't work: "unexpected token: float".
1 _ float u = (x/float(width)); works!
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1084011098;start=0
1 _ if last line of code is a comment with no CR after it,
1 _ an OutOfMemoryError wants to happen,
1 _ but right now there's a hack to add a CR in PdePreprocessor
1 _ return (int(5.5)) causes an error
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083624993;start=0
PDE / Font Builder
1 _ close/hide window on 'ESC'
1 _ loading is very slow on the first time (getting all font names)
1 _ show a progress/status bar while it's happening?
1 _ font builder chopping off parts of letters
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076358432;start=0
PDE / Features
b _ some notion of plugins for pde
b _ color picker or other things written by folks
b _ add all .jar files in lib/plugins on startup
b _ make some kind of internal color picker
b _ could be a separate window that's always around if needed
1 _ external editor -> add a command to launch
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1043734580;start=0
PDE / Console
1 _ error messages run off the edge and go invisible
1 _ actually this is just for the editor status box
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074894329
1 _ multi-line errors a mess in jikes
1 _ maybe a dropdown list thing, with the first just shown?
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
DISTRIBUTION
How the environment gets packed up, downloaded, and installed.
DISTRIBUTION / General
b _ need to change all the copyrights over to mit "except where noted"
b _ dist.sh needs to auto-remove .DS_Store boogers
b _ write script to remove .DS_Store and CVS folders from dist
b _ # remove DS_Store files
b _ sudo find . -name ".DS_Store" -depth -exec rm {} \;
b _ need more comprehensive list of 'known bugs'
b _ need more comprehensive list of 'known suggestions'
b _ javadoc "advanced" reference by beta
b _ and then finalizing it towards 1.0
b _ document hint() commands for advanced reference
b _ beta release will include source code
b _ write notes about running p5 on another platforms
b _ this was some feedback from running on bsd:
b _ /usr/local/jdk1.3.1/bin/java -cp lib:lib/build:lib/pde.jar:lib/kjc.jar:lib/oro.jar:java/lib/ext/comm.jar PdeBase
b _ need to use the 1.3 vm, and get a fake platform name
b _ otherwise, goes looking for lib/pde_.properties or something
1 _ if size() not found in export/compile, ask the user
1 _ size(myWidth, myHeight) -> set static var in BGraphics
1 _ for the last size that was used, use as default for fill-in field
1 o modify antlr stuff to conditionally recompile in make.sh
1 _ compile antlr inside the initial setup of the work dir
1 X done for macosx
1 _ fix this for windows and linux
1 _ about box
1 _ bring up information about gpl, lgpl, and ibmpl
1 _ jedit syntax is under mit license
1 _ http://www.opensource.org/licenses/mit-license.php
BUGS / Windows
1 _ NullPointerException when alt is pressed
1 _ might be something to do with the applet frame being an awt not swing
1 _ event first goes to the applet listener, needs to consume the event
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1061802316;start=0
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077058974
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081751451;start=0
1 _ p5's exe prolly has trouble when PATH has quotes (or spaces?)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068388889
1 _ CLASSPATH figured out what to do with quotes, but not PATH
1 _ problems running external vm/vm is hanging
1 _ seems to be happening because of virus scanning software (norton)
1 _ may need to launch the applet (using 'start')
1 _ and talk over a socket instead
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067867520;start=0
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067643186
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1078714442;start=0
1 _ something in that one about mouse position halting or not
DISTRIBUTION / Windows
1 _ winamp/audio getting starved or crackly while applets running
1 _ thread priority too high? or something weird
1 _ need splash screen, startup takes a long time
1 _ tie .pde files as documents of the application
1 _ figure out proper registry key for windows
1 _ can be handled when the app first run (jni?)
1 _ write handler for main() to take document names
1 _ need document icons
1 _ add MRJOpenApplicationHandler and MRJOpenDocumentHandler
1 _ especially the open document fella
1 _ under osx, app won't get doc unless app already launched
DISTRIBUTION / Linux
1 _ doesn't seem interested in quitting properly (?)
b _ splash screen
1 _ ctrl-t is not stopping a sketch
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074810469
DISTRIBUTION / Mac OS X
b _ add mkdmg script to macosx build process
b _ could significantly speed things up
b _ set nice background for disk image on macosx
1 _ test more to see if runtime exceptions are coming through
1 _ track down error in PdeCompiler for message parsing
1 _ was missing the error about a package being gone
1 _ can comment out /System/Library/ as a test
1 _ Contents/Resources/Java can take jnilib files
1 _ set file type/creator for .pde files of examples
1 _ would be nice to have macosx packaged up as a single .app file
1 _ is there a way to set the color of the Frame growbox?
1 _ currently it's white instead of dark gray like the ui
1 _ setBackground(Color) didn't seem to help inside PdeBase.<init>
1 _ use disk:// notation as panther alternative
1 _ so that it doesn't download the disk, just mounts it
1 _ although.. this only works on panther.. how many are using it?
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PRIORITIES
casey
_ graphics engine up to spec
_ video/net/sound up to spec
X multiple files open
X compile libraries within p5
ed
_ quality of compiler errors + multiple errors
X additional class files.. .java or .pde
X find/replace
juha
_ documenting how the environment works / is set up
amit
X find/replace
X println speed improvements
_ 'debug' that shows a variable (rather than many many println)
X tabs for multiple files
zach
2 _ setting breakpoints / stepping through
2 _ useful as understanding for how program works
2 _ tracing like director
schoenerwissen
2 _ tracing variables
2 _ bspace object
b X 7 day search on discourse board
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
FRY
My grab of examples/libraries that I'd like to make. Most of these are
things I've already written in some form or another, but need to take
the time to package up and release.
_ example showing quicksort code
_ and how to implement/use as an inner class
_ arcball
_ joystick
_ particles (from multip?)
_ phyics & collisions
_ look at the 'havoc' physics library
_ java3d classes for vec3f and matrix
_ quicktime exporter or image sequence export
_ fairly quick--just use experimental code from dbn
_ more advanced splitting of files into rows/cols uses another class
_ other class also has concept for random access of lines
_ by storing the line positions, can access without loading all
_ into memory because some files will be too large
_ 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
_ history.. add my diffs sketch (as a plug-in)
_ could just include a compiled version of the diff app, ala jikes
_ something about using regexps in p5
_ wrap up oro for simple matching
_ (as alternative to the sun classes.. link to those in the docs)
_ method for file handling, recursive walk-through a directory
_ file i/o: file listing util that leaves out . and ..
more random thoughts
_ stroke picker
_ just lineweight, so don't bother.. use constants palette instead
_ font picker
_ same thing, just quickly generates fonts on the fly and applies them
_ need to look at matlab's visualization tools
_ arcs, better 'color' object
_ take everything in perl cookbook, and make easy to do with p5
_ database access and reading large files are always hangups
_ support capabilities of matlab's visualization tools
_ charting/labeling primitives.. excel never quite does it
_ botting engine
_ difficulty of initial grab/analysis of data, that may take some time
_ then needs to be stored and run on multiple times
_ methods for picking colors.. how to color code, limit to 5? gradients..
_ simple way to do tufte-style small multiples on an app
_ function for reporting percent finished (or swing dialog)
_ also for reporting the amount of time remaining
_ loading/selecting a file (or folder), or from command line
_ load large file as lattice (option of whether to keep in memory)
_ how many rows/columns for headings
_ walking through an entire directory, with a handler
_ that throws out the . and .. items
_ that knows about aliases (jdk13)
_ overall contrast/color control (genomevalence for hulk)
_ mac -> vlw (or sbit?) font converter
_ need to also read the fond for metrics
_ general font editor, see what chars are in font, etc