This commit is contained in:
Manindra Moharana
2014-11-16 10:07:11 -07:00
12 changed files with 329 additions and 59 deletions

View File

@@ -300,6 +300,11 @@ public class Language {
if (equals != -1) {
String key = line.substring(0, equals).trim();
String value = line.substring(equals + 1).trim();
// fix \n and \'
value = value.replaceAll("\\\\n", "\n");
value = value.replaceAll("\\\\'", "'");
table.put(key, value);
}
}

View File

@@ -50,13 +50,24 @@ public class PdeKeywords extends TokenMarker {
int num = coloring.charAt(coloring.length() - 1) - '1';
// byte id = (byte) ((isKey ? Token.KEYWORD1 : Token.LITERAL1) + num);
int id = 0;
boolean paren = false;
switch (coloring.charAt(0)) {
case 'K': id = Token.KEYWORD1 + num; break;
case 'L': id = Token.LITERAL1 + num; break;
case 'F': id = Token.FUNCTION1 + num; paren = true; break;
case 'K':
id = Token.KEYWORD1 + num;
keywordColoring.add(keyword, (byte) id, false);
if (id == Token.KEYWORD6) {
// these can be followed by parens
keywordColoring.add(keyword, (byte) id, true);
}
break;
case 'L':
id = Token.LITERAL1 + num;
keywordColoring.add(keyword, (byte) id, false);
break;
case 'F':
id = Token.FUNCTION1 + num;
keywordColoring.add(keyword, (byte) id, true);
break;
}
keywordColoring.add(keyword, (byte) id, paren);
}

View File

@@ -215,6 +215,7 @@ public class PdeTextAreaDefaults extends TextAreaDefaults {
styles[Token.KEYWORD3] = mode.getStyle("keyword3");
styles[Token.KEYWORD4] = mode.getStyle("keyword4");
styles[Token.KEYWORD5] = mode.getStyle("keyword5");
styles[Token.KEYWORD6] = mode.getStyle("keyword6");
styles[Token.FUNCTION1] = mode.getStyle("function1");
styles[Token.FUNCTION2] = mode.getStyle("function2");

View File

@@ -56,32 +56,35 @@ public class Token {
/** Datatypes (int, boolean, etc.) */
public static final byte KEYWORD5 = 10;
/** Keywords which can be followed by parenthesis */
public static final byte KEYWORD6 = 11;
/** Functions */
public static final byte FUNCTION1 = 11;
public static final byte FUNCTION1 = 12;
/** Methods (functions inside a class) */
public static final byte FUNCTION2 = 12;
public static final byte FUNCTION2 = 13;
/** Loop/function-like blocks (for, while, etc.) */
public static final byte FUNCTION3 = 13;
public static final byte FUNCTION3 = 14;
/** Built-in Processing functions (setup, draw, mouseDragged). */
public static final byte FUNCTION4 = 14;
public static final byte FUNCTION4 = 15;
/**
* Operator token id. This can be used to mark an
* operator. (eg, SQL mode marks +, -, etc with this
* token type)
*/
public static final byte OPERATOR = 15;
public static final byte OPERATOR = 16;
/**
* Invalid token id. This can be used to mark invalid
* or incomplete tokens, so the user can easily spot
* syntax errors.
*/
public static final byte INVALID = 16;
public static final byte INVALID = 17;
/** The total number of defined token ids. */
public static final byte ID_COUNT = INVALID + 1;

View File

@@ -34,13 +34,25 @@
<property name="examples.dir"
value="../../processing-docs/content/examples" />
<property name="jdk.version" value="7" />
<property name="jdk.update" value="72" />
<property name="jdk.build" value="14" />
<property name="jdk.stuff" value="${jdk.version}u${jdk.update}" />
<property name="jdk.esoteric" value="1.${jdk.version}.0_${jdk.update}" />
<!-- Figure out the JRE download location for Linux and Windows. -->
<condition property="jre.file" value="jre-7u40-${platform}-i586.tgz">
<condition property="jre.file"
value="jre-${jdk.stuff}-${platform}-i586.tar.gz">
<equals arg1="${sun.arch.data.model}" arg2="32" />
</condition>
<condition property="jre.file" value="jre-7u40-${platform}-x64.tgz">
<condition property="jre.file"
value="jre-${jdk.stuff}-${platform}-x64.tar.gz">
<equals arg1="${sun.arch.data.model}" arg2="64" />
</condition>
<!-- JDK location for Mac OS X -->
<condition property="jdk.file" value="jdk-${jdk.stuff}-macosx-x64.dmg">
<equals arg1="${platform}" arg2="macosx" />
</condition>
<fileset dir="windows/work/java" id="jre-optional-windows">
<include name="bin/dtplugin" />
@@ -154,13 +166,13 @@
</condition>
<!-- Set the version of Java that must be present to build. -->
<property name="jdk.update.macosx" value="72" />
<property name="jdk.path.macosx" value="/Library/Java/JavaVirtualMachines/jdk1.7.0_${jdk.update.macosx}.jdk" />
<property name="jdk.path.macosx"
value="/Library/Java/JavaVirtualMachines/jdk${jdk.esoteric}.jdk" />
<available file="${jdk.path.macosx}" property="macosx_jdk_found" />
<fail if="macosx" unless="macosx_jdk_found"
message="JDK 7u${jdk.update.macosx} required.${line.separator}To build on OS X, you must install Oracle's JDK 7u${jdk.update.macosx} from${line.separator}http://www.oracle.com/technetwork/java/javase/downloads${line.separator}Note that only 7u${jdk.update.macosx} (not a later or earlier version) will work. ${line.separator}And it must be the JDK, not the JRE. And do not try to defy me again." />
message="JDK ${jdk.stuff} required.${line.separator}To build on OS X, you must install Oracle's JDK ${jdk.stuff} from${line.separator}http://www.oracle.com/technetwork/java/javase/downloads${line.separator}or http://download.processing.org/java/${jdk.file}${line.separator}Note that only ${jdk.stuff} (not a later or earlier version) will work. ${line.separator}And it must be the JDK, not the JRE. And do not try to defy me again." />
<!--
<fail if="linux" unless="java_tools_found"
message="The JAVA_HOME variable must be set to the location of a full JDK. For instance, on Ubuntu Linux, this might be /usr/lib/jvm/java-6-sun." />
@@ -475,7 +487,7 @@
Also, because Ant's copy task does not retain file permissions on Unix systems,
we need to use <exec executable="cp" ... > instead -->
<exec executable="cp">
<arg line="${jdk.path.macosx}/Contents/Home/bin/keytool macosx/work/Processing.app/Contents/PlugIns/jdk1.7.0_${jdk.update.macosx}.jdk/Contents/Home/jre/bin"/>
<arg line="${jdk.path.macosx}/Contents/Home/bin/keytool macosx/work/Processing.app/Contents/PlugIns/jdk${jdk.esoteric}.jdk/Contents/Home/jre/bin"/>
</exec>
<copy todir="macosx/work/Processing.app/Contents/Java">
@@ -488,7 +500,7 @@
<!--
Processing.app/Contents/PlugIns/jdk1.7.0_40.jdk/Contents/Home/jre/lib/fonts
-->
<copy todir="macosx/work/Processing.app/Contents/PlugIns/jdk1.7.0_${jdk.update.macosx}.jdk/Contents/Home/jre/lib/fonts">
<copy todir="macosx/work/Processing.app/Contents/PlugIns/jdk${jdk.esoteric}.jdk/Contents/Home/jre/lib/fonts">
<fileset dir="shared/lib/fonts" includes="*" />
</copy>
@@ -543,7 +555,7 @@
<arg value="--force" />
<arg value="--sign" />
<arg value="Developer ID Application" />
<arg value="Processing.app/Contents/PlugIns/jdk1.7.0_${jdk.update.macosx}.jdk" />
<arg value="Processing.app/Contents/PlugIns/jdk${jdk.esoteric}.jdk" />
</exec>
<exec executable="/usr/bin/codesign" dir="macosx/work">
@@ -649,12 +661,7 @@
<copy file="linux/processing" tofile="linux/work/processing-java" />
<chmod perm="ugo+x" file="linux/work/processing-java" />
<!--
<property name="jre.file"
value="jre-tools-6u37-linux${sun.arch.data.model}.tgz" />
-->
<get src="http://processing.googlecode.com/files/${jre.file}"
<get src="http://download.processing.org/java/${jre.file}"
dest="linux/jre.tgz"
usetimestamp="true" />
@@ -687,10 +694,10 @@
<exec executable="rsync" dir="linux">
<arg value="-a" />
<arg value="--delete" />
<arg value="jre1.7.0_40/" />
<arg value="jre${jdk.esoteric}/" />
<arg value="work/java" />
</exec>
<delete dir="linux/jre1.7.0_40" />
<delete dir="linux/jre${jdk.esoteric}" />
<!-- Remove unused JRE bloat. -->
<delete failonerror="true">
@@ -820,7 +827,7 @@
</chmod>
<!-- starting with 2.0a7, require the local JRE + tools.jar -->
<get src="http://processing.googlecode.com/files/${jre.file}"
<get src="http://download.processing.org/java/${jre.file}"
dest="windows/jre.tgz"
usetimestamp="true" />
@@ -833,7 +840,8 @@
dest="windows/work"
src="windows/jre.tgz"
overwrite="false" />
<move file="windows/work/jre1.7.0_40" tofile="windows/work/java" />
<move file="windows/work/jre${jdk.esoteric}"
tofile="windows/work/java" />
<!-- Remove space-wasting JavaFX garbage. -->
<delete failonerror="true">

View File

@@ -248,6 +248,7 @@ editor.token.keyword2.style = #33997e,plain
editor.token.keyword3.style = #669900,plain
editor.token.keyword4.style = #d94a7a,plain
editor.token.keyword5.style = #e2661a,plain
editor.token.keyword6.style = #33997e,plain
editor.token.literal1.style = #7D4793,plain
editor.token.literal2.style = #718a62,plain

View File

@@ -1,3 +1,161 @@
PROCESSING 3.0a5 (REV 0232) - 16 November 2014
Hello from the University of Denver! This release has tons of bug fixing
and incorporating various pull requests.
[ changes ]
+ Removed the sound library, it's now available as its own library
from the Library Manager.
+ Change how languages are loaded, adding a local override.
+ Update to use JRE/JDK 7u72 .
+ Implement the active() method for Serial and Server
https://github.com/processing/processing/issues/2364
https://github.com/processing/processing/pull/2588
+ Detect CMYK JPEG images and return null
https://community.oracle.com/thread/1272045?start=0&tstart=0
+ Fix XML.getString() with a default when no attrs are present at all.
It was causing a NullPointerException; this also fixes getInt(), et al.
+ Fix how dictionary classes return '0' for missing values. Add optional
second parameter so that it's possible to avoid the exceptions.
+ Fix how nulls are handled with Table.replace()
+ Add (simple) ODS writer to Table
+ Add addRows(Table) method (more efficient, one resize)
+ Support "header" option with ODS files
[ bug fixes ]
+ Remove debug message printed to the console when the control key
is pressed, when using the new editor.
+ size(640,360 , P3D) doesn't work properly (strange spacing)
https://github.com/processing/processing/issues/2924
https://github.com/processing/processing/pull/2925
+ Fix the shortcut keybindings in editor tab popup menu
https://github.com/processing/processing/issues/179
https://github.com/processing/processing/pull/2821
+ Fix for ToolTipManager error
https://github.com/processing/processing/issues/2926
+ Confusing message: The shader doesn't have a uniform called "foo"
https://github.com/processing/processing/issues/2593
+ Exceptions in P3D / P2D not showing up properly
https://github.com/processing/processing/issues/2930
[ contributed fixes ]
+ Cmd + H runs sketch instead of hiding the PDE (OS X)
https://github.com/processing/processing/issues/2881
+ Migrate to unsynchronized data structures
https://github.com/processing/processing/pull/2863
+ Improve contrib manager localization
https://github.com/processing/processing/pull/2870
+ Fix typo in spanish translation
https://github.com/processing/processing/pull/2906
+ Update ECJ, use 1.7 as source and target Java version
https://github.com/processing/processing/pull/2907
+ Fix infinite recursion in sound library
https://github.com/processing/processing/pull/2897
+ Add missing generic type parameters
https://github.com/processing/processing/pull/2899
+ Remove unused Base.builtOnce instance variable
https://github.com/processing/processing/pull/2864
+ Other miscellaneous fixes
https://github.com/processing/processing/pull/2865
+ Moved the language stuff to its own separate folder
https://github.com/processing/processing/pull/2941
+ Some minor UpdateChecker refactorings
https://github.com/processing/processing/pull/2830
+ Minor improvements to the Contribution Manager's updates check
https://github.com/processing/processing/pull/2861
+ Make Cut and Copy in the edit menu active only if some text is selected
https://github.com/processing/processing/pull/2834
+ Fix renaming from RGB to Rgb.java and others
https://github.com/processing/processing/pull/2825
+ Sketches should only write to the console of their editor window
https://github.com/processing/processing/issues/153
https://github.com/processing/processing/issues/2858
https://github.com/processing/processing/pull/2827
+ Extend translations and update German language
https://github.com/processing/processing/pull/2949
+ NullPointerException message when Server writes to a disconnected client
https://github.com/processing/processing/issues/2577
https://github.com/processing/processing/pull/2578
+ Fix check in loadShader()
https://github.com/processing/processing/pull/2867
+ Refined PShader uniform missing message fixes
https://github.com/processing/processing/pull/2869
+ Use correct parameter types in FloatList methods
https://github.com/processing/processing/pull/2902
+ Pass correct offset to glCopyTexSubImage2D
https://github.com/processing/processing/pull/2898
+ beginShape(POINTS) not working for PShape
https://github.com/processing/processing/issues/2912
https://github.com/processing/processing/pull/2915
+ Multiple blending fixes & improvements
https://github.com/processing/processing/pull/2921
https://github.com/processing/processing/issues/2807
https://github.com/processing/processing/issues/1224
https://github.com/processing/processing/pull/2601
https://github.com/processing/processing/issues/1844
+ Prevent lerpColor from always rounding down
https://github.com/processing/processing/issues/2812
https://github.com/processing/processing/pull/2813
+ Allow mask() with PGraphicsJava2D
https://github.com/processing/processing/pull/2910
+ OpenGL renderers ignore vertex winding in contours
https://github.com/processing/processing/issues/2665
https://github.com/processing/processing/pull/2927
+ NPE when calling Client.ip() after the connection has been closed
https://github.com/processing/processing/issues/2576
https://github.com/processing/processing/pull/2922
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROCESSING 3.0a4 (REV 0231) - 12 September 2014
Another release to deal with a handful of bugs found in the last alpha.

View File

@@ -281,7 +281,7 @@ public class PApplet extends Applet
// public int displayY;
/**
* ( begin auto-generated from screenWidth.xml )
* ( begin auto-generated from displayWidth.xml )
*
* System variable which stores the width of the computer screen. For
* example, if the current screen resolution is 1024x768,
@@ -299,11 +299,11 @@ public class PApplet extends Applet
public int displayWidth;
/**
* ( begin auto-generated from screenHeight.xml )
* ( begin auto-generated from displayHeight.xml )
*
* System variable that stores the height of the computer screen. For
* example, if the current screen resolution is 1024x768,
* <b>screenWidth</b> is 1024 and <b>screenHeight</b> is 768. These
* <b>displayWidth</b> is 1024 and <b>displayHeight</b> is 768. These
* dimensions are useful when exporting full-screen applications.
* <br /><br />
* To ensure that the sketch takes over the entire screen, use "Present"

View File

@@ -2,9 +2,21 @@
X detect CMYK JPEG images and return null
X https://community.oracle.com/thread/1272045?start=0&tstart=0
python has to use launch() instead of open()
map() is bad for Python (and JavaScript?)
data
X fix XML.getString() with a default when no attrs are present at all
X was causing a NullPointerException
X also fixes getInt() et al
X fix how dict works to not return '0' values
X add optional second param
X fixed for FloatDict and IntDict
X StringDict won't throw an exception, but optional second param added
X add insert() with a single item to StringList, IntList, FloatList
table
X fix how nulls are handled with Table.replace()
X add (simple) ODS writer to Table
X add addRows(Table) method (more efficient, one resize)
X support "header" option with ODS files
pulls
X Fix check in loadShader()
@@ -13,6 +25,20 @@ X Refined PShader uniform missing message fixes
X https://github.com/processing/processing/pull/2869
X Use correct parameter types in FloatList methods
X https://github.com/processing/processing/pull/2902
X Pass correct offset to glCopyTexSubImage2D
X https://github.com/processing/processing/pull/2898
X beginShape(POINTS) not working for PShape
X https://github.com/processing/processing/issues/2912
X https://github.com/processing/processing/pull/2915
X Multiple blending fixes & improvements
X https://github.com/processing/processing/pull/2921
X https://github.com/processing/processing/issues/2807
X https://github.com/processing/processing/issues/1224
o https://github.com/processing/processing/pull/2601
o Sort out blending differences with P2D/P3D
o might be that compatible images not setting alpha mode correctly
o image = gc.createCompatibleVolatileImage(source.width, source.height, Transparency.TRANSLUCENT);
o https://github.com/processing/processing/issues/1844
X Prevent lerpColor from always rounding down
X https://github.com/processing/processing/issues/2812
X https://github.com/processing/processing/pull/2813
@@ -25,7 +51,6 @@ X NPE when calling Client.ip() after the connection has been closed
X https://github.com/processing/processing/issues/2576
X https://github.com/processing/processing/pull/2922
andres
A Confusing message: The shader doesn't have a uniform called "foo"
A https://github.com/processing/processing/issues/2593
@@ -33,6 +58,30 @@ A Exceptions in P3D / P2D not showing up properly
A https://github.com/processing/processing/issues/2930
0233 (3.0a6)
graphics
X roll back full screen changes
X https://github.com/processing/processing/issues/2641
X remove isGL(), is2D(), is3D(), displayable() from PApplet
X these were auto-imported from PGraphics
X remove pause variable from PApplet (was not documented)
X added copy() to PImage (to work like get(), ala PVector)
_ remove sketch path hack from PApplet
python has to use launch() instead of open()
map() is bad for Python (and JavaScript?)
_ args[] should be null if none passed (otherwise args == null checks are weird)
_ size(640,360 , P3D) doesn't work properly
_ https://github.com/processing/processing/issues/2924
_ why doesn't p5 punt when loadFont() is used on an otf?
_ is this a GL problem?
_ show warning when display spanning is turned off
_ defaults read com.apple.spaces spans-displays
applet/component
_ remove Applet as base class
_ performance issues on OS X (might be threading due to Applet)
@@ -47,8 +96,9 @@ _ make sure it works with retina/canvas/strategy as well
processing.data
_ lots of 'data' changes down below
_ need a better method for "missing" data in Table
_ add fromOrder() and others? otherwise need temp object:
_ categoryIndexLookup = new StringList(flavors).getOrder();
_ handling of 'missing' values in Table needs serious work
_ if missing int is zero, can't just remove those values from saving a table
_ but for NaN values, it's a necessity
_ get() methods in List/Dict shouldn't allow you to get bad values
@@ -68,6 +118,8 @@ _ the table pointer version will be speedy and allow chaining
later
_ bring back chaining in JSON (and add to XML)
_ maybe once we make the PVector change
_ bezierSegment() function to do equal-length segments
_ https://github.com/processing/processing/issues/2919
high
@@ -90,10 +142,6 @@ _ internally, we probably have to call set() if it's a 1 pixel point
_ but that's going to be a mess.. need to first check the CTM
_ tint() not working in PDF (regression between 2.0.3 and 2.1)
_ https://github.com/processing/processing/issues/2428
_ Sort out blending differences with P2D/P3D
_ might be that compatible images not setting alpha mode correctly
_ image = gc.createCompatibleVolatileImage(source.width, source.height, Transparency.TRANSLUCENT);
_ https://github.com/processing/processing/issues/1844
_ finish PFont.getShape() implementation
_ needs to have a way to set width/height properly
_ draw(s) doesn't work on the returned PShape

View File

@@ -180,9 +180,7 @@ WHITESPACE LITERAL2
# Java keywords (void, import, , etc.)
abstract KEYWORD1
assert KEYWORD1
break KEYWORD1 break
case KEYWORD1 case
class KEYWORD1 class
continue KEYWORD1 continue
default KEYWORD1 default
@@ -202,12 +200,8 @@ package KEYWORD1
private KEYWORD1 private
protected KEYWORD1
public KEYWORD1 public
return KEYWORD1 return
static KEYWORD1 static
strictfp KEYWORD1
super KEYWORD1 super
this KEYWORD1 this
throw KEYWORD1
strictfp KEYWORD1
throws KEYWORD1
transient KEYWORD1
true KEYWORD1 true
@@ -215,6 +209,16 @@ void KEYWORD1 void
volatile KEYWORD1
# Java keywords which can be followed by a parenthesis
assert KEYWORD6
case KEYWORD6 case
return KEYWORD6 return
super KEYWORD6 super
this KEYWORD6 this
throw KEYWORD6
# Datatypes
Array KEYWORD5 Array

View File

@@ -180,9 +180,7 @@ WHITESPACE LITERAL2
# Java keywords (void, import, , etc.)
abstract KEYWORD1
assert KEYWORD1
break KEYWORD1 break
case KEYWORD1 case
class KEYWORD1 class
continue KEYWORD1 continue
default KEYWORD1 default
@@ -202,12 +200,8 @@ package KEYWORD1
private KEYWORD1 private
protected KEYWORD1
public KEYWORD1 public
return KEYWORD1 return
static KEYWORD1 static
strictfp KEYWORD1
super KEYWORD1 super
this KEYWORD1 this
throw KEYWORD1
strictfp KEYWORD1
throws KEYWORD1
transient KEYWORD1
true KEYWORD1 true
@@ -215,6 +209,16 @@ void KEYWORD1 void
volatile KEYWORD1
# Java keywords which can be followed by a parenthesis
assert KEYWORD6
case KEYWORD6 case
return KEYWORD6 return
super KEYWORD6 super
this KEYWORD6 this
throw KEYWORD6
# Datatypes
Array KEYWORD5 Array

View File

@@ -1,5 +1,9 @@
0232 pde (3.0a5)
X remove debug message printed to the console when the ctrl key is down in PDE X
X size(640,360 , P3D) doesn't work properly
X https://github.com/processing/processing/issues/2924
X https://github.com/processing/processing/pull/2925
X remove sound library, have it installed separately like video
X Fix the shortcut keybindings in editor tab popup menu
X https://github.com/processing/processing/issues/179
X https://github.com/processing/processing/pull/2821
@@ -9,8 +13,7 @@ X change how languages are loaded
X add local override (needs documentation)
X figure out copyDir() problems before pull
o moving window to a new location is broken due to the pull
_ add script to download JRE and JDK from Oracle
X update to use new 7u72 version of JRE (and JDK) stuff
manindra
X ToolTipManager error
@@ -23,6 +26,10 @@ X Migrate to unsynchronized data structures
X https://github.com/processing/processing/pull/2863
X improve contrib manager localization
X https://github.com/processing/processing/pull/2870
X Fix typo in spanish translation
X https://github.com/processing/processing/pull/2906
X Update ECJ, use 1.7 as source and target Java version
X https://github.com/processing/processing/pull/2907
X Fix infinite recursion in sound library
X https://github.com/processing/processing/pull/2897
X Add missing generic type parameters
@@ -45,6 +52,8 @@ X sketches should only write to the console of their editor window
X https://github.com/processing/processing/issues/153
X https://github.com/processing/processing/issues/2858
X https://github.com/processing/processing/pull/2827
X extend translations and update German language
X https://github.com/processing/processing/pull/2949
pulls (net)
X NullPointerException message when Server writes to a disconnected client
@@ -54,10 +63,23 @@ X Implement the active() method for Serial and Server
X https://github.com/processing/processing/issues/2364
X https://github.com/processing/processing/pull/2588
0233 (3.0a6)
_ any problems with new code signing crap?
_ issues raised around the symlink (just replace with a copy of the binary?)
_ https://developer.apple.com/library/prerelease/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205
_ add script to download JRE and JDK from Oracle
_ post a note about the "help" stuff
_ https://github.com/processing/processing/labels/help
_ finish Ant task to download JRE and JDK from Oracle
_ add method to prompt user to download the JDK update
_ Add support for localizing contributions
_ https://github.com/processing/processing/pull/2833
_ Fix renaming from RGB to Rgb.java and others
_ https://github.com/processing/processing/pull/2825
_ check on pull for mnemonics
_ https://github.com/processing/processing/pull/2382
@@ -71,9 +93,14 @@ _ https://github.com/processing/processing/issues/2698
_ might be something with libraries (native or otherwise)
_ move the language stuff to the settings folder
_ that way people can modify and test w/o recompiling
_ https://github.com/processing/processing/issues/2938
_ sketchbook window doesn't update when sketches are added, renamed, etc
_ https://github.com/processing/processing/issues/2944
pending
_ bug in getCaretLocation of CompositionTextPainter class
_ https://github.com/processing/processing/issues/2934
_ look at the sound library https://github.com/wirsing/ProcessingSound
_ sound is not yet supported on Windows
_ make reference build process part of dist