last touches on rev 17

This commit is contained in:
benfry
2002-01-23 22:04:04 +00:00
parent 1d991254fa
commit 94141cd9ec
3 changed files with 107 additions and 32 deletions

View File

@@ -38,6 +38,8 @@ public class ProcessingApplet extends Applet
public void init() {
checkParams();
addMouse(); // set basic params
addKeyboard();
addTime();
@@ -151,6 +153,7 @@ public class ProcessingApplet extends Applet
if (timing) {
actualMillis = System.currentTimeMillis();
millis = (int) (actualMillis - millisOffset);
calendar = null;
}
@@ -169,6 +172,7 @@ public class ProcessingApplet extends Applet
if (drawMethod) {
g.endFrame();
update();
if (isMacintosh) getToolkit().sync();
finished = true;
}
drawn = true;
@@ -180,6 +184,7 @@ public class ProcessingApplet extends Applet
loop();
g.endFrame();
update();
if (isMacintosh) getToolkit().sync();
}
// takedown
@@ -705,6 +710,13 @@ public class ProcessingApplet extends Applet
// run as application
boolean isMacintosh;
void checkParams() {
isMacintosh =
System.getProperty("os.name").toLowerCase().indexOf("mac") != -1;
}
static public void main(String args[]) {
if (args.length != 1) {

View File

@@ -1,3 +1,43 @@
ABOUT REV 0017
features and tweaks:
- setFont() now takes a font size
- exporting to applets is slightly less buggy
- hopefully lines are only a single pixel thick when they should be,
in slightly more cases
- added a 'hint' for smoothing of images and fonts. put
hint(SMOOTH_IMAGES) in your code to enable smoother text and images,
but at the risk of things running more slowly. use
unhint(SMOOTH_IMAGES) to disable.
- millis is a variable that always contains the number of milliseconds
since your applet started as an int. before it was always zero. use
it wisely.
- loadImage, loadFont, and getStream are behaving better
- no longer the random exception in graphics that would cause your
programs to hang due to an ArrayIndexOutOfBoundsException. haven't
fixed the bug, but it's at least being caught and worked around.
known issues:
- if you're using 'extends ProcessingApplet' in your code, you'll have
to use that class name for anything that you export. otherwise incur
the wrath of a bunch of spew at the dos prompt.
- consistently thin lines are still erratic and not under control
- the line highlighted for any particular error is often a joke
- lots of other things, too numerous to list that make me wonder if
this will ever be ready to go
ABOUT REV 0016
- disabled (by default) the sketchiness from the previous version. so

View File

@@ -51,7 +51,8 @@ _ code to automatically open generated .ai files (exec(..ai))
_ add method for exporting applications with processing
_ wrapper that invokes the applet using a copy of the jre
_ move MemoryImageSource out of bagel and into ProcessingApplet
_ need to be able to run bagel to just render to a large internal buffer
_ need to run bagel to just render to a large internal buffer
_ this fits better with the c++ model of things
_ version of ProcessingApplet that replaces g. with ai. or pdf.
_ it's very unstable, previous versions such as 7 were solid.
_ problems come with moving (what's that mean?)
@@ -63,7 +64,7 @@ _ garbage created when color values out of range
_ exporting to applet/.jar file
_ include other .class files built besides the main one
_ include referenced image and font files (can't do if numbered)
_ debugging serial code
_ technote: 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
@@ -80,6 +81,7 @@ _ doesn't include additional (private) classes
_ technote: using transformPoint
_ technote: using curves
_ technote: making things faster
_ technote: memory running out, using ms and mx
_ noBackground() if you're covering everything
_ class unloading not happening
_ when doing an extends ProcessingApplet
@@ -90,14 +92,15 @@ _ option to toggle window on/off (not just in properties, but realtime)
_ set # of lines in properties
_ remove .java and .class files for compiled classes
_ technote about bug in sun vm for freaking out
_ technote about memory running out, using ms and mx
_ also happened with ibm vm.. grr.. (or was it a path problem?)
_ apparent NullPointerException when things way offscreen
_ i.e. glyphrot with scale set to 4
_ or at least that things get ridiculously slow
_ clipping issues here.. but also something in scan converter
_ Compiler.disable() message is weird and doesn't always work
_ exceptions cause play to never un-highlight
_ play never un-highlights
_ especially with exceptions
_ weird exception crap/messages.. erroneous shite
_ z coordinates are backwards from gl (at least from mazo)
_ look into using serialporteventlistener for simpleserial
_ see about setting up simple bug tracker/feature system
_ would also be nice for people to be able to vote on features
@@ -105,10 +108,6 @@ _ look into maxx programming
_ live video editing, wanting things more procedural
_ illustrator exporting
_ version of Illustrator.java that uses bagel api
_ finish color function inside applet
_ do by simplifying stroke/fill/background inside bagel
_ these should be done w/ a switch (STROKE, FILL, BK, OTHER)
_ needs to be done inside cpp version too.. minimize amt of code
_ translateMiddle() ? to move to the middle of the screen?
_ shouldn't do so much work (redrawing in loop) if waiting for input
_ mode for when no full animation taking place
@@ -116,24 +115,37 @@ _ otherwise machine is continually maxed out while app is running
MACOS
_ explicity refresh screen on macosx at end of loop:
_ java.awt.Toolkit.getDefaultToolkit().sync();
_ crashes when people click on help in top bar (same in DBN)
_ dataInputStream, setUseCaches on the url to false
_ URLConnection.setUseCaches(false)
_ parent.obj.close() on the url
_ writing serial code (something that docks better to java serial api)
0016 improve exporting and lines
_ g.applet = this at beginning of program
_ finish setFont with a font size
_ add 'hint' function for scaling line thickness
_ add hint for super smooth fonts
_ add preferredsize to processingapplet
X bug in Bagel.loadImage that made images not work in applets
_ millis returns 0 (though getMillis() is fine)
X catch exception inside polygon scanner (slower?)
0018
_ z coordinates are backwards from gl (at least from mazo)
_ how did this happen? what's the appropriate way to fix?
_ single color function inside applet
_ need to clamp colors (nothing > 255 or < 0)
_ do by simplifying stroke/fill/background inside bagel
_ these should be done w/ a switch (STROKE, FILL, BK, OTHER)
_ needs to be done inside cpp version too.. minimize amt of code
_ draw mode needs to be better for workshops
_ make size() work for draw() mode
_ inside KjcEngine, reach in and grab calls to 'size'
_ if call is not using a constant number, then punt
_ int version of min and abs
_ fix bugs from the 'bugs' file
_ then remove the file from cvs
_ when exporting with as a named class file, need to export w/ that name
_ make sure export is compiling first
_ right now have to hit play and then hit export (?)
_ lines being highlighted for errors are off
_ rewrite line and stroke code, it's a buggy mess
_ rewrite fill/stroke/etc to use same code
_ doesn't need to be super fast, so the extra assigns no big deal
@@ -147,25 +159,18 @@ _ getStream sucks (zach rewrote)
_ should be able to work for application or applets
_ may want to use getResource() (to get things from .jar files)
_ fix buzz.pl to not create ../../bagel
_ need to clamp colors (nothing > 255 or < 0)
_ try using serial events from javacomm instead of just reading straight
_ paren problems comes from overusing parens (too many closing)
_ image[first[i], 0, 0) hitting last paren causes jump to top
_ lib/pde.properties should be read using getResource
_ export not working for processing
_ otherwise path issues cause trouble (likely under win98)
_ talk to simon about error streams and kjc
_ better piping of output from kjc
_ erroneous errors from kjc regarding 'var not inited'
_ is there any way to disable this message?
_ make size() work for draw() mode
_ inside KjcEngine, reach in and grab calls to 'size'
_ if call is not using a constant number, then punt
_ bezier and catmullrom aren't setting ndim to at least two
_ translate(x, y) doesn't seem to affect a rect()
_ same with rect. looks like this causing trouble with lots of things
_ int version of min and abs
_ fix bugs from the 'bugs' file
_ then remove the file from cvs
_ way to screen grab at higher resolution
_ method for rendering at higher res and then scaling down
_ (even if this causes signficant performance hit)
@@ -176,10 +181,10 @@ _ if a new version is available, asks 'do you want to update?'
_ multi-file: quicksort + sortable
_ quicksort should probably just be made into 'sort' class
_ it's the only one ever used
_ also stringutils.split
_ stringutils.split is a useful one
0017 (first semi-public release)
0030 (first semi-public release)
_ write code to bind/convert java fonts
_ docs
_ explain using inner classes and using non-public classes
@@ -203,7 +208,7 @@ _ or maybe image.setColor or setTone to mix a specific color in
_ new user interface?
0018
0031
_ option to enable/disable frame on running applets
_ more like photoshop - presentation mode w/ nothing or frames on all
_ compiling .java files leaves the .class files next to the .java
@@ -225,7 +230,7 @@ _ breaks on every 2nd run when using serial apps (or others?)
_ try calling gc on stop as well
0019
0032
_ run java code besides processing applets
_ if not processing applet, look for a main(), no main give an error
@@ -440,6 +445,23 @@ String binary(int value) {
---------------------------------------------
0017 improve exporting and lines
X g.applet = this at beginning of program
X finish setFont with a font size
X add 'hint' function for scaling line thickness
X add hint for super smooth images
X add preferredsize to processingapplet
X bug in Bagel.loadImage that made images not work in applets
X catch exception inside polygon scanner (slower?)
X millis returns 0 (though getMillis() is fine)
X explicity refresh screen on macosx at end of loop:
X java.awt.Toolkit.getDefaultToolkit().sync();
0016
X disable play.external by default
0015
X flickery jumpy thing with canvas.. sun jvm bug
X switched to ibm java vm
@@ -598,3 +620,4 @@ o setup imrf linux machine?
DISCARD
o get proce55ing.net, make that the target launch site
o write a dbn compatability mode (forever() instead of loop() ?)