From 9336e018a2b2144ce85aad1510c93ad87b6d9dbd Mon Sep 17 00:00:00 2001 From: benfry Date: Sun, 14 Aug 2005 20:18:40 +0000 Subject: [PATCH] todo items and some additional documentation --- build/shared/libraries/howto.txt | 32 ++++++++++++++++++++++---------- todo.txt | 11 +++++------ video/Capture.java | 11 +++++++++-- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/build/shared/libraries/howto.txt b/build/shared/libraries/howto.txt index 568befb82..67be0c9f6 100644 --- a/build/shared/libraries/howto.txt +++ b/build/shared/libraries/howto.txt @@ -22,8 +22,22 @@ may want to implement the dispose() call, which is called as the applet is closed. Many libraries, especially those with native code, need this to properly shut down. +It is not recommended that you try to build libraries from within +Processing itself. The PDE is built with the sole purpose of creating +short sketches that are part of PApplet that have a few files at most. +We don't plan to extend the PDE to also support developing libraries +(or tools, once those are enabled) because then it simply becomes like +any other IDE that is quickly too general for our target audience. +Users who are advanced enough in their programming skills to build +libraries should almost always be skilled enough to use another IDE +like Eclipse or something else (if they aren't already) to build +their library. -// Notes on Library distribution (added 19 April 2005 by REAS) + +////////////////////////////////////////////////////////////// + + +Notes on Library distribution There are two categories of libraries -- "core" libraries, which are a part of the Processing distribution, and "contributed libraries" @@ -55,15 +69,13 @@ Processing plan to enable simple extensions of the core API in new, innovative, and unexpected directions. The libraries are the future of the project. We don't plan to grow the core library extensively. - - +(added 19 April 2005 by REAS) ////////////////////////////////////////////////////////////// -A very basic library example: - +A Very Basic Example package libraryexample; @@ -86,7 +98,7 @@ public class BoringLibrary { ////////////////////////////////////////////////////////////// -LIBRARY METHODS +Library Methods public void pre() method that's called just after beginFrame(), meaning that it @@ -171,7 +183,7 @@ which also covers things like modifiers (shift-click) and whatnot. ////////////////////////////////////////////////////////////// -STRUCTURE +Structure of a Library Folder The Sonia library by Amit Pitaru is a good example here. To make a library called sonia, you create a folder called "sonia" and within @@ -327,7 +339,7 @@ javac -source 1.3 -target 1.1 -d . ////////////////////////////////////////////////////////////// -ADDING YOUR OWN LIBRARY EVENTS +Adding Your Own Library Events So that your library can notify the host applet that something interesting has happened, this is how you implement an event @@ -369,7 +381,7 @@ public class FancyLibrary { ////////////////////////////////////////////////////////////// -NAMING +Library Naming Rules Libraries, or classes inside them, should not be prefixed with "P" the way that the core Processing classes are (PImage, PGraphics, etc). @@ -388,4 +400,4 @@ things as well. ////////////////////////////////////////////////////////////// -Ben Fry, Last updated 9 June 2005 +Ben Fry, Last updated 14 August 2005 diff --git a/todo.txt b/todo.txt index e4b4a99c5..fdb6bdde1 100644 --- a/todo.txt +++ b/todo.txt @@ -37,6 +37,10 @@ X timing fix introduce regression on linux X extra (NUL?) chars are added X i.e. on first run, the ten blank lines each have a li'l box X http://dev.processing.org/bugs/show_bug.cgi?id=118 +X faq: "my applet doesn't work on export"... where to check for errors +X very common: cached version is being used +X go through methods to properly flush the cache +X can also just change the name fixed in previous releases X closing window w/o first hitting stop() causes freak out @@ -56,11 +60,6 @@ _ properly handle non-ascii chars in p5 folder name _ http://dev.processing.org/bugs/show_bug.cgi?id=49 _ or at least warn the user to install somehwere else -_ faq: "my applet doesn't work on export"... where to check for errors -_ very common: cached version is being used -_ go through methods to properly flush the cache -_ can also just change the name - _ make a note in the library howto about using something besides p5 _ don't allow subfolders forever inside the sketchbook folder @@ -81,7 +80,7 @@ bugzilla problems X localconfig has been modified, need to update for everything _ "back to bug #110" should be on one line _ text fields on "post bug" won't let me click -_ (i.e. "Reassign but to" and "duplicate of bug #") +_ (i.e. "Reassign bug to" and "duplicate of bug #") _ continually de-select themselves so i can't paste or type text _ remove "platform" and "severity".. set them to "all" and "normal" _ buglist.cgi diff --git a/video/Capture.java b/video/Capture.java index 18d10a864..9241b017e 100755 --- a/video/Capture.java +++ b/video/Capture.java @@ -119,9 +119,16 @@ public class Capture extends PImage implements Runnable { * If 'name' is null or the empty string, it won't set a specific * device, which means that QuickTime will use that last device * used by a QuickTime application. - *

+ *

+ * Unfortunately, Apple's QuickTime API uses the name to select devices, + * and in some cases there might be cameras with the same name on a machine. + * If you ask for a camera of the same name in sequence, you might see if it + * just does the right thing and grabs each separate camera in succession. + * If that doesn't work, you might try calling settings() which will + * bring up the prompt where you can select a capture device. + *

* If the following function: - * public void captureEvent(Capture c) + *

public void captureEvent(Capture c)
* is defined int the host PApplet, then it will be called every * time a new frame is available from the capture device. */