diff --git a/core/src/processing/data/Table.java b/core/src/processing/data/Table.java index d98a9db51..c270dd96e 100644 --- a/core/src/processing/data/Table.java +++ b/core/src/processing/data/Table.java @@ -159,6 +159,7 @@ public class Table { for (TableRow row : rows) { if (!typed) { setColumnTypes(row.getColumnTypes()); + typed = true; } addRow(row); } @@ -417,6 +418,10 @@ public class Table { char[] c = new char[100]; int count = 0; boolean insideQuote = false; + + int alloc = 100; + setRowCount(100); + int row = 0; int col = 0; int ch; @@ -462,14 +467,23 @@ public class Table { } setString(row, col, new String(c, 0, count)); count = 0; - if (row == 0 && header) { + row++; + if (row == 1 && header) { // Use internal row removal (efficient because only one row). removeTitleRow(); // Un-set the header variable so that next time around, we don't // just get stuck into a loop, removing the 0th row repeatedly. header = false; + // Reset the number of rows (removeTitleRow() won't reset our local 'row' counter) + row = 0; + } +// if (row % 1000 == 0) { +// PApplet.println(PApplet.nfc(row)); +// } + if (row == alloc) { + alloc *= 2; + setRowCount(alloc); } - row++; col = 0; } else if (ch == ',') { @@ -491,6 +505,9 @@ public class Table { if (count > 0) { setString(row, col, new String(c, 0, count)); } + if (alloc != row) { + setRowCount(row); // shrink to the actual size + } } diff --git a/core/todo.txt b/core/todo.txt index e36fe1606..224efcd5a 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -6,6 +6,12 @@ X https://github.com/processing/processing/issues/257 X PVector discussion with Dan o Jer and Dan will look at their code, plus toxiclibs +table +X major performance improvements to 'newlines' parsing +X debugging table parsing with header rows +X bug fix for setting data type + + applet removal _ remove Applet as base class _ performance issues on OS X (might be threading due to Applet) @@ -73,6 +79,8 @@ _ hint(ENABLE_RETINA_PIXELS) or hint(ENABLE_HIDPI_PIXELS) _ hint(ENABLE_2X_PIXELS)? _ hidpi is Apple's name as well _ no high-res display support for OpenGL +_ https://github.com/processing/processing/issues/2573 +_ https://jogamp.org/bugzilla/show_bug.cgi?id=741 _ no high-dpi support for core on Windows _ https://github.com/processing/processing/issues/2411 _ retina sketches slow to start diff --git a/todo.txt b/todo.txt index 04786c30c..087bc1ead 100644 --- a/todo.txt +++ b/todo.txt @@ -3,12 +3,19 @@ X increase heap size to 256m (-Xmx256) per Manindra request X use a ButtonGroup so that the current Mode cannot be de-selected X https://github.com/processing/processing/issues/2545 -_ color selector for the pref -_ https://github.com/processing/processing/pull/2568 pulls X Implementation of a list of open sketches in the Sketch menu X https://github.com/processing/processing/pull/2551 +_ color selector for the pref (not reading it properly) +_ https://github.com/processing/processing/pull/2568 + +_ look at the sound library https://github.com/wirsing/ProcessingSound + +_ moving p5 examples to the web repo +all examples are out of "processing/java" and are now in "processing-docs/content/". The Book examples have been removed entirely from our repositories. +_ remove reference.zip from main repo +_ processing-web/java_generate/ReferenceGenerator _ try new syntax package _ possibility of libraries folder inside a particular sketch? @@ -23,8 +30,6 @@ _ move examples into web repo _ 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 -_ remove reference.zip from main repo -_ processing-web/java_generate/ReferenceGenerator _ shouldn't write sketch.properties unless it's a non-default mode _ https://github.com/processing/processing/issues/2531