0055 X incorporated (but not yet tested) net code X how to include sign with nf() X whether to include room, and whether + or ' ' X use nfs (number format signed), with a bool for + or spc X does a[3] == Float.NaN work? (for testing with splitFloats) X no, if NaN, then comparison will always return false X sort() functions for arrays of ints, floats, doubles, and Strings X add casey to sourceforge with admin privileges as 'reas' X fix wheel mouse handler so that it works under jdk 1.3 X no difference between 1.3 and 1.4 code X add WheelHandler to cvs X video X checkin video code to cvs X video integration (need to work with dist.sh for it) X how to get qtjava into the classpath on windows runner X incorporate second set of code for file i/o o video capture tested and running on macos9, macosx, windows o video file reading tested and running on macos9, macosx, windows o net code tested with client/server examples o sound code tested and running on macos9, macosx, windows X constrain() still in the motion04 sketch X http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050131287 X why is every other pixel missing from mouse events? X make a note about mouse movement skipping two pixels on windows X need to set mouse properties for higher precision X we actually recommend using java version 1.3 on the mac _ linux version doesn't work on rh9.. update the jvm _ writeBytes, writeStrings (actually saveBytes/saveStrings) _ kill video, net, etc on closing applet _ some flag to know whether applet is online or not _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051758365;start=0 mac _ modify classpath to use 1.4 for compiling _ modify make.sh to include JDK14 flag _ double-check to see if wheel mouse is working _ video: get qtjava stuff working, modify make.sh to include paths _ also run.sh, the classpath on Proce55ing.app _ had to disable MRJFileUtils stuff on osx at last minute before 53 _ seems that file names changed between 1.3 and 1.4 _ need more comprehensive list of 'known bugs' _ present mode, click background window and front window hides _ wasn't present in jdk 1.3, something changed in 1.4 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050163961 _ file://localhost/D:/jdk-1.4.1_02/docs/api/java/awt/doc-files/FocusSpec.html _ repair lines (even if slow) _ single pixel lines have no alpha and no z _ fix all the random line types to support alpha _ smooth images drawing strangely (missing first line of pixels) _ also smoothed even if not distorted _ aliased and anti-aliased images don't line up _ text (text04) marching around strangely _ problems with u/v are likely to also be there for colors _ u/v should be affected by w for proper perspective _ nonsmooth frame around circle gets drawn 8x away _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050451728 _ texture weirdness at 90 degree angles _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050650262 _ sphere() and other polygons don't connect flush with one another _ could hack by making each slightly larger than necessary _ should image(img, x, y, alpha) work instead of using fill? _ or maybe another word for fill/stroke.. apply? colorize? _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1050323800 DATA TIDBITS (for my own work, but also generally useful) _ split to take strings (ie. for ", ") _ versions of loadStream/loadBytes etc that use streams and/or urls _ file output, save strings or pile of bytes _ quicksort should probably just be made into 'sort' class _ it's the only one ever used _ can this be done using an inner class? _ 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 _ 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 _ need some model for i/o that makes more sense _ getting whole words from serial, network, and files _ or buffers of specific length with a sync byte //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// GRAPHICS LIBRARY A hybrid of OpenGL (3D Graphics) and some aspects of Postscript (Fill, Stroke) The graphics library is called Bagel, which is an internal name. BAGEL / Bugs b _ bezier is broken for > 4 points b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042201137 b _ image(img, x, y) in CENTER_DIAMETER is actually center radius b _ should make sure that x, y just makes it proper size b _ simage() is screwy.. b _ its invocation is broken (image_mode can't be two things at once) b _ doesn't actually use image_mode for placement b _ also doesn't support RGBA BAGEL / Graphics API Additions b _ hiding the cursor. noCursor(), cursor() b _ add keyCode to BApplet (quick addition) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=post;num=1043834995;title=Post+reply;start= b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1051285219 b _ perlin noise 1D. noise() b _ images and pixel copying (api for this?) 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 _ resize of bimage, make a copy of image? b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1050328581 b _ getPixel() and other fxns for BImage b _ curves b _ curveMode(), curveMode to tweak the s parameter of catmullrom b _ setting accuracy of curve segments b _ right now it's hardwired at 20, should be adjustable b _ function to evaluate bezier or catmullrom points b _ used heavily in genome valence, asked about on the bboard b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1053449577;start=0 b _ background(BImage) b _ also creating background image inside setup() b _ make bagel usable on its own as a drawing surface b _ needs to be used as a component, without applet b _ but retain functionality, ie. image i/o b _ exports pixels or a BImage or does MemoryImageSource itself b _ move math functions into utility library associated b _ with bagel, because those will be useful on other bagel platforms b _ pApplet will call BagelMath.whatever, so still looks like cos() b _ light(x, y, z, c1, c2, c3, TYPE) b _ also BLight with same constructor, and on() and off() fxn 2 _ drawMode() for MULTIPLY and ADD 2 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051208333 BAGEL / Rendering b _ anti-aliasing. smooth(), noSmooth() b _ need to verify that this works consistently throughout b _ alpha. fill(r, g, b, a), stroke(r, g, b, a), b _ need to verify that this works consistently throughout b _ shape.. non-homogenous colors for beginShape() b _ currently disabled b/c homogenousColors not set false for vertices b _ and code not written for curve vertices b _ picking b _ what is the API for 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 ca b _ lines ca b _ rewrite line and stroke code, it's a buggy mess ca b _ lines become 2 pixels thick after a 3D transform ca b _ better handling of single-pixel special case ca b _ flat_line_retribution is a hack, can go away ca b _ setting stroke width on circle makes odd patterns ca b _ line endcaps and line joins. strokeMode() ca b _ lower priority, but at least leave room ca b _ make sure line() commands don't try to have a fill ca b _ box is not opaque ca b X problem is that lines are drawn second ca b X one pixel lines have no z value.. argh ca b _ bug re: 3d depth sorting on lines ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043894019;start=0 ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042004618 ca b _ translate(58, 48, 0); ca b _ rotateY(0.5); ca b _ box(40); ca b _ concave/complex polygon ca b _ eventually POLYGON auto-detects convex/concave polygon ca b _ also add POLYGON_CONVEX and POLYGON_CONCAVE ca b _ clipping objects (clipping planes?) ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1052313604;start=0 ca b _ things are flying into the camera and halting apps ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042699742 ca b _ NullPointerException apparently when things way offscreen ca b _ i.e. glyphrot with scale set to 4 ca b _ or at least that things get ridiculously slow ca b _ clipping issues here.. but also something in scan converter ca b _ not clipping areas from offscreen ca b _ huge geometry slows things way down ca b _ get font things sewn up ca b _ create a simple generator for grayscale bdf fonts ca b _ document the change and make several of them ca b _ font smoothing (unless hint SMOOTH_IMAGES enabled) is broken 1 _ font support is overkill and sucks 1 _ need fast 2D text that's not affected by the transforms 1 _ also needs to look good, not squished from texture weirdness 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051806272 b _ circles and spheres b _ bresenham (flat) oval function b _ finish fill mode of flat circle function b _ stroked version of sphere is just a circle (?) b _ setting accuracy of circles/sphere b _ opengl export / rendering mode b _ currently implemented, but somewhat broken b _ finish this once all the line code is done bf b _ illustrator export / rendering mode bf b _ also postscript or pdf export? bf b _ version of Illustrator.java that uses bagel api bf b _ sorting of polygons/lines on simple painters algorithm bf b _ better lighting model to show darkness at various depths bf b _ maybe just ultra-high res bitmaps from gl bf b _ version of ProcessingApplet that replaces g. with ai. or pdf. b _ getting current fill color and stroke color b _ stroke() with no params? b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1053002041;start=0 BAGEL / Details b _ cartesian/polar conversion b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1053354853 b _ make zbuffer available instead of g.zbuffer b _ getting mouse movement outside the window b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1051916278;start=0 b _ transparent gif images don't retain transparency (oy) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=general;action=display;num=1044908359;start=0 b _ gaps in lines for pmouseX, mouseX b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1044438078;start=0 b _ too many push() will silently stop the applet inside a loop b _ test winding polygons in different directions b _ test lighting to see how it compares with gl b _ better lockout inside beginShape() to keep other things from happening b _ is quad strip broken or not behaving as expected? b _ may be correct, it worked for nik 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 b _ images drawn from center don't work for simage() b _ currently calling slower image routine b _ p5 classes into packages (bagel especially) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1052908285;start=0 2 _ keypressed is not persistent 2 _ key repeat in os vs. how java handles it 2 _ search java faq for info about getting around it BAGEL / Future 2 _ nicer/simpler api for moving the camera around 2 _ better api for fonts 2 _ fixed fonts are screwed, should only work at screen resolution 2 _ getStream for the filename doesn't work for directories 2 _ getfont("fonts/blah.fbf") refers to blah.raw, but that 2 _ also needs to be searched for in the fonts/ dir.. 2 _ try with 1.4 frame buffer stuff to see if it's faster 2 _ write shearing function 2 _ adaptive sizing of circle segmenting based on rendered size 2 _ rather than requiring a fixed amount 2 _ have a few settings cached 2 _ optimize rotation functions 2 _ update/noUpdate() could also be done to force explicit updates only 2 _ for ui-type applications that don't need to continually redraw 2 _ instead use void update() as a function like loop and draw 2 _ third mode for interactive apps that have to be queried 2 _ shouldn't do so much work (redrawing in loop) if waiting for input 2 _ mode for when no full animation taking place 2 _ otherwise machine is continually maxed out while app is running 2 _ way to screen grab at higher resolution 2 _ method for rendering at higher res and then scaling down 2 _ (even if this causes signficant performance hit) 2 _ look at GLUT for other needed shapes 2 _ export to static flash-based graphics 2 _ build in second matrix type: 2d affine 2 _ write code for reading uncompressed b/w tiff images 2 _ incorporate for fixed width fonts 2 _ fast(er?) version of bagel that just uses java graphics 2 _ but leaves out many features 2 _ setting a fill color when drawing an image should affect the image 2 _ or maybe image.setColor or setTone to mix a specific color in //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// VIDEO VIDEO / CAPTURE - Bagel Standard Extension by Hernando hb b _ beginVideo() hb b _ endVideo() hb b _ videoMode() hb b _ videoEvent(); hb b _ video[] bf b _ incorporate hernando's code bf b _ add qt java libs to build process b _ do same as video capture but running through movie file VIDEO / Output - something like screengrab, employs qtjava b _ quicktime exporter or image sequence export b _ fairly quick--just use experimental code from dbn //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// SOUND / Bagel Standard Extension by Carlos //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// PDE - PROCESSING DEVELOPMENT ENVIRONMENT PDE / General b _ be able to draw something inside setup (?) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1044689650;start=0 PDE / Pre-preprocessor Currently using Oro for search and replace preprocessor. Future plans to use Javacup for preprocessor and Jikes for compiler. bf b _ separate compiler from other kjc-specific code bf b _ change writeJava/start functions to be combined in kjc bf b _ but the rest inside PdeEditor that takes care of launching/placing _ setup( ){} has an error, setup(){} does not _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1045059758;start=0 _ setup (200, 200) causes the default size to be used but setup(200, 200) works fine _ no longer require size() to come first. _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038368420 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1028560140 _ compiler barfs on: float[] moo = new int[10]; _ although no error comes through to p5 (benelek) _ int() doesn't work inside other functions _ argh, need a real parser _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1052994613 _ something about the second line of this turns things to mush _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1051654054;start=0 println("3"); println("4"); println("5"); _ switch to java cup (one day's work) _ subst Image -> BImage, Font -> BFont _ contextual syntax highlighting based on grammar _ probably want to include everything that's in java.lang and maybe others _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1045665326 PDE / Compiler b _ see if newer javac forces a System.exit() or if it can be avoided b _ wire-in jikes as another compiler b _ write handlers for jikes-style of error messages PDE / KJC Compiler most of these items can be removed if kjc is dropped b _ another kjc bug b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1048025370;start=0 b _ when missing a closed brace, often has compiler error b _ Jordan J message in email and bugs list b _ can't used random() inside constructor.. (Glen Murphy) b _ maybe related to problems loading images in constructors b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1039411135 b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038807934 b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1029289775 b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1047649496;start=0 b _ weird comments bug (external file) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1040466898 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 _ Compiler.disable() message is weird and doesn't always work b _ probably just remove it for now PDE / Runtime (includes classloading) _ environment locks up when error stream isn't for the class _ this happens when it's another thread (i.e. image fetcher) _ exceptions in KjcEngine (formerly 'ex found in run') should be cleaner _ focus not properly set in present mode _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1048069821 _ for 'java' mode, try run using external vm _ would need to get error output stream from app.. argh _ only allow under win/osx/linux _ not clear how to kill the process.. does that work w/ 1.3? _ 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 _ 'public class' thing to make things available to all sketches _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1050571290 _ class unloading not happening in java mode _ need to add randomizer to even non-self gen'd classes _ or figure out how to unload old classes.. grr _ lockup when something missing from classpath on dynamic load _ but makes no error.. peditorconsole probably swallowing it _ ability to include other code from sketchbook directory _ compile entire sketchbook on startup, check for new files on compile? PDE / Export b _ export to .pde file rather than java b _ or at least link to that from the web page b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1046250912 b _ add manifest.mf to exported applets so that applications will work b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1045983103;start=0 b _ ability to export 'applications' (not just applets) b _ lock feature for present mode (part of export to application?) 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 PDE / Editor if you dream it, you can do it. b _ find/replace b _ ctrl-f for find, g for find next, h for next occurrence of selected b _ "look up in reference" function for selecting keywords ? _ context menu cut/copy/paste ? _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1052447215;start=0 2 _ features asked for on the bboard 2 _ line numbers like bbedit 2 _ command to comment-out the current selection 2 _ syntax coloring 2 _ split screen 2 _ collapsable functions, or quick access to functions 2 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051301511 PDE / Details b _ background of menus on winxp is white b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1051303115 b _ SystemColor doesn't differentiate between menu background and top b _ probably fixed in swing, but we're using java.awt.Menu b _ test by rewriting with java.awt.Menu b _ improve the console b _ clear console each time 'run' gets hit b _ don't actually clear, just advance by the number of lines visible b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051540041;start=0 b _ maybe it needs to be a textarea? b _ printing of objects, esp when null, in jdk 14 seems to crash b _ this may have been fixed b _ exception when trying to write to stdout b _ may need horizontal scroller, or text wrap b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1050328811;start=0 b _ can't copy text from console directly b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1050328811 2 _ make console like director messagewindow.. 2 _ ability to type commands and try functions b _ rename doesn't set focus to renamer area b _ rename sketch 'can't rename' error (file being kept open) b _ open sketch, make a change, save, run, rename -> error b _ beautify() ignores colons for case statements b _ need to tie this to the parser instead b _ need to check if volume is read-only, notify and quit if it is b _ people are trying to run off the disk image b _ need to pay attention to when running from read-only drive b _ reported by brandenberg b _ "p5 will launch from the disk image, but will b _ not draw the sketch name bar doesn't appear" b _ p5 becomes a memory hog (benelek and glen murphy) b _ even without sketches open, perhaps not gc'ing properly b _ objects probably not getting finalized b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050134854;start=0 _ save last-used serial to sketch.properties on quit _ size() has memory limitations (pitaru) _ catch OutOfMemoryError inside size() and let the user know _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001 _ 'save as' from examples puts into examples dir.. :( _ make it default to the user's sketch dir _ verify editor buttons working properly _ is play button properly unhighlighting? _ does it unhighlight after compile or runtime errors? _ also when using draw() instead of loop() _ applet needs to notify runner that it has terminated _ popup menu for sketches doesn't unhighlight if no sketch selected _ if export fails (compile error) need deselect _ only copy data files into build dir when there are changes _ make sure the still relevant files aren't removed _ setLastModified on the files after copying (jdk13) _ better handling of AccessControlException in applets _ on loadImage and loadStream _ exceptions in draw() apps aren't caught _ the program resize(200, 200); just does nothing (doesn't complain) _ 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? _ sketches can't be named starting with numbers (D.YOO) _ either provide an error message or explanation for this _ or allow the sketch name to be separte from the class/folder names _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1033674118 _ break out BSerial as separate object like BVideo _ BSerial.flush and BSerial.available PDE / Details (low priority) _ menu weirdness (benelek) _ when u've got a menu open, move a cursor over the text area _ and back over the menu, the text-area cursor type remains. _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043667859 _ scroll bar has some painting weirdness with jedit textarea _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042351684 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 b _ highlight a word and jump to it inside the reference b _ shortcut to walk through history, ala photoshop (ctrl-alt-z) b _ may need to start putting properties somewhere besides lib b _ home directory (or preferences folder under macos9) b _ will need doubles for genomics work. ugh. b _ this is just enable/disable float stuff b _ put screenshots into sketch folder b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1046185738;start=0 b _ external editor -> add a command to launch b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1043734580;start=0 b _ event to explorer to open 'parts' directory of project b _ expose access to oro api, perhaps as a plugin b _ regexps: http://javaregex.com/cgi-bin/pat/tutorial.asp 2 _ menu option to change username/login 2 _ if new user, offer to rename 'default' if it contains things 2 _ user name is changed by clicking and typing 2 _ after user hits 'enter', checks to see if user exists 2 _ if not, pops up message asking if they want to change 2 _ message goes in same spot as error/status label (turns yellow?) 2 _ if user says 'no', then 2 _ method of collapsing history for useful versions 2 _ archive associated files as well.. data/etc 2 _ see about setting up simple bug tracker/feature system 2 _ // We can use sourceforge for bug tracking... (reas) 2 _ queue for people reporting things externally 2 _ bugzilla but simpler 2 _ would also be nice for people to be able to vote on features 2 _ run java code besides processing applets 2 _ if not processing applet, look for a main(), no main give an error 2 _ dbn2p5 converter.. ooh! 2 _ tweak updater a little bit so it's more likely to work 2 _ use numbered versioning? 2 _ give updater feedback (progress dialog, error msg) 2 _ error messages with link to what's wrong 2 _ lots of ui ideas from adrien in the bbedit 2 _ some ui stuff from fdb 2 _ rename the button options to verbs 2 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1032909986 PDE / science fiction features to be implemented by 2048 3 _ toggle for showing a function name each time its hit 3 _ toggle for showing line numbers within a function 3 _ i'm here messages, tie in with breakpoints for debugger 3 _ lightweight debugger, doesn't slow down, runs in back 3 _ toggle to show attr/value for some var in simple way 3 _ comments as debugging descriptors, output to console, shown in context 3 _ comments as naming for shapes drawn after it, 3 _ or some other model of naming based on inserted text with "" or // or # 3 _ could fit nicely with printf-style statements and comments 3 _ comments would contain descriptions //!blah for printing and formatting 3 _ sketchbook - doodling/scribbling area.. 3 _ since wacom tablet easily accessible 3 _ look into maxx programming 3 _ single or multi-file cvs, not based on directories 3 _ i.e. i want illustrator.java for a project 3 _ version # stored in .java file 3 _ if a new version is available, asks 'do you want to update?' 3 _ multi-file: quicksort + sortable 3 _ check out interface builder for interesting tidbits 3 _ write converter for java bagel -> cpp version 3 _ include #ifdefs for c stuff //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// DISTRIBUTION How the environment gets packed up, downloaded, and installed. DISTRIBUTION / General b _ need to purge 55 spelling from lots of things b _ window title code, name of .exe and .app files b _ people like downloadable reference + net isn't cheap everywhere b _ need document icons 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 DISTRIBUTION / Windows b _ need splash screen, startup takes a long time b _ file association for .pde files b _ windows 95/98/ME seems to be broken b _ ME doesn't seem to like the .exe, but run.bat worked ok b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1028990066 b _ lockup/freezes (mKoser and zeitgeist) b _ jre icon not appearing in the systray b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1030538508 DISTRIBUTION / Mac OS b _ reference doesn't launch on mac (mKoser) b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038424448 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.. DISTRIBUTION / Mac OS 9 b _ make sure editor window is front so that error line highlights b _ set file type for html files b _ why is bbedit the type for the other files? make simpletext DISTRIBUTION / Mac OS X b _ report of a problem with the rxtx installer being bad b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1048517796;start=0 b _ remove 'quit' from file menu b _ Event.consume() doesn't work on entry fields b _ manifests itself in sketch naming, can't be constrained b _ may not be the case under swing? b _ escape key not quitting presentation mode b _ no events seem to be coming through at all b _ splash screen b _ select all (apple-a) on azerty keyboard is quitting the app b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1032909986;start=0 b _ tweak for java 1.4 b _ need to add a line to the properties file b _ include a note about this in the readme, include url for download b _ connect.apple.com b _ bug on p5 bboard: http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1037829938;start=0 running 1.4 from the command line: /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Commands/java Info.plist, setting JVMVersion * 1.3.1 - only use JDK 1.3.1, even if later versions are available. * 1.3* - use any version of JDK 1.3.x. Do not use JDK 1.4 even if it's dflt. * 1.3+ - use the latest JDK version from JDK 1.3 onward, up to default JDK. * 1.4+ - use JDK 1.4 or later, even if an earlier JDK is the default. DISTRIBUTION / Linux b _ splash screen b _ test serial with ibm vm and all b _ look for jdk 1.4 to use instead of 1.3 b _ make sure javacomm gets in there b _ test it a little more to make sure it works (cygwin x sucks) //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// casey -- this is a bunch of crap that i've scribbled down as i've thought of it.. maybe they should be moved to your list or removed if they're not useful? DOCS _ mention connection to java and docs on getting started in java _ make clear that setup is just for setup _ but should also in the future allow to create static image _ notes on debugging _ run with java -Xint blahblah (turns off jit) // I don't know where this should live, on BBS? What do you think _ p5 faq items: re midi support, msgs w/ adam hoyle in mail folder _ also 'why p5' message from amit pitaru on 12/15/02 _ and p5 versus flash stuff _ lists the main arguments, could be a useful document _ 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 _ 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 _ 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 objectXYZ() and screenXYZ() _ 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 _ fixed width font format as technote and how to use //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// LANGUAGE Adding to the API for advanced users, supporting concise coding 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) //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// EXTENSIONS Scribblings for future API... 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) //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// MISCELLANEOUS NOTES 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? 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 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 _ 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 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 for jgl version of bagel, jgl.jar needs to be in classpath //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// (C)BAGEL WORK The C Language version of the Bagel Graphics Library bagel engine: memoryimagesource, opengl, illustrator, postscript, pdf bagel to run on j2me / phones output to multiple languages: java -> c++ conversion cbagel engine: memory array, opengl bindings _ 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 _ get gcc tied into processing _ java disassembly inside p5 _ and assmebling it back again _ 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 //////////////////////////////////////////////////////////////////// MENU PROPOSALS // File New Open Save Save as Export Web Export Application ----- Proce55ing.net Reference ----- Quit // Edit Undo Redo ----- Cut Copy Paste ----- Find Replace ----- Select All // Control Run Present Stop ----- Step Forward (farway future) Step Backward (faraway future) // Sketch History Clear History Beautify // Environment Serial Port Use External Editor //////////////////////////////////////////////////////////////////// JAVA PACKAGES jdk 1.3 packages java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print java.beans java.beans.beancontext java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.rmi java.rmi.activation java.rmi.dgc java.rmi.registry java.rmi.server java.security java.security.acl java.security.cert java.security.interfaces java.security.spec java.sql java.text java.util java.util.jar java.util.zip javax.accessibility javax.naming javax.naming.directory javax.naming.event javax.naming.ldap javax.naming.spi javax.rmi javax.rmi.CORBA javax.sound.midi javax.sound.midi.spi javax.sound.sampled javax.sound.sampled.spi javax.swing javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser javax.swing.plaf javax.swing.plaf.basic javax.swing.plaf.metal javax.swing.plaf.multi javax.swing.table javax.swing.text javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf javax.swing.tree javax.swing.undo javax.transaction org.omg.CORBA org.omg.CORBA_2_3 org.omg.CORBA_2_3.portable org.omg.CORBA.DynAnyPackage org.omg.CORBA.ORBPackage org.omg.CORBA.portable org.omg.CORBA.TypeCodePackage org.omg.CosNaming org.omg.CosNaming.NamingContextPackage org.omg.SendingContext org.omg.stub.java.rmi jdk 1.4 packages java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print java.beans java.beans.beancontext java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.nio java.nio.channels java.nio.channels.spi java.nio.charset java.nio.charset.spi java.rmi java.rmi.activation java.rmi.dgc java.rmi.registry java.rmi.server java.security java.security.acl java.security.cert java.security.interfaces java.security.spec java.sql java.text java.util java.util.jar java.util.logging java.util.prefs java.util.regex java.util.zip javax.accessibility javax.crypto javax.crypto.interfaces javax.crypto.spec javax.imageio javax.imageio.event javax.imageio.metadata javax.imageio.plugins.jpeg javax.imageio.spi javax.imageio.stream javax.naming javax.naming.directory javax.naming.event javax.naming.ldap javax.naming.spi javax.net javax.net.ssl javax.print javax.print.attribute javax.print.attribute.standard javax.print.event javax.rmi javax.rmi.CORBA javax.security.auth javax.security.auth.callback javax.security.auth.kerberos javax.security.auth.login javax.security.auth.spi javax.security.auth.x500 javax.security.cert javax.sound.midi javax.sound.midi.spi javax.sound.sampled javax.sound.sampled.spi javax.sql javax.swing javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser javax.swing.plaf javax.swing.plaf.basic javax.swing.plaf.metal javax.swing.plaf.multi javax.swing.table javax.swing.text javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf javax.swing.tree javax.swing.undo javax.transaction javax.transaction.xa javax.xml.parsers javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stream org.ietf.jgss org.omg.CORBA org.omg.CORBA_2_3 org.omg.CORBA_2_3.portable org.omg.CORBA.DynAnyPackage org.omg.CORBA.ORBPackage org.omg.CORBA.portable org.omg.CORBA.TypeCodePackage org.omg.CosNaming org.omg.CosNaming.NamingContextExtPackage org.omg.CosNaming.NamingContextPackage org.omg.Dynamic org.omg.DynamicAny org.omg.DynamicAny.DynAnyFactoryPackage org.omg.DynamicAny.DynAnyPackage org.omg.IOP org.omg.IOP.CodecFactoryPackage org.omg.IOP.CodecPackage org.omg.Messaging org.omg.PortableInterceptor org.omg.PortableInterceptor.ORBInitInfoPackage org.omg.PortableServer org.omg.PortableServer.CurrentPackage org.omg.PortableServer.POAManagerPackage org.omg.PortableServer.POAPackage org.omg.PortableServer.portable org.omg.PortableServer.ServantLocatorPackage org.omg.SendingContext org.omg.stub.java.rmi org.w3c.dom org.xml.sax org.xml.sax.ext org.xml.sax.helpers