0079 pde X add ctrl-o to the open menu X implement horizontal version of PdeEditorButtons _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1076707944 X add line numbers X add extra space to bottom on osx ... _ include /** */ comments into the html page _ stop() not working very well _ doesn't seem to actually be stopping things _ closing window w/o first hitting stop() causes freak out _ opengl gives an OutOfMemoryError _ java2d just goes into a lock _ could also be code that's in an infinite loop (i.e. text error) _ which then causes a full lock _ PdeRuntime/PApplet cleanup _ run as external whenever using present mode _ significantly limit range of cases.. if presenting ext is ok _ uses internal pretty much only when single class, etc _ the runtime environment requires java 1.4 _ make sure this is known and tested for properly _ can't scroll the PdeEditorConsole downwards at all on osx _ if a .pde isn't contained in a properly named folder _ offer to rename the parent folder, rather than placing in a new folder _ some type of sketch archive format for posting examples? create a new sketch create a new tab named "a" create a new tab named "a_2" hide tab named "a_2" hide "a" unhide "a_2" unhide "a" where did "a_2" go ? (v74) if a project folder is made (with save as), and then deleted while processing is still open, there is an error (of course). but the error ('file/folder not found') is not displayed to the user, and the drop-downs don't go away / the IDE doesn't refresh. (74) "save as" not actually saving properly File>New edit file... File>Save As File>Open some other file File>Open original file file is empty. the only way to make File>Save As actually save new files, as far as i can tell, is to Save As once, make at least one change, then Save. what happens if folder already exists on save as? _ examples need to be updated // _ add tool to hit 'next' to go through examples _ just make it "next file in folder" since examples are all over _ also need to copy examples locally _ add tool for running in jview _ only available after export (or when an applet dir exists) _ warn user that applet html will be over-written _ add tool to "Add custom html to sketch" _ that copies applet.html, _ opens sketch folder, _ and gives info about what to do next (how to edit) check these errors to see if they still exist _ 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 libraries _ libraries need to remove the PLibrary interface _ particles lib requires depth() (but shouldn't) _ fix for 78 since not sure when simon's new version is happening _ should we queue lib events until the end of loop? _ lib could call queueEvent with the args _ then call them inside post() _ add prompt() method to Camera ("" means default, null is prompt) _ add prompt() method to Serial (simple dialog box that pops up) _ get an xml library in there _ nanoxml problems with manifest _ appears to use 1.6.8 version since it's just two classes _ straighten out int() -> toInt() conversion in the preproc _ add use of doubles on casting -- particularly for Math.cos() et al _ use screen manager to run present mode properly _ set both versions to require java 1.4 _ change the Info.plist inside macosx _ and add something to PdeBase to make sure that it's in 1.4 _ may need a progress bar for "save as" _ or just the file copy function in general _ since it may take a long time (i.e. 1000s of screen grabs) _ scanning sketchbook folder may be extremely slow _ not sure why this would be the case _ subfolders in the 'data' directory don't work _ don't allow goofy case versions of reserved words _ keypressed should maybe throw an error _ "save as" shouldn't show save as dialog for sketches _ unless that's the current mode that's being used _ "new midlet" option.. keeping things open for midlet projects _ track loadImage() with filenames that are inconsistent _ i.e. mixed case filename in sketch is different in windows _ but when uploaded to a unix server causes a serious problem _ use canonicalPath to flag possible problems _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1096508877;start=5 _ mouse wheel broken in the text editor? (windows jdk 1.5?) _ transparently convert spaces to underscores (?) _ underscoring everything is kinda nasty ...................................................................... PROBLEMS FOR NEW USERS _ making it easier to draw shapes _ missing semicolons - better error message _ missing brackets, unmatched brackets _ "unexpected token void" -> "You're mixing dynamic and static mode" _ forgetting the quotes around strings _ separate reference for /dev version _ loadImage() mixed case problems _ loadImage() using spaces in the name _ if loadImage() when online(), throw an error _ files not in the data folder (works in env, not in sketch) _ angleMode(DEGREES) -> mistyped keywords, caps being wrong _ NullPointerException on unterminated comment at end of code _ (and OutOfMemoryError and weird lockup) _ not enough args for triangle (or args in general) _ throws out bizarre message _ document for new users: _ what's a NullPointerException _ use of strings _ println() for debugging TALK TO CASEY ABOUT... _ must call depth() for 3D applications _ lights cannot be enabled/disabled throughout _ lighting will be based on what's left at endFrame() _ images should be a power of 2, or call modified() _ document the use of "die" _ can override the method to do your own handling _ sketches no longer require a "data" folder _ "draw" is not highlighted as a keyword.. other keywords? _ draw(), PGraphics(), NO_DEPTH_TEST, PMovie(), PMovie.repeat() _ PClient(), PClient.available(), PClient.read(), _ PServer(), PServer.dispose(), PServer.write(), attach(), length _ round() is not colored _ example that uses loop/noLoop, or redraw? _ talk to creas about making html files for bugs, readme, revisions. _ or how they should relate to the 'faq'.. readme -> faq? _ make a sketch that shows loading from the web _ make another sketch that shows loading from a file _ make notes about preproc _ subclasses need to use "public void keyPressed" not "void keyPressed" _ 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 _ write an example that uses Hashtable _ and another that uses Vector _ 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 _ beginShape() defaults to beginShape(POLYGON) _ needs to be noted for the reference _ make a note that u/v coordinates clamp at 0 and 1 _ no transformations before background() is called _ implementation specific, may cause trouble _ different name for 'lib' folder because of libraries folder? _ avoid some confusion for when describing the libraries folder to users _ 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) _ support for editor plugins _ make dynamically loaded plugins and "tools" menu _ break out beautify as its own plugin _ make beautify plugin "Auto Format" _ //for (int i = 0; i < 10; i++) { _ } catch (IOException e) { } _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1086555381 _ need to ignore comments.. but not those inside quotes.. oog _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067309918;start=0 _ ignores colons for case statements _ need to tie this to the parser instead _ do a better job of maintaining cursor during beautify _ only beautify a particular section of code _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1087227217 o make "get quicktime libs" function o can java get the root directory for system/win32 etc? export stuff _ 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 _ include a note that 'applet' folder will get emptied/rewritten _ or rename the old applet folder to something else? (nah, too messy) _ make multiple jar files thing work as an option _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1067360903;start=0 _ applet default is one file, application default is multiple _ user in advanced mode can switch to the other _ buttons on side of sketch do default (last) behavior //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// PDE - Processing Development Environment PDE / Details 1 _ preferences 1 _ make preferences a modal dialog 1 _ it's annoying when it hides itself 1 _ redo panel to use proper swing layout etc 1 _ setting sketchbook to a folder on the network 1 _ does this work? test on both on mac and pc.. 1 _ exception in setup() on external app doesn't kill run button 1 _ also doesn't kill external vm 1 _ package processing.app for PdeBase, PdeEditor.. 1 _ save caret position when switching tabs 1 _ ctrl-tab to switch between tabs 1 _ add mnemonics for menus (alt-f to open 'file') 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 _ find/replace 1 _ only enable "find next" in menu after a find has happened 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 1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1094149466 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 _ 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 _ 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 1 _ random, single slash in the code doesn't throw an error 1 _ (just gets removed by the preprocessor) 1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1099371066;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 _ (would be useful to at least tell user that system not locked up) 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 _ refresh sketchbook menu upon returning to the app from elsewhere? _ this would need to track whether coming just from an ext runtime 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 _ also out of cvs b _ check for necessary tools to be installed b _ zip, unzip, jikes, etc b _ need to change all the copyrights over to mit "except where noted" 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 DISTRIBUTION / Windows b _ properly handle non-ascii chars in p5 folder name b _ or at least warn the user to install somehwere else b _ track down the cause of the processing.exe not starting bugs b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1062794781 b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067764732 b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1094148057 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 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 1 _ fix find/replace focus issue on osx 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 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. 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? 1 _ mac standard key combinations for moving around in the editor 1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1093116515 //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// 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 bitmap font editor, see what chars are in font, etc