final tidbits, closing in on 47

This commit is contained in:
benfry
2003-01-06 01:51:40 +00:00
parent 4f87e53dd9
commit bd447f19ac
7 changed files with 247 additions and 159 deletions
+34 -51
View File
@@ -548,7 +548,8 @@ public class PdeBase extends Frame implements ActionListener {
//menu.add(newSkechItem);
//menu.addSeparator();
sketchbookFolder = new File("sketchbook");
//sketchbookFolder = new File("sketchbook");
sketchbookFolder = new File(get("sketchbook.path", "sketchbook"));
sketchbookPath = sketchbookFolder.getCanonicalPath();
if (!sketchbookFolder.exists()) {
System.err.println("sketchbook folder doesn't exist, " +
@@ -556,7 +557,6 @@ public class PdeBase extends Frame implements ActionListener {
sketchbookFolder.mkdirs();
}
// files for the current user (for now, most likely 'default')
// header knows what the current user is
@@ -570,6 +570,7 @@ public class PdeBase extends Frame implements ActionListener {
userFolder.mkdirs();
}
/*
SketchbookMenuListener userMenuListener =
new SketchbookMenuListener(userPath);
@@ -578,8 +579,8 @@ public class PdeBase extends Frame implements ActionListener {
for (int j = 0; j < entries.length; j++) {
if (entries[j].equals(".") ||
entries[j].equals("..") ||
entries[j].equals("CVS") ||
entries[j].equals(".cvsignore")) continue;
entries[j].equals("CVS")) continue;
//entries[j].equals(".cvsignore")) continue;
added = true;
if (new File(userPath, entries[j] + File.separator +
entries[j] + ".pde").exists()) {
@@ -595,51 +596,19 @@ public class PdeBase extends Frame implements ActionListener {
menu.add(item);
}
menu.addSeparator();
// other available subdirectories
/*
String toplevel[] = sketchbookFolder.list();
added = false;
for (int i = 0; i < toplevel.length; i++) {
if (toplevel[i].equals(editor.userName) ||
toplevel[i].equals(".") ||
toplevel[i].equals("..") ||
toplevel[i].equals("CVS") ||
toplevel[i].equals(".cvsignore")) continue;
added = true;
Menu subMenu = new Menu(toplevel[i]);
File subFolder = new File(sketchbookFolder, toplevel[i]);
String subPath = subFolder.getCanonicalPath();
SketchbookMenuListener subMenuListener =
new SketchbookMenuListener(subPath);
entries = subFolder.list();
if (entries != null) {
for (int j = 0; j < entries.length; j++) {
if (entries[j].equals(".") ||
entries[j].equals("..") ||
entries[j].equals("CVS") ||
entries[j].equals(".cvsignore")) continue;
//subMenu.add(entries[j]);
if (new File(subFolder, entries[j] + File.separator +
entries[j] + ".pde").exists()) {
MenuItem item = new MenuItem(entries[j]);
item.addActionListener(subMenuListener);
subMenu.add(item);
}
}
}
menu.add(subMenu);
}
if (added) menu.addSeparator();
*/
addSketches(menu, sketchbookFolder, true);
if (addSketches(menu, userFolder, false)) {
menu.addSeparator();
}
if (!addSketches(menu, sketchbookFolder, true)) {
MenuItem item = new MenuItem("No sketches");
item.setEnabled(false);
menu.add(item);
}
/*
// doesn't seem that refresh is worthy of its own menu item
// people can stop and restart p5 if they want to muck with it
// doesn't seem that refresh is worthy of its own menu item
// people can stop and restart p5 if they want to muck with it
menu.addSeparator();
MenuItem item = new MenuItem("Refresh");
item.addActionListener(this);
@@ -652,15 +621,18 @@ public class PdeBase extends Frame implements ActionListener {
}
protected void addSketches(Menu menu, File folder, boolean root)
protected boolean addSketches(Menu menu, File folder,
/*boolean allowUser,*/ boolean root)
throws IOException {
// skip .DS_Store files, etc
if (!folder.isDirectory()) return;
if (!folder.isDirectory()) return false;
String list[] = folder.list();
SketchbookMenuListener listener =
new SketchbookMenuListener(folder.getCanonicalPath());
boolean ifound = false;
for (int i = 0; i < list.length; i++) {
if (list[i].equals(editor.userName) && root) continue;
@@ -673,13 +645,20 @@ public class PdeBase extends Frame implements ActionListener {
MenuItem item = new MenuItem(list[i]);
item.addActionListener(listener);
menu.add(item);
ifound = true;
} else { // might contain other dirs, get recursive
Menu submenu = new Menu(list[i]);
menu.add(submenu);
addSketches(submenu, subfolder, false);
// needs to be separate var
// otherwise would set ifound to false
boolean found = addSketches(submenu, subfolder, false);
if (found) {
menu.add(submenu);
ifound = true;
}
}
}
return ifound;
}
@@ -1073,7 +1052,11 @@ public class PdeBase extends Frame implements ActionListener {
String str = get(which);
if (str == null) return otherwise; // ENABLE LATER
StringTokenizer st = new StringTokenizer(str, ",");
return new Font(st.nextToken(), Font.PLAIN,
String fontname = st.nextToken();
String fontstyle = st.nextToken();
return new Font(fontname,
(fonstyle.indexOf("bold") ? Font.BOLD : 0) |
(fonstyle.indexOf("italic") ? Font.ITALIC : 0),
Integer.parseInt(st.nextToken()));
}
+3 -3
View File
@@ -1116,8 +1116,8 @@ afterwards, some of these steps need a cleanup function
File file = new File(directory, filename);
try {
System.out.println("handleSave: results of getText");
System.out.print(s);
//System.out.println("handleSave: results of getText");
//System.out.print(s);
BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(s.getBytes())));
@@ -1126,7 +1126,7 @@ afterwards, some of these steps need a cleanup function
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println("w '" + line + "'");
//System.out.println("w '" + line + "'");
writer.println(line);
}
writer.flush();
+1 -1
View File
@@ -74,7 +74,7 @@ echo Building PDE for JDK 1.3
CLASSPATH=../build/macosx/work/classes:../build/macosx/work/lib/kjc.jar:../build/macosx/work/lib/oro.jar:$MACOSX_CLASSPATH
perl ../bagel/buzz.pl "jikes +D -classpath $CLASSPATH -d ../build/macosx/work/classes" -dJDK13 -dMACOS *.java lexer/*.java
perl ../bagel/buzz.pl "jikes +D -classpath $CLASSPATH -d ../build/macosx/work/classes" -dJDK13 -dMACOS *.java jeditsyntax/*.java
cd ../build/macosx/work/classes
rm -f ../lib/pde.jar
+69 -47
View File
@@ -3,32 +3,69 @@
# edit these only if you know what you're doing.
# a pound sign at the beginning of a line is a comment
# parameters need to be un-commented before they take effect
# font size for editor
#editor.program.font=Monospaced,plain,12
# foreground and background colors
#editor.program.fgcolor=#000000
#editor.program.bgcolor=#ffffff
# styles for various types of text
# comments
#editor.program.comment1.style=#666666,plain
#editor.program.comment2.style=#666666,plain
# abstract, final, private
#editor.program.keyword1.style=#aa6666,plain
# beginShape, point, line
#editor.program.keyword2.style=#993333,plain
# byte, char, short, color
#editor.program.keyword3.style=#660000,bold
# constants: null, true, this, RGB, TWO_PI
#editor.program.literal1.style=#333399,plain
# p5 built in variables: mouseX, width, pixels
#editor.program.literal2.style=#6666aa,plain
# ??
#editor.program.label.style=#009900,bold
# + - = /
editor.program.operator.style=#000000,plain
# caret blinking and caret color
#editor.program.caret.blink=true
#editor.program.caret.color=#808080
# selection color
#editor.program.selection.color=#ccccff
# highlight for the current line
#editor.program.linehighlight.enabled=true
#editor.program.linehighlight.color=#f0f0f0
# bracket/brace highlighting
#editor.program.brackethighlight.enabled=true
#editor.program.brackethighligh.color=#666666
# little pooties at the end of lines that show where they finish
#editor.program.eolmarkers.enabled=false
#editor.program.eolmarkers.color=#cccccc
# area that's not in use by the text (replaced with tildes)
#editor.program.invalid.enabled=false
#editor.program.invalid.style=#00cc00,bold
#editor.buttons.bgcolor = #999999
#editor.buttons.status.font = SansSerif,plain,10
#editor.buttons.status.color = #333333
# default/base style for everything
editor.program.default.style = Monospaced,plain,12,#000000,#ffffff
# int, void, public, etc..
editor.program.reserved_word.style = Monospaced,plain,12,#000080,#ffffff
# numbers, quoted tidbits
editor.program.literal.style = Monospaced,plain,12,#800000,#ffffff
# self explanatory
editor.program.comment.style = Monospaced,plain,12,#808080,#ffffff
editor.program.whitespace.style = Monospaced,plain,12,#000000,#ffffff
# brackets, semicolons, etc
#editor.program.separator.style = Monospaced,plain,12,#008000,#ffffff
# math guys + - / *
#editor.program.operator.style = Monospaced,plain,12,#008000,#ffffff
# just about everything (ignored, default is used instead)
#editor.program.identifier.style = Monospaced,plain,12,#000000,#ffffff
#editor.header.bgcolor = #333333
#editor.header.fgcolor.primary = #ffffff
#editor.header.fgcolor.secondary = #cccccc
@@ -48,11 +85,10 @@ editor.program.whitespace.style = Monospaced,plain,12,#000000,#ffffff
#editor.status.prompt.bgcolor = #CC9900
#editor.status.font = SansSerif,plain,12
# not necessary to set bgcolor of window b/c it comes from os
#run.window.bgcolor = #666666
#run.window.width.minimum = 120
#run.window.height.minimum = 120
#run.present.bgcolor = #999999
#editor.expand_tabs=true
#editor.tab_size=2
#editor.auto_indent=true
#editor.balance_parens=false
#serial.port = COM1
#serial.rate = 9600
@@ -60,24 +96,10 @@ editor.program.whitespace.style = Monospaced,plain,12,#000000,#ffffff
#serial.databits = 8
#serial.stopbits = 1
#editor.expand_tabs=true
#editor.tab_size=2
#editor.auto_indent=true
#editor.balance_parens=false
# these properties are no longer in use
# enable this to run hack-version mildly stabler external processing
#play.external = true
# use this with above under windows 2000
#play.externalCommand = .\\bin\\jre -cp lib;lib\\sketchbook;lib\\pde.jar;lib\\kjc.jar;lib\\comm.jar ProcessingAppletViewer
# use this with above for window 95/98/ME and you want play.external
# it will also be necessary to put processing in c:\
#play.externalCommand = C:\\processing\\bin\\jre -cp c:\\processing\\lib;c:\\processing\\lib\\pde.jar;c:\\processing\\lib\\kjc.jar;c:\\processing\\lib\\comm.jar ProcessingAppletViewer
# auto updating
#update.url = http://acg.media.mit.edu/people/fry/processing/update/
#update.url = http://imrf.or.jp/processing/update/
# preliminary for rev 0047, can point sketchbook at
# another location. this can be a full or relative path
# no promises on how well this works, and note that
# a 'default' directory will be created inside it,
# which is where any new sketches will be thrown
#sketchbook.path=sketchbook
+59 -16
View File
@@ -1,8 +1,8 @@
PROCE55ING DEVELOPMENT ENVIRONMENT
RELEASE 0046 - 20 NOVEMBER 2002
RELEASE 0047 - 5 JANUARY 2003
(c) 2002, 2001 Massachusetts Institute of Technology
(c) 2001-03 Massachusetts Institute of Technology
and Interaction Design Institute Ivrea
@@ -83,22 +83,44 @@ we prefer to call them "issues."
first, be sure to check under the notes for your specific platform to
make sure it isn't a known issue or that there isn't a simple fix.
second, check the bboard to see if something related has been
reported, or if there is already a workaround.
you can either post to the bulletin board at:
http://proce55ing.net/discourse/
or send email to bugs@proce55ing.net. the bboard is probably the
better way to go, because more people will be watching it. the email
goes straight to the developers, but their schedules are erratic and
it could be anywhere from two minutes to two weeks before you receive
it could be anywhere from two minutes to two months before you receive
a response. if you want to go straight to the bugs page, it's:
http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs
when reporting this "bug" please include information about
1. the revision number (i.e. 0043)
1. the revision number (i.e. 0047)
2. what operating system you're using, on what kind of hardware
3. a copy of your code
4. details of the error, which may be the last few lines from
the files stdout.txt or stderr.txt from the 'lib' folder.
for stranger errors during compile time, you can also look inside the
"build" folder inside "lib", which is an intermediate (translated into
java) version of your code.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KNOWN BUGS
there are many more, which are in a cryptic 'todo.txt' list that we
keep, but some of the larger ones that we know about:
- 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.
- wheel mouse is disabled again in 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
@@ -108,6 +130,9 @@ GENERAL NOTES / COMMON MISTAKES
- size() must use numbers, not variables. this is because of how
the size command is interpreted by proce55ing.
- size() must also be the first thing inside setup(). we hope to fix
this in the future, but the issue is pricklier than might be expected.
- when using draw() mode, background() must also use only numbers, and
no variables. this is similar to the issue with the size command,
because in both cases, Proce55ing needs to know the size and
@@ -130,6 +155,15 @@ GOODIES & SEMI-HIDDEN FEATURES
- for quick renaming, just click on the sketch title
- inside the 'lib' folder is a 'pde.properties' file, which contains a
handful of settings for your app and how it's set up. you can change
the coloring of things, or even change your sketchbook location
inside this file. a second file with a similar title but that
includes "windows" or "macosx" etc in the name is for tweaks
specific to your platform. for instance, we use the macosx-specific
properties file to set the font size a little differently than on
windows.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
@@ -189,8 +223,8 @@ mileage may vary if you're running something else. actually, your
mileage will vary no matter what, because who knows what this software
is gonna do. you're playing with free, alpha software. get psyched!
minimum requirements.. processing requires at least Mac OS X 10.1. if
you're running anything older than 10.2, you'll need "Java 1.3.1
minimum requirements.. processing requires at least Mac OS X 10.1.
if you're running anything older than 10.2, you'll need "Java 1.3.1
Update 1", the latter of which is available as a free update from the
"Software Update" control panel. it can also be downloaded from
http://www.apple.com/downloads/macosx/apple/ or from:
@@ -205,6 +239,9 @@ support is disabled until apple finishes an implementation of java
java team quit patting themselves on the back and get to work on
finishing 1.4.
we're currently playing with the developer preview releases of 1.4,
but haven't done anything too fancy with it yet.
"Caught java.lang.UnsatisfiedLinkError" on startup.. in order to
use the serial port under macosx, you'll need to install RXTX,
the serial port driver. this is for more advanced users, and the
@@ -343,10 +380,11 @@ would have been called "Processing" and not "Proce55ing."
PROCE55ING IS FREE TO DOWNLOAD / FREE TO USE
we think it's important to have processing freely available, rather
we think it's important to have Proce55ing freely available, rather
than selling it for a million dollars under some godawful yearly
contract update scheme. to that end, we encourage people to distribute
it widely and refer back to the site: http://Proce55ing.net
the word widely and refer them to the site: http://Proce55ing.net
on most of our own projects, we usually list them as "Built with
Proce55ing" or something similar, with a link back to the site. of
course this isn't a necessity, but it makes us happy when you do.
@@ -372,14 +410,15 @@ share anyway).
more information about the gnu public license can be found here:
http://www.gnu.org/copyleft/gpl.html
processing also includes other open projects, namely the oro matcher
and the kjc compiler. the oro tools are distributed under a bsd style
license as part of the apache jakarta project, and the kjc compiler is
part of the kopi suite of tools, which is released under the gpl. so
in fact, if the final, publicly available version of processing still
uses kjc, the code for processing will have to be released gpl.
more about the oro tools is at: http://www.savarese.org/oro/
and the home for kopi/kjc is here: http://www.dms.at/kopi/
processing also includes other open projects, namely the oro matcher,
the kjc compiler, and the jedit syntax package. the oro tools are
distributed under a bsd style license as part of the apache jakarta
project, and the kjc compiler is part of the kopi suite of tools,
which is released under the gpl. so in fact, if the final, publicly
available version of processing still uses kjc, the code for
processing will have to be released gpl. more about the oro tools is
at: http://www.savarese.org/oro/ and the home for kopi/kjc is here:
http://www.dms.at/kopi/
we're sorry that the source code isn't available just yet, we're
cleaning and scrubbing it, it was a decision between getting the alpha
@@ -387,3 +426,7 @@ out to people to try versus taking a few more weeks to clean up the
project and deal with the technology licensing departments at mit and
ivrea. these things are far more difficult and time consuming than
they would appear.
our plan is to have the code available with the first "beta" release,
which will be the first release that is publicly available and
downloadable from the site.
+41
View File
@@ -1,3 +1,44 @@
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 ]
+40 -41
View File
@@ -15,35 +15,8 @@ again, after i moved my sketches over it broke permanently...
/ 46 dies when run from desktop on some machines [jes]
/ spaces in the dir name?
o is sketch.properties getting mangled on the mac?
_ crashes while starting
LaunchRunner Error] PdeBase.main(String[]) threw an exception:
java.lang.NullPointerException
at PdeBase.addSketches(PdeBase.java:598)
at PdeBase.addSketches(PdeBase.java:615)
at PdeBase.rebuildSketchbookMenu(PdeBase.java:476)
at PdeEditor.skNew2(PdeEditor.java:872)
at PdeEditor.checkModified2(PdeEditor.java:814)
at PdeEditor.checkModified(PdeEditor.java:797)
at PdeEditor.checkModified(PdeEditor.java:785)
at PdeEditor.skNew(PdeEditor.java:826)
at PdeEditor.init(PdeEditor.java:428)
at PdeBase.<init>(PdeBase.java:361)
at PdeBase.main(PdeBase.java:102)
at java.lang.reflect.Method.invoke(Native Method)
at com.apple.buckyball.app.LaunchRunner.run(LaunchRunner.java:82)
at com.apple.buckyball.app.LaunchRunner.callMain(LaunchRunner.java:44)
at com.apple.buckyball.app.CarbonLibApp.main(CarbonLibApp.java:76)
_ recursive sketch add that works properly and ignores crap
_ jedit text area
_ change bg color for 'use external editor'
_ enable wheel mouse
_ extra linefeeds is getting annoying for folks
_ line endings joy
_ how are line endings working during save?
X jedit text area
X change bg color for 'use external editor'
X enable/disable undo/redo
X don't let undo after setting text
X get focus after setText
@@ -61,28 +34,53 @@ X rect, line etc as another
X width, height, pixels as a third
X jump to top of document on load
X change style of ~ at end of document for unused area
X extra linefeeds is getting annoying for folks
X line endings joy
X how are line endings working during save?
X recursive sketch add that works properly and ignores crap
X crashes while starting
LaunchRunner Error] PdeBase.main(String[]) threw an exception:
java.lang.NullPointerException
at PdeBase.addSketches(PdeBase.java:598)
at PdeBase.addSketches(PdeBase.java:615)
at PdeBase.rebuildSketchbookMenu(PdeBase.java:476)
at PdeEditor.skNew2(PdeEditor.java:872)
at PdeEditor.checkModified2(PdeEditor.java:814)
at PdeEditor.checkModified(PdeEditor.java:797)
at PdeEditor.checkModified(PdeEditor.java:785)
at PdeEditor.skNew(PdeEditor.java:826)
at PdeEditor.init(PdeEditor.java:428)
at PdeBase.<init>(PdeBase.java:361)
at PdeBase.main(PdeBase.java:102)
at java.lang.reflect.Method.invoke(Native Method)
at com.apple.buckyball.app.LaunchRunner.run(LaunchRunner.java:82)
at com.apple.buckyball.app.LaunchRunner.callMain(LaunchRunner.java:44)
at com.apple.buckyball.app.CarbonLibApp.main(CarbonLibApp.java:76)
X undo/redo can go to far
X docs
X make a note that size() has to come first [nluken]
X look at the code that's created in build/
X known issues
X random freezes.. especially under windows
X wheel mouse is gone again, to return later
X describe rundown of constants pulled from pde.properties
X coloring for syntax
X sketchbook.path, very preliminary, still creates 'default'
MENTION IN DOCS
_ describe rundown of constants pulled from pde.properties
................................................................
docs/faq
_ notes on debugging
_ look at the code that's created in build/
_ run with java -Xint blahblah (turns off jit)
_ known issues
_ random freezes.. especially under windows
_ make a note that size() has to come first [nluken]
_ doesn't yet run under java 1.4 on mac
_ undo/redo can go to far
_ doesn't yet run under java 1.4 on mac (?)
_ 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
................................................................
bagel
_ getting mouse movement outside the window
_ delay() should sleep the thread [glen murphy]
@@ -105,6 +103,7 @@ _ font smoothing (unless hint SMOOTH_IMAGES enabled) is broken
pde / bugs
_ re-enable wheel mouse
_ can't used random() inside constructor.. (Glen Murphy)
_ maybe related to problems loading images in constructors
_ images don't load during setup [reas]