diff --git a/app/src/processing/app/Preferences.java b/app/src/processing/app/Preferences.java index 77343774e..e8ae91d75 100644 --- a/app/src/processing/app/Preferences.java +++ b/app/src/processing/app/Preferences.java @@ -117,7 +117,6 @@ public class Preferences { JCheckBox memoryOverrideBox; JTextField memoryField; JCheckBox checkUpdatesBox; - //JTextField fontSizeField; JComboBox fontSizeField; JComboBox consoleSizeField; JCheckBox inputMethodBox; @@ -131,13 +130,9 @@ public class Preferences { JCheckBox importSuggestionsBox; JCheckBox codeCompletionTriggerBox; - //JRadioButton bitsThirtyTwoButton; - //JRadioButton bitsSixtyFourButton; - JComboBox displaySelectionBox; int displayCount; - //Font[] monoFontList; String[] monoFontFamilies; JComboBox fontSelectionBox; @@ -168,16 +163,6 @@ public class Preferences { // check for platform-specific properties in the defaults String platformExt = "." + PConstants.platformNames[PApplet.platform]; //$NON-NLS-1$ int platformExtLength = platformExt.length(); -// Enumeration e = table.keys(); -// while (e.hasMoreElements()) { -// String key = (String) e.nextElement(); -// if (key.endsWith(platformExt)) { -// // this is a key specific to a particular platform -// String actualKey = key.substring(0, key.length() - platformExtLength); -// String value = get(key); -// table.put(actualKey, value); -// } -// } // Get a list of keys that are specific to this platform ArrayList platformKeys = new ArrayList(); @@ -201,17 +186,6 @@ public class Preferences { // other things that have to be set explicitly for the defaults setColor("run.window.bgcolor", SystemColor.control); //$NON-NLS-1$ - // Load a prefs file if specified on the command line -// if (commandLinePrefs != null) { -// try { -// load(new FileInputStream(commandLinePrefs)); -// -// } catch (Exception poe) { -// Base.showError("Error", -// "Could not read preferences from " + -// commandLinePrefs, poe); -// } -// } else if (!Base.isCommandLine()) { // next load user preferences file preferencesFile = Base.getSettingsFile(PREFS_FILE); if (!preferencesFile.exists()) { @@ -232,7 +206,6 @@ public class Preferences { preferencesFile.getAbsolutePath() + " and restart Processing.", ex); } -// } } PApplet.useNativeSelect = @@ -257,11 +230,6 @@ public class Preferences { dialog = new JFrame("Preferences"); dialog.setResizable(false); -// GroupLayout layout = new GroupLayout(getContentPane()); -// dialog.getContentPane().setLayout(layout); -// layout.setAutoCreateGaps(true); -// layout.setAutoCreateContainerGaps(true); - Container pain = dialog.getContentPane(); pain.setLayout(null); @@ -296,11 +264,6 @@ public class Preferences { PApplet.selectFolder("Select new sketchbook location", "sketchbookCallback", dflt, Preferences.this, dialog); -// File file = -// Base.selectFolder("Select new sketchbook location", dflt, dialog); -// if (file != null) { -// sketchbookLocationField.setText(file.getAbsolutePath()); -// } } }); pain.add(button); @@ -357,12 +320,9 @@ public class Preferences { label = new JLabel("Editor font size: "); box.add(label); - //fontSizeField = new JTextField(4); fontSizeField = new JComboBox(FONT_SIZES); fontSizeField.setEditable(true); box.add(fontSizeField); -// label = new JLabel(" (requires restart of Processing)"); -// box.add(label); box.add(Box.createHorizontalStrut(GUI_BETWEEN)); label = new JLabel("Console font size: "); @@ -374,9 +334,6 @@ public class Preferences { pain.add(box); d = box.getPreferredSize(); box.setBounds(left, top, d.width, d.height); -// Font editorFont = Preferences.getFont("editor.font"); - //fontSizeField.setText(String.valueOf(editorFont.getSize())); -// fontSizeField.setSelectedItem(editorFont.getSize()); fontSizeField.setSelectedItem(Preferences.getFont("editor.font.size")); top += d.height + GUI_BETWEEN; @@ -509,8 +466,6 @@ public class Preferences { // [ ] Use smooth text in editor window editorAntialiasBox = new JCheckBox("Use smooth text in editor window"); -// new JCheckBox("Use smooth text in editor window " + -// "(requires restart of Processing)"); pain.add(editorAntialiasBox); d = editorAntialiasBox.getPreferredSize(); // adding +10 because ubuntu + jre 1.5 truncating items @@ -585,19 +540,6 @@ public class Preferences { top += d.height + GUI_BETWEEN; -// // [ ] Use multiple .jar files when exporting applets -// -// exportSeparateBox = -// new JCheckBox("Use multiple .jar files when exporting applets " + -// "(ignored when using libraries)"); -// pain.add(exportSeparateBox); -// d = exportSeparateBox.getPreferredSize(); -// // adding +10 because ubuntu + jre 1.5 truncating items -// exportSeparateBox.setBounds(left, top, d.width + 10, d.height); -// right = Math.max(right, left + d.width); -// top += d.height + GUI_BETWEEN; - - // [ ] Delete previous application folder on export deletePreviousBox = @@ -609,17 +551,7 @@ public class Preferences { top += d.height + GUI_BETWEEN; -// // [ ] Use external editor -// -// externalEditorBox = new JCheckBox("Use external editor"); -// pain.add(externalEditorBox); -// d = externalEditorBox.getPreferredSize(); -// externalEditorBox.setBounds(left, top, d.width + 10, d.height); -// right = Math.max(right, left + d.width); -// top += d.height + GUI_BETWEEN; - - - // [ ] Use external editor + // [ ] Hide tab/toolbar background image whinyBox = new JCheckBox("Hide tab/toolbar background image (requires restart)"); pain.add(whinyBox); @@ -672,30 +604,6 @@ public class Preferences { } - // Launch programs as [ ] 32-bit [ ] 64-bit (Mac OS X only) - - /* - if (Base.isMacOS()) { - box = Box.createHorizontalBox(); - label = new JLabel("Launch programs in "); - box.add(label); - bitsThirtyTwoButton = new JRadioButton("32-bit mode "); - box.add(bitsThirtyTwoButton); - bitsSixtyFourButton = new JRadioButton("64-bit mode"); - box.add(bitsSixtyFourButton); - - ButtonGroup bg = new ButtonGroup(); - bg.add(bitsThirtyTwoButton); - bg.add(bitsSixtyFourButton); - - pain.add(box); - d = box.getPreferredSize(); - box.setBounds(left, top, d.width, d.height); - top += d.height + GUI_BETWEEN; - } - */ - - // More preferences are in the ... label = new JLabel("More preferences can be edited directly in the file"); @@ -889,52 +797,12 @@ public class Preferences { System.err.println("Ignoring bad memory setting"); } - /* - // was gonna use this to check memory settings, - // but it quickly gets much too messy - if (getBoolean("run.options.memory")) { - Process process = Runtime.getRuntime().exec(new String[] { - "java", "-Xms" + memoryMin + "m", "-Xmx" + memoryMax + "m" - }); - processInput = new SystemOutSiphon(process.getInputStream()); - processError = new MessageSiphon(process.getErrorStream(), this); - } - */ - - /* - // If a change has been made between 32- and 64-bit, the libraries need - // to be reloaded so that their native paths are set correctly. - if (Base.isMacOS()) { - String oldBits = get("run.options.bits"); //$NON-NLS-1$ - String newBits = bitsThirtyTwoButton.isSelected() ? "32" : "64"; //$NON-NLS-1$ //$NON-NLS-2$ - if (!oldBits.equals(newBits)) { - set("run.options.bits", newBits); //$NON-NLS-1$ - for (Mode m : base.getModeList()) { - m.rebuildLibraryList(); - } - } - } - */ - // Don't change anything if the user closes the window before fonts load if (fontSelectionBox.isEnabled()) { String fontFamily = (String) fontSelectionBox.getSelectedItem(); set("editor.font.family", fontFamily); } - /* - String newSizeText = fontSizeField.getText(); - try { - int newSize = Integer.parseInt(newSizeText.trim()); - //String pieces[] = PApplet.split(get("editor.font"), ','); //$NON-NLS-1$ - //pieces[2] = String.valueOf(newSize); - //set("editor.font", PApplet.join(pieces, ',')); //$NON-NLS-1$ - set("editor.font.size", String.valueOf(newSize)); - - } catch (Exception e) { - Base.log("Ignoring invalid font size " + newSizeText); //$NON-NLS-1$ - } - */ try { Object selection = fontSizeField.getSelectedItem(); if (selection instanceof String) { @@ -988,23 +856,11 @@ public class Preferences { warningsCheckerBox.setSelected(getBoolean("pdex.warningsEnabled")); codeCompletionBox.setSelected(getBoolean("pdex.ccEnabled")); codeCompletionTriggerBox.setSelected(getBoolean("pdex.ccTriggerEnabled")); - // set all settings entry boxes to their actual status -// exportSeparateBox. -// setSelected(getBoolean("export.applet.separate_jar_files")); deletePreviousBox. setSelected(getBoolean("export.delete_target_folder")); //$NON-NLS-1$ - //closingLastQuitsBox. - // setSelected(getBoolean("sketchbook.closing_last_window_quits")); - //sketchPromptBox. - // setSelected(getBoolean("sketchbook.prompt")); - //sketchCleanBox. - // setSelected(getBoolean("sketchbook.auto_clean")); - sketchbookLocationField. setText(get("sketchbook.path")); //$NON-NLS-1$ -// externalEditorBox. -// setSelected(getBoolean("editor.external")); checkUpdatesBox. setSelected(getBoolean("update.check")); //$NON-NLS-1$ @@ -1013,9 +869,7 @@ public class Preferences { updateDisplayList(); int displayNum = getInteger("run.display"); //$NON-NLS-1$ -// System.out.println("display is " + displayNum + ", d count is " + displayCount); if (displayNum >= 0 && displayNum < displayCount) { -// System.out.println("setting num to " + displayNum); displaySelectionBox.setSelectedIndex(displayNum); } @@ -1037,22 +891,6 @@ public class Preferences { memoryField. setText(get("run.options.memory.maximum")); //$NON-NLS-1$ - /* - if (Base.isMacOS()) { - String bits = Preferences.get("run.options.bits"); //$NON-NLS-1$ - if (bits.equals("32")) { //$NON-NLS-1$ - bitsThirtyTwoButton.setSelected(true); - } else if (bits.equals("64")) { //$NON-NLS-1$ - bitsSixtyFourButton.setSelected(true); - } - // in case we go back and support OS X 10.5... - if (System.getProperty("os.version").startsWith("10.5")) { //$NON-NLS-1$ //$NON-NLS-2$ - bitsSixtyFourButton.setSelected(true); - bitsThirtyTwoButton.setEnabled(false); - } - } - */ - if (autoAssociateBox != null) { autoAssociateBox. setSelected(getBoolean("platform.auto_file_type_associations")); //$NON-NLS-1$ @@ -1080,37 +918,11 @@ public class Preferences { void initFontList() { - /* - if (monoFontList == null) { - monoFontList = Toolkit.getMonoFontList().toArray(new Font[0]); - fontSelectionBox.setModel(new DefaultComboBoxModel(monoFontList)); - fontSelectionBox.setRenderer(new FontNamer()); - - // Preferred size just makes it extend to the container - //fontSelectionBox.setSize(fontSelectionBox.getPreferredSize()); - // Minimum size is better, but cuts things off (on OS X), so we add 20 - //Dimension minSize = fontSelectionBox.getMinimumSize(); - //Dimension minSize = fontSelectionBox.getPreferredSize(); - //fontSelectionBox.setSize(minSize.width + 20, minSize.height); - fontSelectionBox.setEnabled(true); - } - */ if (monoFontFamilies == null) { monoFontFamilies = Toolkit.getMonoFontFamilies(); fontSelectionBox.setModel(new DefaultComboBoxModel(monoFontFamilies)); String family = get("editor.font.family"); -// System.out.println("family is " + family); -// System.out.println("font sel items = " + fontSelectionBox.getItemCount()); -// for (int i = 0; i < fontSelectionBox.getItemCount(); i++) { -// String item = (String) fontSelectionBox.getItemAt(i); -// if (fontSelectionBox.getItemAt(i) == family) { -// System.out.println("found at index " + i); -// } else if (item.equals(family)) { -// System.out.println("equals at index " + i); -// } else { -// System.out.println("nothing doing: " + item); -// } -// } + // Set a reasonable default, in case selecting the family fails fontSelectionBox.setSelectedItem("Monospaced"); fontSelectionBox.setSelectedItem(family); @@ -1134,22 +946,6 @@ public class Preferences { } - // Workaround for Apple bullsh*t caused by their not releasing a 32-bit - // version of Java for Mac OS X 10.5. -// static public String checkBits() { -// String bits = Preferences.get("run.options.bits"); -// if (bits == null) { -// if (System.getProperty("os.version").startsWith("10.5")) { -// bits = "64"; -// } else { -// bits = "32"; -// } -// Preferences.set("run.options.bits", bits); -// } -// return bits; -// } - - // ................................................................. @@ -1208,20 +1004,8 @@ public class Preferences { // all the information from preferences.txt - //static public String get(String attribute) { - //return get(attribute, null); - //} - static public String get(String attribute /*, String defaultValue */) { return table.get(attribute); - /* - //String value = (properties != null) ? - //properties.getProperty(attribute) : applet.getParameter(attribute); - String value = properties.getProperty(attribute); - - return (value == null) ? - defaultValue : value; - */ } @@ -1359,28 +1143,4 @@ public class Preferences { } return new Font("Dialog", Font.PLAIN, 12); } - - - /* - static public SyntaxStyle getStyle(String what) { - String str = get("editor." + what + ".style"); //, dflt); //$NON-NLS-1$ //$NON-NLS-2$ - - StringTokenizer st = new StringTokenizer(str, ","); //$NON-NLS-1$ - - String s = st.nextToken(); - if (s.indexOf("#") == 0) s = s.substring(1); //$NON-NLS-1$ - Color color = Color.DARK_GRAY; - try { - color = new Color(Integer.parseInt(s, 16)); - } catch (Exception e) { } - - s = st.nextToken(); - boolean bold = (s.indexOf("bold") != -1); //$NON-NLS-1$ -// boolean italic = (s.indexOf("italic") != -1); //$NON-NLS-1$ - //System.out.println(what + " = " + str + " " + bold + " " + italic); - -// return new SyntaxStyle(color, italic, bold); - return new SyntaxStyle(color, bold); - } - */ } diff --git a/app/src/processing/mode/java/runner/Runner.java b/app/src/processing/mode/java/runner/Runner.java index 8812627c9..4fbf5f8f1 100644 --- a/app/src/processing/mode/java/runner/Runner.java +++ b/app/src/processing/mode/java/runner/Runner.java @@ -63,19 +63,6 @@ public class Runner implements MessageConsumer { // Thread transferring remote output stream to our output stream protected Thread outThread = null; - // Mode for tracing the Trace program (default= 0 off) -// protected int debugTraceMode = 0; - - // Do we want to watch assignments to fields -// protected boolean watchFields = false; - -// // Class patterns for which we don't want events -// protected String[] excludes = { -// "java.*", "javax.*", "sun.*", "com.sun.*", -// "apple.*", -// "processing.*" -// }; - protected SketchException exception; protected Editor editor; protected JavaBuild build; @@ -138,60 +125,6 @@ public class Runner implements MessageConsumer { // Everyone works the same under Java 7 (also on OS X) String[] commandArgs = new String[] { Base.getJavaPath(), jdwpArg }; - /* - String[] commandArgs = null; - if (!Base.isMacOS()) { - commandArgs = new String[] { - Base.getJavaPath(), - jdwpArg - }; - } else { - // Decided to just set this to 1.6 only, because otherwise it's gonna - // be a shitshow if folks are getting Apple's 1.6 with 32-bit and - // Oracle's 1.7 when run in 64-bit mode. ("Why does my sketch suck in - // 64-bit? Why is retina broken?) - // The --request flag will prompt to install Apple's 1.6 JVM if none is - // available. We're specifying 1.6 so that we can get support for both - // 32- and 64-bit, because Oracle won't be releasing Java 1.7 in 32-bit. - // Helpfully, the --request flag is not present on Mac OS X 10.6 - // (luckily it is also not needed, because 1.6 is installed by default) - // but it requires an additional workaround to not use that flag, - // otherwise will see an error about an unsupported option. The flag is - // available with 10.7 and 10.8, the only other supported versions of - // OS X at this point, because we require 10.6.8 and higher. That also - // means we don't need to check for any other OS versions, the user is - // a douchebag and modifies Info.plist to get around the restriction. - if (false) { - if (System.getProperty("os.version").startsWith("10.6")) { - commandArgs = new String[] { - "/usr/libexec/java_home", - "--version", "1.6", - "--exec", "java", - "-d" + Base.getNativeBits(), - jdwpArg - }; - } else { // for 10.7, 10.8, etc - commandArgs = new String[] { - "/usr/libexec/java_home", - "--request", // install on-demand - "--version", "1.6", - "--exec", "java", - "-d" + Base.getNativeBits(), -// debugArg, - jdwpArg - }; - } - } else { - // testing jdk-7u40 - commandArgs = new String[] { - //"/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java", - Base.getJavaPath(), - jdwpArg - }; - } - } - */ - commandArgs = PApplet.concat(commandArgs, vmParams); commandArgs = PApplet.concat(commandArgs, sketchParams); // PApplet.println(commandArgs); @@ -482,153 +415,6 @@ public class Runner implements MessageConsumer { } - /* - protected VirtualMachine launchVirtualMachine(String[] vmParams, - String[] classParams) { - //vm = launchTarget(sb.toString()); - LaunchingConnector connector = (LaunchingConnector) - findConnector("com.sun.jdi.RawCommandLineLaunch"); - //PApplet.println(connector); // gets the defaults - - //Map arguments = connectorArguments(connector, mainArgs); - Map arguments = connector.defaultArguments(); - - Connector.Argument commandArg = - (Connector.Argument)arguments.get("command"); - // Using localhost instead of 127.0.0.1 sometimes causes a - // "Transport Error 202" error message when trying to run. - // http://dev.processing.org/bugs/show_bug.cgi?id=895 - // String addr = "127.0.0.1:" + (8000 + (int) (Math.random() * 1000)); - //String addr = "localhost:" + (8000 + (int) (Math.random() * 1000)); - // Better yet, host is not needed, so using just the port for the address - String addr = "" + (8000 + (int) (Math.random() * 1000)); - - String commandArgs = - "java -Xrunjdwp:transport=dt_socket,address=" + addr + ",suspend=y "; - if (Base.isMacOS()) { - // Decided to just set this to 1.6 only, because otherwise it's gonna - // be a shitshow if folks are getting Apple's 1.6 with 32-bit and - // Oracle's 1.7 when run in 64-bit mode. ("Why does my sketch suck in - // 64-bit? Why is retina broken?) - // The --request flag will prompt to install Apple's 1.6 JVM if none is - // available. We're specifying 1.6 so that we can get support for both - // 32- and 64-bit, because Oracle won't be releasing Java 1.7 in 32-bit. - // Helpfully, the --request flag is not present on Mac OS X 10.6 - // (luckily it is also not needed, because 1.6 is installed by default) - // but it requires an additional workaround to not use that flag, - // otherwise will see an error about an unsupported option. The flag is - // available with 10.7 and 10.8, the only other supported versions of - // OS X at this point, because we require 10.6.8 and higher. That also - // means we don't need to check for any other OS versions, unless - // is a douchebag and modifies Info.plist to get around the restriction. - addr = "" + (8000 + (int) (Math.random() * 1000)); - commandArgs = - "/usr/libexec/java_home " + - (System.getProperty("os.version").startsWith("10.6") ? "" : "--request ") + - "--version 1.6 " + - "--exec java " + - "-d" + Base.getNativeBits() + " " + - "-Xrunjdwp:transport=dt_socket,address=" + addr + ",suspend=y "; - } - - for (int i = 0; i < vmParams.length; i++) { - commandArgs = addArgument(commandArgs, vmParams[i], ' '); - } - if (classParams != null) { - for (int i = 0; i < classParams.length; i++) { - commandArgs = addArgument(commandArgs, classParams[i], ' '); - } - } - System.out.println("commandArgs is " + commandArgs); - commandArg.setValue(commandArgs); - - Connector.Argument addressArg = - (Connector.Argument)arguments.get("address"); - addressArg.setValue(addr); - - //PApplet.println(connector); // prints the current - //com.sun.tools.jdi.AbstractLauncher al; - //com.sun.tools.jdi.RawCommandLineLauncher rcll; - - //System.out.println(PApplet.javaVersion); - // http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html#sunlaunch - try { - return connector.launch(arguments); - } catch (IOException exc) { - throw new Error("Unable to launch target VM: " + exc); - } catch (IllegalConnectorArgumentsException exc) { - throw new Error("Internal error: " + exc); - } catch (VMStartException exc) { - Process p = exc.process(); - //System.out.println(p); - String[] errorStrings = PApplet.loadStrings(p.getErrorStream()); - //String[] inputStrings = - PApplet.loadStrings(p.getInputStream()); - - if (errorStrings != null && errorStrings.length > 1) { - if (errorStrings[0].indexOf("Invalid maximum heap size") != -1) { - Base.showWarning("Way Too High", - "Please lower the value for \u201Cmaximum available memory\u201D in the\n" + - "Preferences window. For more information, read Help \u2192 Troubleshooting.", - exc); - } else { - PApplet.println(errorStrings); - System.err.println("Using startup command:"); - PApplet.println(arguments); - } - } else { - exc.printStackTrace(); - System.err.println("Could not run the sketch (Target VM failed to initialize)."); - if (Preferences.getBoolean("run.options.memory")) { - // Only mention this if they've even altered the memory setup - System.err.println("Make sure that you haven't set the maximum available memory too high."); - } - System.err.println("For more information, read revisions.txt and Help \u2192 Troubleshooting."); - } - // changing this to separate editor and listener [091124] - //if (editor != null) { - listener.statusError("Could not run the sketch."); - //} - return null; - } - } - - - private static boolean hasWhitespace(String string) { - int length = string.length(); - for (int i = 0; i < length; i++) { - if (Character.isWhitespace(string.charAt(i))) { - return true; - } - } - return false; - } - - - private static String addArgument(String string, String argument, char sep) { - if (hasWhitespace(argument) || argument.indexOf(',') != -1) { - // Quotes were stripped out for this argument, add 'em back. - StringBuffer buffer = new StringBuffer(string); - buffer.append('"'); - for (int i = 0; i < argument.length(); i++) { - char c = argument.charAt(i); - if (c == '"') { - buffer.append('\\'); -// buffer.append("\\\\"); - } - buffer.append(c); - } - buffer.append('"'); - buffer.append(sep); - return buffer.toString(); - - } else { - return string + argument + String.valueOf(sep); - } - } - */ - - /** * Generate the trace. * Enable events, start thread to display events, diff --git a/core/todo.txt b/core/todo.txt index 21c48b082..c7549f51a 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -11,10 +11,6 @@ X move to native OS X full screen (gets rid of native code) X https://github.com/processing/processing/issues/2641 _ sometimes causes placement to temporarily be in the wrong spot -_ need a better method for "missing" data in Table -_ if missing int is zero, can't just remove those values from saving a table -_ but for NaN values, it's a necessity - pulls X implement A and a (elliptical arcs) @@ -30,7 +26,13 @@ applet removal _ remove Applet as base class _ performance issues on OS X (might be threading due to Applet) _ https://github.com/processing/processing/issues/2423 +_ play with improvements to full screen here + +processing.data +_ need a better method for "missing" data in Table +_ if missing int is zero, can't just remove those values from saving a table +_ but for NaN values, it's a necessity _ fix for maxValue() and minValue() when all entries are bad _ on FloatDict it was NaN, check across the lists and other dict types _ StringDict should always put NaN values at the end on sort @@ -40,11 +42,21 @@ _ get() methods in List/Dict shouldn't allow you to get bad values _ but set() methods can automatically resize the arrays _ though that means insert() should allow you to insert past the end _ should we allow negative indices so that we can work relative to the end? +_ add print() method to other data types (not just IntList) +_ 'collector' class.. Dict that points to a list +_ String as a key, int/float/string list as values +_ addRow() is not efficient, probably need to do the doubling +o or have a setIncrement() function? +_ it would default to 1 on tables loaded from a file +_ and default to doubling when created with "new Table" +_ row count and array size are combined.. need to break apart +_ match and iterators +_ add match version that returns table that's only a pointer to original +_ save the constructor for the version that actually copies data +_ the table pointer version will be speedy and allow chaining -_ better full screen mode for OS X -_ https://github.com/processing/processing/issues/2641 -_ http://stackoverflow.com/questions/6873568/fullscreen-feature-for-java-apps-on-osx-lion +later _ bring back chaining in JSON (and add to XML) _ maybe once we make the PVector change @@ -54,8 +66,6 @@ _ Closing opengl sketch from the PDE doesn't stop java process on windows _ https://github.com/processing/processing/issues/2335 _ StingList.insert() error (should be an easy fix) _ https://github.com/processing/processing/issues/2548 -_ pull for image resize and alpha issues -_ https://github.com/processing/processing/pull/2324 _ dataPath() not working when app is not run from app dir on Linux _ https://github.com/processing/processing/issues/2195 _ "Buffers have not been created" error for sketches w/o draw() @@ -66,6 +76,7 @@ _ some sort of threading issue happening here _ https://github.com/processing/processing/issues/1672 _ https://github.com/processing/processing/issues/2039 (dupe) _ https://github.com/processing/processing/issues/2294 (dupe) +_ also check this out with the new full screen code on OS X _ point() rendering differently in 2.0.3 and 2.1 _ https://github.com/processing/processing/issues/2278 _ internally, we probably have to call set() if it's a 1 pixel point @@ -75,13 +86,10 @@ _ https://github.com/processing/processing/issues/2428 _ default font fixes _ https://github.com/processing/processing/issues/2331 _ https://github.com/processing/processing/pull/2338 -_ add print() method to other data types (not just IntList) _ 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 -_ 'collector' class.. Dict that points to a list -_ String as a key, int/float/string list as values _ add option to have full screen span across screens _ display=all in cmd line _ sketchDisplay() -> 0 for all, or 1, 2, 3... @@ -93,6 +101,7 @@ _ draw(s) doesn't work on the returned PShape _ TGA files writing strangely _ https://github.com/processing/processing/issues/2096 + hidpi _ saveFrame() with retina render is making black images _ zero alpha values still a problem with retina renderer @@ -109,21 +118,13 @@ _ https://github.com/processing/processing/issues/2411 _ retina sketches slow to start _ https://github.com/processing/processing/issues/2357 + cantfix _ crash on startup when "Mirror Displays" selected _ suspect that this is a specific chipset since Oracle didn't reproduce _ https://github.com/processing/processing/issues/2186 +_ test with JG's 13" retina laptop -table -_ addRow() is not efficient, probably need to do the doubling -_ or have a setIncrement() function? -_ it would default to 1 on tables loaded from a file -_ and default to doubling when created with "new Table" -_ row count and array size are combined.. need to break apart -_ match and iterators -_ add match version that returns table that's only a pointer to original -_ save the constructor for the version that actually copies data -_ the table pointer version will be speedy and allow chaining decisions/misc _ make join() work with Iterable? diff --git a/todo.txt b/todo.txt index fee146299..87a8cd030 100644 --- a/todo.txt +++ b/todo.txt @@ -11,6 +11,8 @@ X possible to open a sketch multiple times X by double-clicking one of its files instead of the main pde file X user opens non-main pde of already open sketch, it'll open again X https://github.com/processing/processing/issues/2506 +X remove the prefs for 32/64-bit from Preferences +X also remove the extra OS X cruft inside Runner.java gsoc X clear status messages in the Contribution Manager @@ -41,15 +43,6 @@ o https://github.com/processing/processing/issues/2639 X moving p5 examples to the web repo X remove reference.zip from main repo -_ SOCKS proxy not working: -_ https://github.com/processing/processing/issues/2643 -_ detect proxy settings? -_ old issue: https://github.com/processing/processing/issues/1476 -_ http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html -_ http://docs.oracle.com/javase/1.5.0/docs/guide/net/proxies.html -_ http://stackoverflow.com/questions/4933677/detecting-windows-ie-proxy-setting-using-java -_ http://www.java2s.com/Code/Java/Network-Protocol/DetectProxySettingsforInternetConnection.htm - _ huge i18n patch _ https://github.com/processing/processing/pull/2084 @@ -85,6 +78,7 @@ _ make reference and examples build process part of dist _ separate ant targets, but only require them for dist _ as separate targets, folks can build explicitly if they'd like + gsoc/help me _ `return` keyword not treated as such when followed by a bracket _ https://github.com/processing/processing/issues/2099 @@ -97,6 +91,7 @@ _ https://github.com/processing/processing/issues/2531 _ closing the color selector makes things freeze (only Linux and Windows?) _ https://github.com/processing/processing/issues/2381 + medium _ check on why 2x core.jar inside the Java folder _ maybe OS X Java can't look in subfolders? (just auto-adds things) @@ -146,9 +141,19 @@ _ PDE and sketches are 2x smaller on high-res Windows 8 machines _ https://github.com/processing/processing/issues/2411 +lower +_ SOCKS proxy not working: +_ https://github.com/processing/processing/issues/2643 +_ the code that gets/sets the pref is in Preferences +_ detect proxy settings? +_ old issue: https://github.com/processing/processing/issues/1476 +_ http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html +_ http://docs.oracle.com/javase/1.5.0/docs/guide/net/proxies.html +_ http://stackoverflow.com/questions/4933677/detecting-windows-ie-proxy-setting-using-java +_ http://www.java2s.com/Code/Java/Network-Protocol/DetectProxySettingsforInternetConnection.htm + + post 2.1 cleaning -_ remove the prefs for 32/64-bit from Preferences -_ remove the extra OS X cruft inside Runner.java _ exclude 'fonts' folder from build (since it's going into the JRE)