Files
processing4/processing/build/shared/revisions.txt
2003-07-03 01:29:23 +00:00

1273 lines
38 KiB
Plaintext

this file is a list of changes between each release. this is not a
general reference of how to use processing, because the information
for older releases will be super crusty. caution: the beverage you're
about to enjoy is extremely hot.
ABOUT REV 0056 - 3 july 2003
[ shouting outwards ]
this isn't everybody, but thanks much to the folks who helped on the
*software* side of this release:
hernando and casey have completed an additional 15 examples covering
topics of video, network, and tangible.
this is the first release with pre-testers (benelek and mkoser)
checking things out before we accidentally push out a bad
release. also timothy mohn handling the macos9 and macosx packaging
process.
arielm, the bagel papa poule, has been catalogging the graphics engine
bugs and creating tests for each of them. this has helped get more bug
fixes into the graphics engine, more quickly.
toxi has done several fixes and tweaks to the graphics engine, details
listed below.
[ new features (new bugs) ]
- added more words to the syntax coloring
- added a constructor for BImage that takes a java.awt.Image
- added FileInputStream version of loadStream for locally running code
- added screenGrab(String filename). this grabs an uncompressed tiff
image of the current screen, just like screenGrab(). if ".tif" isn't
in the filename, it will be added.
- loadStream/loadBytes work with InputStreams and URLs
- get current stroke/fill/background color with:
color f = fill();
color s = stroke();
color b = background();
- handling of up/down/left/right and control/shift/alt keys, e.g.
void keyPressed()
{
if (key == UP) {
println("up");
} else if (key == DOWN) {
println("down") {
} else {
println("around");
}
}
- link(String urlname) now implemented as a simpler way to get to URLs
[ bug fixes ]
most of these were reported by folks on the bboard. thank you all!
the people who notified us of the bug are in [brackets] though we may
have missed a few.. some of these are reported multiple times..
- transparent gif images now draw properly.. no more workarounds!
[reported by several people]
- reference now properly unpacks, rather than sitting in the folder
like a dumb zip file. oops. [mkoser, benelek]
- imageMode issues have been ironed out
- added print(char c) and println(char c) so that they don't just
print numbers to the console [benelek]
- fonts were taking up more memory than necessary [arielm]
- added ceil/floor to syntax coloring
- added net stuff to syntax coloring
- fix for points that were drawing invisible (extrusion example was
broken) [benelek]
- fixed nagging ArrayIndexOutOfBoundsException on images [benelek]
[ performance ]
- fast 'flat' image drawing has been enabled again and debugged
- fast image drawing then rewritten and debugged again (by toxi)
- last line highlights properly on error (fix by danm)
- code for much faster lines and points (by toxi)
- adaptive circle segment sizing (by toxi)
[ still broken ]
- video and net stuff is still having trouble. this had been priority
for this release, but has been taking longer than hoped, and we had
so many fixes that we wanted to push the current rev out.
ABOUT REV 0055 - 27 may 2003
WARNING! THIS RELEASE IS LESS TESTED THAN SOME OTHERS, AND INCLUDES
LOTS OF NEW CODE, SO IT'S POSSIBLE THAT THINGS COULD BE VERY BROKEN.
if you run into trouble, as with any release, just let us know about
the bug on the bboard, and use the previous one that worked for you
(i.e. go back to 54) it's all about 'alpha'.
[ big changes ]
perhaps very exciting, this is the first release to include explicit
support for audio, video, and network. perhaps more exciting is that
this code was developed by developers other than me.
net and video code was contributed by hernando barragan of ivrea
http://people.interaction-ivrea.it/h.barragan
everyone say "thanks hernando!"
the audio code is by carlos rocha, a hired gun whose
employment was made possible by the generous support of ivrea.
yay carlos! yay ivrea!
more about these guys can be seen at: http://proce55ing.net/info.html
[ status of audio, video, net ]
- audio should be java 1.1 compliant, meaning that it works inside
applets and on each of the platforms. audio should be working
reasonably well, and has been tested by carlos a good bit.
- similarly, the net code should be just ducky.
- video input and reading movie files is done through quicktime for
java, which means that you have to 1) be using windows or macos, and
2) have the durn thing installed. video is a little bumpy (you may
find it broken or unusable), which we're ironing out. but the
problems have been showing up inconsistently, so we preferred to get
the release out so that y'all can start playing with the other new
features.
[ new features! new bugs! ]
- sort functions for arrays of ints, floats, doubles or Strings
// here's how it works for floats:
float a[] = { 3.4, 3.6, 2, 0, 7.1 };
sort(a);
for (int i = 0; i < a.length; i++) {
println(a[i]);
}
- added wheel mouse support for osx, when running java 1.4.
NOTE! we don't actually recommend using java 1.4 under macosx, as it
seems to be much less stable than 1.3, and appears to introduce some
weird inconsistencies when running p5. (this also fixes a bug where
using a 1.3 vm with the windows expert version would fukker the
environment).
ABOUT REV 0054 - 11 april 2003
[ ok, so 53 was a bit of a dog ]
- fixed problem with web colors being broken
- turned off error message spew
ABOUT REV 0053 - 4 april 2003
[ major bug fixes ]
- finally found and fixed the 'disappearing caret' bug that some
people were having on windows. text editor is much more usable.
- fixes to non-smoothed images, no longer makes a weird line in the
center of some images, or leaves out a line of pixels at the end.
- lots of fixes to anti-aliasing, though it's still not anywhere near
perfect. still suffers most of the problems mentioned below.
[ small tweaks ]
- color(r, g, b, a) now works, also color c = #RRGGBBAA (like web
colors, but with alpha at the end)
[ known bugs ]
- alpha is a little weird (mostly doesn't work) on lines. it won't
work on single pixel lines unless smooth() is turned on.
- smooth() is still imperfect. you may find some jagged edges. text
marches in a funny way (i.e. typography04). shapes don't always
properly overlap (i.e. you can see triangles on spheres)
- images with smooth() enabled are coming out a little garbled
- concave polygons don't draw properly
- lots of other exciting things just waiting to be found out!
ABOUT REV 0052 - 5 march 2003
[ feature additions ]
- alpha/transparency is partially working.. there are still problems
(see 'known bugs' section below) but it's in there.
- smooth() and noSmooth() are partially implemented. they've got
several bugs that we know about but might be fun to play with. we
know of most of the bugs so we hope to get to them soon.
- fill color can be set for images. IMPORTANT: to get just the image,
be sure to set the fill to white.
- images no longer cache by default IMPORTANT: if you *want* images to
cache, you should use loadImage("filename.jpg", false). the second
parameter is whether or not images should be 'forced' to load fresh.
- get the on-screen locations of an xyz point using:
float sx = screenX(x, y, z);
float sy = screenY(x, y, z);
float sz = screenZ(x, y, z);
- get the object-space coordinates (how the object is affected by
translate and rotate etc) using:
float ox = objectX(x, y, z);
float oy = objectY(x, y, z);
float oz = objectZ(x, y, z);
- constrain() is now part of the api
- format numbers with nf().. syntax: nf(int num, int digits)
to make '27' into '0027' -> String formatted = nf(27, 4);
- also for numbers with decimals.. nf(float num, int left, int right)
to make 27.3 into '027.3000' -> String formatted = nf(27.3, 3, 4);
or use zero if you don't care the number of digits:
i.e. make 27.3 into "27.3000" -> String fmt = nf(27.3, 0, 4);
- camera functions now work. the following is the code for the
perspective camera (sorry no more docs, you can check opengl
references for more info until we get caught up)
beginCamera();
cameraMode(CUSTOM);
perspective(fov, aspect, nearDist, farDist);
lookat(eyeX, eyeY, eyeDist, eyeX, eyeY, 0, 0, 1, 0);
endCamera();
there's also ortho(left, right, bottom, top, near, far) to give you
an orthographic projection.. frustum() is another useful function in
this class. these work like their opengl equivalents, but without
docs are for advanced users only.
- more matrix math.. applyMatrix() takes 16 floats which get
multiplied by the current transformation matrix. resetMatrix()
resets the transformation matrix to identity.
- switched to jre 1.4.1_02 from 1.4.1_01
[ bug fixes ]
- some programs that used 'color' didn't work, now they do.
- fixed other broken examples.
- missing images should no longer lock up the environment. on windows,
they used to throw an exception and lock everything up.
- color for 'use external editor' works with new scheme.
- numberFormat() had a bug where commas would show up. oops.
[ known bugs ]
- still can't figure out the 'caret disappearing' bug.
- alpha is a little weird (doesn't always work) on lines. it won't
work on single pixel lines unless smooth() is turned on.
- smooth() is still imperfect. you may find some jagged edges. text
marches in a funny way (i.e. typography04). shapes don't always
properly overlap.
- random freezes under windows, after running a few time. every 20th
or every 100th time the app just freaks out. use ctrl-alt-del to
kill the java runtime and restart your app. this will slowly be
ironed out.
ABOUT REV 0051 - 31 january 2003
enables key presses in the editor when 'alt' or 'option' is pressed.
there was a problem with the mac german keyboards, and probably
others, where folks couldn't type { and } (alt-8 and alt-9) and were
instead doing lots of copying and pasting. released because this was a
major bug for some, and it needed to happen before a workshop.
ABOUT REV 0050 - 27 january 2003
released a little sooner than hoped, to fix a single showstopper bug
first discovered by josh nimoy. two sets of quotes were left out of
the export-to-web code, which web pages that didn't work.
ABOUT REV 0049 - 26 january 2003
a release of p5 to honor the national tv advertising holiday
known as the super bowl in the united states.
[ feature additions ]
- lots of new examples (some may have issues, see 'known bugs' below)
- code with beauty and grace: new coloring for syntax and the editor,
fancied up to work more like the p5 site itself.
- loadImage and loadStream now support http:// URLs (thanks to glen
for pointing out the omission
- framerate() is a function that always returns the current frame rate
as a float.
- framrate(float num) sets the framerate to a specific number. it can
be used inside setup() or even inside loop(). framerate(0) ressets
back to the maximum possible framerate.
- new math functions: ceil, floor, and round all work on floats.
[ bug fixes ]
- attempt has been made to fix the disappearing caret bug. i haven't
been able to reproduce this on my win2k machine, so i don't know if
it's fixed.. you'll have to let me know.
- pmouseX and pmouseY are now colored like their siblings mouseX and
mouseY (thanks benelek)
- pmouseX and pmouseY now get set the very first time mouseX and
mouseY are set, which might help remove some "if (firstTime)" code
in a couple of projects.
- fixing the print() weirdness uncovered a bug with long lines in the
console.
[ between bug and feature ]
- nicer looking default html for exporting. that old stuff was
embarrassing. we had hoped it would be too embarrassing for anyone
to use, but we were wrong. so we've improved the default.
- print() now shows things on the console, even without a println().
thanks to mike davis and others for pointing this out.
- delay() should no longer slurp up cpu time and make your machine
flip out. also, it doesn't run on the first time through loop(),
making things a little smoother. (thanks to glen murphy for the
report)
[ known bugs ]
- some examples seem to be broken, this will be ironed out for 0050
- a couple tweaks with the syntax of 'color' statements are needed,
this is related to the above
ABOUT REV 0048 - 7 january 2003
[ mac os ]
- this release includes a bit of tweaking to the fonts that are used by
default so that they look nicer on the mac. also, anti-aliasing is
turned *off* by default (thanks to franklin_mint for the tip), which
is a little more appropriate for coding. if you want to re-enable it,
check out pde.properties inside 'lib'.
- tried java 1.4 dp8 but it *does not work*, at least not very well,
with processing. assertion failures or outright crashes. blech.
hopefully apple will get this cleaned up and finished soon, because
it's already running fine under 1.4 on windows.
[ windows ]
- the release is now split in two, using 'standard' and 'advanced'
versions. the standard release includes a working java vm, and is
all set up and ready to go. the advanced version is for people who
already have java installed (and don't want to deal with the 20MB
download), and know what they're doing enough that they can also
install the serial port code by hand. instructions on installing the
serial code are in the 'serial' folder inside the advanced release.
- wheel mouse works again
- increased the default memory allocation to 64 MB.
ABOUT REV 0047 - 5 january 2003
[ happy new year ]
- hopefully january 2003 will be a good month for p5, as i have
a short bit of time to work on it and there was a beautiful little
ibook under the p5 xmas tree to help me with the mac releases.
i hope to get a few revisions out this month so i can get back
my 'real' work.
[ features ]
- the text editor has once again been replaced. the new one is fancier
and less buggy. most obvious thing to note is text coloring.
the editor is based on the jedit 'syntax' package. jedit is an
amazing and feature heavy java-based text editor with an online
community the size of an organized religion as compared to our
little p5 cult. see http://www.jedit.org for worship times.
- sketchbook can now be more recursive (folders within folders) than
it used to be. for those inclined to playing with fire (you're using
alpha software, so this must be you) you can set the root of your
sketchbook directory to something besides "sketchbook" inside the
Proce55ing folder. details in the 'readme' doc.
[ bug fixes ]
- a strange crashing after a few weeks of use on the macosx has been
fixed. it got upset as soon as a .DS_Store file made its way into
the sketchbook directory. i'd get upset too since those little
buggers get pooped all over the place as soon as a mac connects to
anything, but instead some code was written to ignore them. i'm
trying to learn to ignore them myself. thanks to fdb, brendanberg,
jes and perhaps others who notified of this one.
- the undo forever problem has (hopefully) been squashed. in 0046,
one could undo until the text area went empty, or the previous
project loaded. if one were to hit undo quickly enough, they might
have noticed the clock on their wall moving backwards.
ABOUT REV 0046 - 20 november 2002
[ major release, new features ]
- now uses a fancy, swing-based text area. things should behave
much better for most platforms, particularly on the mac.
- undo/redo, cut/copy/paste/select all are all supported.
- added 'rename' function, because 'save as' leaves behind
too many boogers sometimes. this is now the default when clicking
on the sketch title, instead of 'save as'.
- better error messages for serial port--actul notification if
the port is unavailable or not properly installed.
- javax.sound is imported by default, so when running inside the
editor, it's possible to use these classes to play audio files
and control midi devices. doesn't work for exporting to applet.
- on windows, sun's xml classes are included as part of the imports,
so at least from inside the editor, it's possible to use the built
in xml support from jdk 1.4.
- support for 3D curves in the graphics api. this means new versions
of curve(), bezier(), curveVertex() and bezierVertex().
- sketch tweaks: naming for sketches is no longer random, but uses the
date. also, during a run, the window is now named after the current
sketch.
[ bug fixes ]
- mouse: pmouseX and pmouseY behave more like people expect
(they're set at the end of loop() instead of whenever there is
new mouse movement)
- macosx: the status bar now resizes with the rest of the
window.. this was a workaround for some apple java weirdness.
- fixed more of the issues that cause the random freezes when
hitting play
- textarea shouldn't spew so many exceptions anymore
- rectangles were drawn one pixel too large
[ a few of the known issues ]
- this release is not available for mac os 9. there were problems
just before release, and there was no point in holding up the
more important platforms for another week.
- download size for windows is getting enormous. in the future will
switch to having people download and install java 1.4 separately.
- mouse wheel only works on windows, because jdk 1.4
is required for mouse wheel, and osx is behind the times.
- it's possible to undo past where it's truly possible, so if you
undo too many times, your program might disappear. just redo.
ABOUT REV 0045 - 20 october 2002
[ internal release only ]
- major tweak to fix some of the random freezing and crashing that
occurred when hitting the 'run' button.
- changes to sketch menu: no more CVS and .cvsignore entries and
sketches are only added if they have the correct structure
- shape mode TWO_CORNERS is now called CORNERS
ABOUT REV 0044 - 2 september 2002
[ features ]
- can now use an external program to edit, such as bbedit on the pc or
emacs on unix. select 'use exteral editor' and the textarea will
become un-editable. you can then edit with your favorite text
editor, and the code will be updated in the window each time you hit
the 'run' button.
- added ability to set foreground and background colors of the
editor. editor.program.fgcolor and editor.program.bgcolor can be set
to your favorite color in pde.properties. also the the background
color indicating 'external editor' is in use can be set via
editor.program.bgcolor.external.
- more file i/o and data processing capabilities, see changes under
api additions
- 'beautify' is now enabled, though it may eat all your code in the
process. if it does, just go back to the previous version by using
the history menu, and get to the proce55ing website and let us know
the change of events.
[ api additions ]
- String[] loadStrings(String filename)
returns the lines of a file as entries in an array of strings
- byte[] loadBytes(String filename)
retrieves a file's contents and places them into a byte array for
easy processing
- String[] splitStrings(String what)
String[] splitStrings(String what, char splitChar)
splits a String into several smaller strings wherever there's a
space. ie. splitStrings("quick brown fox") becomes an array with
elements "quick", "brown" and "fox". the 'splitChar' is optional,
you can have the line broken up by tabs (if you use '\t') or any
other character.
- int[] splitInts(String what)
int[] splitInts(String what, char splitChar)
same as above, but parses the line as integers
- float[] splitFloats(String what)
float[] splitFloats(String what, char splitChar)
you can imagine what this one does
[ api changes ]
- getStream is now loadStream
[ bug fixes ]
- arrow keys now work in a hokey way under macosx. this is better than
not working at all, but still not great. it's also not really my bug
fix, but a workaround for apple's bug.
- editor window can now be resized to one's content under osx
- sketch windows won't pop up offscreen anymore.. and if a sketch
window is too large, it will simply center on-screen.
- names with underscores and other illegal characters weren't being
restrained. this allowed / and : to be used when renaming/saving
sketches, which caused the app to blow up.
- console window doesn't die as it approaches 1000 lines of text
- default font size for the editor under macosx is smaller
ABOUT REV 0043 - "ALPHA" - 2 august 2002
- this is the official "alpha" release. released for all platforms
with a completed readme.txt
ABOUT REV 0042 - 2 august 2002
[ finishing up ]
- fixed ArrayIndexOutOfBoundsException in texture use
- added icon to replace the coffee cup
- 'run' button now stays highlighted properly
ABOUT REV 0041 - 1 august 2002
[ big things ]
- handling of mouse/key events smoothed out and much improved
- added a (wimpy) scrollbar for the console
- fixed problems with #ffcc00 colors
- export was failing with no 'data' dir
- background() now works for applets in draw() mode
- fixed imageMode() with 2d images
- cursor no longer hides in the editor window (hacked around this sun
java vm bug)
- linux and windows now have their own stdout.txt and stderr.txt
like the mac, so that stuff is echoed out for easier cut/paste
ABOUT REV 0040 - 1 august 2002
[ oops ]
- fixed a bug that prevented 39 from running at all. argh.
ABOUT REV 0039 - 31 july 2002
[ you feel yourself getting very sleepy ]
- repaired run/present modes.. now much smoother. use ESC to quit out
of present mode (or stop & close window when in regular mode).
- fixed links to reference and web site from file menu. works on the
mac now, and maybe even linux.
- build 'release' version of Proce55ing.exe that doesn't scare casey
and need MFC42.DLL
- tested serial for windows, macos, macosx.. serial working really
well for windows
- removed 'edit' menu because it's worthless
- fixed run.bat for windows
- many tidbits of testing on multiple platforms
ABOUT REV 0038 - 30 july 2002
[ the excitement doesn't stop ]
- fancy new packaging for all platforms... all four platforms now have
double-clickable applications, with icons and everything. macos9
even has a splash screen. linux doesn't have an icon because icons
only slow unix people down. would like to have splash screen on
other platforms but probably no time to implement before alpha.
- lots of work in getting macosx and macos9 versions cleaner, stabler,
and prettier. os9 is still super slow (at least on my poopy
powerbook) but it runs.
- serial port code now working (well) under windows
- examples are now included in the sketchbook
ABOUT REV 0037 - 27 july 2002
[ a few great things ]
- 'history' now implemented, jump back to old versions of your app
- now saves applet window position between runs
- no exception when size() not called!
[ that go great together ]
- slightly different technique for substituting f's
- comment mangler codec no long mangling so badly
- console converts tabs in stdout/stderr to spaces for indent
- line numbers for errors now slightly more correct
- linefeed weirdness in code base
- the data dir can now have subfolders
- more new make.sh/dist.sh goodness
- wrote to everyone who had signed up for the alpha
- still receiving bounced mail
ABOUT REV 0036 - 27 july 2002
significant hacking coming into deadline for alpha release
[ features and additions ]
- first rev off the press with the more semi-automated build
system. should be much easier to build all four platforms
more-or-less simultaneously.
- folded serial into BApplet, though it's not fixed
- built macos9 version
[ bug fixes and tweaks ]
- fixed exception when quitting on linux and mac
- fixed height and background of buttons in the status area (macosx)
- introduced os-specific properties files
- fixed setPixel(i, j, #99cc00)
- mouse no longer being funny when outside a 100x100 box in
120x120 window
ABOUT REV 0035 - 23 july 2002
- duplicate/rename replaced with save as
- curves were broken (didn't draw anything)
now they're not (they draw things)
- curve() now makes more sense and fits all four points provided
- using translate() no longer makes lines turn black. ahem.
- fixed status message color
- added newline before program code when exporting .java files
- removed NullPointerException on startup
ABOUT REV 0034 - 22 july 2002
- fixed the problems with launching applets, implemented frame
around the applet being run, also implemented presentation mode
- with any luck this one should be a little more stable than some
of these other ones in the 30s series that i keep releasing without
any sensible amount of quality control.
ABOUT REV 0033 - 8 july 2002
- duplicate and rename now implemented, more (should be all) of
the menus are actually functional. some are hacks (item to
launch proce55ing.net and the reference) but things should be
generally more consistent.
ABOUT REV 0032 - 7 july 2002
- another major release that irons out issues of export and
the toolbar. a button for a new project is included, and
the toolbar items properly open/load/save entries to/from
the sketchbook. export should be working, as should external
files accessed via getImage/getStream/etc.
ABOUT REV 0031 - 5 july 2002
- this is a major release, representing several victories.
most important: sketchbook is finally in there. every piece
of work is a 'sketch', a very lightweight project setup.
- export has not been tested and has a good bit of new code
so that may be problematic.
- menubar with all available options--note that these relate to
sketchbook, and that the toolbar buttons may not work as well.
use menus/key commands where possible(!)
- generally more application-like with prompts for the user
for saving changes when closing a sketch or quitting.
editor now keeps track of changes made. window positions and
the last sketch opened are saved.
- concept of a user name associated with the app, right now
just set to 'default' but in beta will be able to change
the name for workshops and general use.
- current items in sketchbook (serial/dbn) aren't in correct format,
and won't work if you switch to them
ABOUT REV 0030 - 2 july 2002
- fix bug where comments were being removed from exported files
- new 'color' datatype, the following are now valid:
color c = color(23, 45, 99);
color c = #ff00cc;
ABOUT REV 0029 - 1 july 2002
- actually updated pde.jar, export, pde.properties, BApplet.java
in sketchbook, removed extra dbn.pde from lib (it's in sketchbk)
- new api: triangle, quad (put rect back too)
- keyPressed() and mousePressed() events
- new functions: degrees(), radians()
- new color tidbits (though color still ints) final solution
for get/set pixel debate
ABOUT REV 0028 - 1 july 2002
- serial port should work again (win32comm was missing)
- modified pde.properties slightly for console and header
- added output console the main interface
- old-style c++ int(), float(), char(), byte() all work
for casting of datatypes, instead of confusing c syntax
- size now works in draw() mode
- fixed annoying findSelection bug spew on startup
- 0.4f now works, formerly wasn't allowed
- lots of preprocessor tweaking for exceptional cases
- jre now in its own subdirectory, separate from 'lib'
ABOUT REV 0027 - 7 june 2002
- released on the floor of dis2002. welcome to london.
- editor.buttons.bgcolor was having issues
- plane is now quad, PLANE is now QUAD
_ latest iteration of colors and buttons
ABOUT REV 0026 - 7 june 2002
- fixed the situation where i'm a dork and forgot to
actually update the pde.jar file, which had rendered the
changes in rev 0025 irrelevant
ABOUT REV 0025 - 6 june 2002
- 'rect' is now 'plane'
- QUADS are now PLANES, QUAD_STRIP is PLANE_STRIP
- curve() and bezier() now behave the same way
- made all ui colors/fonts accessible from pde.properties
- fixed long font names for the mac release
ABOUT REV 0024 - 22 april 2002 afternoon
- lighting was broken, but no longer
- turned lights off by default
ABOUT REV 0023 - 22 april 2002 3am
- versions 21 through 23 dealt with getting the beast to work smoothly
for the numer workshop
ABOUT REV 0020
major release, significant, code-destroying changes
- largeish handful of api changes (see docs for update)
- naming of api for BagelImage and others changed to BImage
- ProcessingApplet is now BApplet
- doesn't work on the mac due to update problem
- new user interface (not all features work yet)
- no longer need to use 'f' with floats
in fact, don't ever use f with floats b/c you'll get an error
ABOUT REV 0019 - 25 february 2002
noticeable changes:
- many changes to names of functions in api
- default background color is gray, size is 100x100
internal changes:
- single color function, colors properly clamped, MemoryImageSource
moved into ProcessingApplet
- rect() now affected by transforms more properly
- long list of other tidbits in cvs
ABOUT REV 0018 - 11 february 2002
bug fix:
- i broke fonts in the last release. now they work again. my own fault
for trying to improve things.
feature:
- projectSize(x, y, z, width, height, depth) is like projectPoint()
but allows you to transform an object shape to screen space and puts
the size into g.projX, g.projY, g.projZ
ABOUT REV 0017 - 23 january 2002
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 - 20 january 2002
- disabled (by default) the sketchiness from the previous version. so
the commportinuse trouble is back, unless you re-enable the hack
in the pde.properties file and set 'play.external' to true
- no actual code changes in this version, but just upped the rev
number to avoid confusion
ABOUT REV 0015 - 11 december 2001
known issues:
- this version of processing is even more sketchy than many other
ones. but maybe it fix two huge issues, so i'm releasing it
anyways with this caveat. just go back to 14 or another one if this
gives you too much trouble.
features and tweaks:
- includes a strange hack that fixes the CommPortInUseException that
had been so annoying, forcing you to restart processing to run your
apps. the downside is that the fix means that if there's an error in
your app, you have to check the console (the msdos prompt) for the
error line, because it won't get highlighted automatically
- switch to the IBM's java virtual machine. it seems stabler than the
sun one, and sun's stinks because of that nasty screen flickering
bonanza that starts after you've been running processing for a bit.
ABOUT REV 0014 - 10 december 2001
features and tweaks:
- completely flat, unresized images are now significantly faster. this
affects any time that you use image(img, x, y) and you haven't yet
used translate/rotate/scale/etc.
- thin, one pixel lines are much much faster, provided you aren't
scaling them larger, by say scale(10) or something like that.
- new version of java compiler (kjc) that hopefully sucks less.
- bezierCurve() and catmullRomCurve() have reappeared
bugs fixed:
- way too many OutOfMemoryErrors and maybe that nasty flickery/jumpy
thing.
- 3D calls to vertex() weren't making things 3D unless a translate or
a rotate was used
known issues:
- flickery/jumpy thing after the applet runs for a little while. this
is a bug in sun's java virtual machine (i can't actually program the
pyrotechnics you're seeing on your screen) but may have resurfaced
due to low memory conditions because run.bat was screwed up. so the
problem may be fixed. hopefully. maybe. hmm.
- i've tweaked a bunch of stuff in this release but haven't had a lot
of time to test. things look like they're doing much better. but as
is the case with any release, you can always go back to a previous
version if the new one gives you too much trouble.
ABOUT REV 0013
features and tweaks:
- you can set the background color to be used when your applet is
in full screen mode. in lib/pde.properties change the line
fullscreen.bgcolor=#0080ff
to include whatever color you want. the syntax is the same as web
pages, although you aren't limited to the web palette.
- screenGrab() functionality! get happy.
add screenGrab() at the end of your loop() function to produce
a series of numbered tiff-format images that can be imported
into a video editing app. or call screenGrab() when the mouse is
pressed to take quick snapshots.
- colorcube applet is updated to the current release.
it is also now included in the sketchbook/examples directory.
- for the technically inclined or curious, the source code for
ProcessingApplet is included in the sketchbook/standard directory.
it's not particularly pretty, since it's continually changing, but
can be useful if you're wondering about how things work.
bugs fixed:
- the fix for rev 12 wasn't actually included in rev 12. grr.
this implies 1) i'm an idiot, and 2) rev 11 and 12 are the same.
- ellipse was drawing opposite the direction of the origin.
- default program now actually works--replaced colorScale()
- editor was selecting the wrong line for errors.
ABOUT REV 0012 - 29 november 2001
this was a simple fix for a big problem... programs that included
'extends ProcessingApplet' didn't work and gave a cryptic error
message. other than that, no new features.
ABOUT REV 0011 - 28 november 2001
i've changed (broken) enough things in this new release that i'm
writing down a list of changes. your programs may run a little funny
in rev 11, but it's all for the better in the long run. let me know if
you have trouble getting things to work. and of course, keep a copy of
rev 9 around in case things go wrong.
that said, rev 11 should be a much happier place to work. due to the
harrassment of your classmates, i've completed (simple) font support,
among other things.
[for those who missed rev 10, it only existed for 15 minutes, because a
bug was found as i was preparing to send it out.]
FONTS are working. a simple example:
void setup() {
size(300, 300);
setFont(loadFont("fonts/Univers76.vlw.gz"));
fill(200, 200, 00);
background(10, 70, 200);
}
void loop() {
rect(10, 10, 100, 100);
translate(mouseX, mouseY);
scale(20, 20);
text("I'm a little typeface short and stout", 0, 0);
}
the 0, 0 part at the end of 'text' is the x, y location to put it.
the scale(20, 20) means 20 point font (fonts are 1 pixel high).
(note that with the scale() in there, the x, y coords for text() will
also be multiplied by 20x.)
bunch of cheezy fonts are included in a 'fonts' directory. not
sure if i'll include these in the future, but at least it's a start.
IMAGES are working. a simple example:
BagelImage b;
void setup() {
size(300, 300);
fill(100);
b = loadImage("max_van_kleek.gif");
}
void loop() {
image(b, mouseX, mouseY);
}
this drags poor max around the screen with the mouse position. the
image should be in the same directory as run.bat. jpeg images can be
used too.
RANDOM() functions, more random than ever
// get a float between 0 and 40, or [0..40) for math weenies
float a = random(40);
// get a float between -1 and 1
float b = random(-1, 1);
// get an int between 0 and 9
int c = (int) random(10);
PIXELS... you want them
pixels[] is an int array that contains all of the image data from the
screen, in ARGB format (packed into ints). play away.
if you don't know what that means and would like to use the pixel
array directly, let me know.
FIXED WIDTH FONTS
make-your-own-fixed-width-fonts-in-photoshop are supported.
but i'm not gonna bother documenting them unless someone asks.
ALTERCATIONS
+ rect(x, y, width, height) instead of rect(x1, y1, x2, y2)
+ ellipse(x, y, width, height) instead of oval
+ box(size) instead of cube()
+ box(width, height, depth) instead of box(x1, y1, z1, x2, y2, z2)
+ sphere(size) stays the same
+ image() instead of imageRect()
+ translate(x, y) in addition to translate(x, y, z)
+ scale(size) and scale(x, y) in addition to scale(x, y, z)
+ rotate(angle) rotates by angle in 2D
+ rotateX, rotateY, rotateZ (angle) each rotate by angle
around their respective axes
+ transform( .. 16 floats here .. ) if you think you're matrix math
genius and wanna play with your own transformations
LESS ANNOYANCE
+ no longer write software backwards! new shapes being drawn actually
replace older shapes, even when using flat, 2D surfaces.
+ no need to use 'extends KjcProcessingApplet' anymore, just use
'extends ProcessingApplet', and processing will figure out whether
the 'Kjc' part is relevant or not.
PROBABLY NEVER NOTICED
+ colorScale() no longer exists. use colorMode(RGB, ...)
instead, where ... is whatever you would've put inside colorScale()
+ included run95.bat for people who are using 95/98/ME. you can use
this .bat if run.bat opens a dos window and closes it quickly
without starting processing. just put processing at the base of your
c: drive in a folder called 'processing'.