cleaning up movie issues, closing in on release for 0125

This commit is contained in:
benfry
2007-06-17 22:20:09 +00:00
parent ee5f35cea0
commit 5ba1f9df32
7 changed files with 5147 additions and 45 deletions

File diff suppressed because one or more lines are too long

View File

@@ -28,10 +28,23 @@ Throwing out the baby with the bathwater.
Capture(PApplet parent, int width, int height, int rate)
though we'll be leaving it in because it was used so heavily.
+ Changing key command to instead use ctrl/cmd + alt + left/right,
identical to Firefox on Mac, PC and Linux. Also fixes a bug
that caused French keyboards to have problems since 0123.
http://dev.processing.org/bugs/show_bug.cgi?id=480
+ The split() method has been altered to avoid inconsistency. In fact,
it has split itself into two methods. Har har har.
split(String s), has been removed, use splitTokens(String s) instead.
split(String s, char c) remains unchanged.
split(String s, String delim) is now splitTokens(String s, String delim)
The new model is that split() breaks a String into pieces given a single
delmiter, which can be a single character or many characters. For instance,
split("Something<BR>in<BR><BR>HTML.", "<BR>")
now produces the array "Something", "in", "", "HTML".
The split() method breaks the String whenever it sees the delimiter,
so a <BR> next to another <BR> produces an empty String.
On the other hand, splitTokens() takes a list of possible delimiters,
and will consume one or more of any of them. For instance:
splitTokens("really, messed ,up with ,,, commas,", ", ");
will produce the array "really", "messed", "up", "with", "commas".
Because any group of comma or space characters (and in any order)
will simply be consumed as a single break.
+ Blending modes have been finalized for 1.0, thanks to the help
of Dave Bollinger, who contributed code to complete the set:
@@ -41,8 +54,16 @@ Throwing out the baby with the bathwater.
+ At Casey's urging, the "Color Picker" is now called the
"Color Selector".
+ The constant CENTER_RADIUS is now simply RADIUS. Both still work,
but CENTER_RADIUS should be avoided.
[ bug fixes ]
+ Changing the shortcut keys for switching tabs to instead use
ctrl/cmd + alt + left/right, identical to Firefox on Mac, PC and Linux.
Also fixes a bug that caused French keyboards to have problems since 0123.
http://dev.processing.org/bugs/show_bug.cgi?id=480
+ Properly refresh code when using an external editor (regression)
http://dev.processing.org/bugs/show_bug.cgi?id=515

View File

@@ -30,6 +30,7 @@ _ remove CENTER_RADIUS from any p5 code (i.e. examples)
X split() inconsistency (emailed casey, will discuss later)
X make split(String, String) behave like String.split(String)
X and make current split(String) into splitTokens(String)
X that means split(String) no longer exists
_ add splitTokens() documentation
_ document new version of split() and regexp
_ should we mention String.split?
@@ -63,13 +64,13 @@ X or textAlign(LEFT, MIDDLE); -> this one seems best
X add reference for new param, and update keywords.txt
X given to andy
0125pX (will be 3)
0125p3 (in progress)
X PImage.save() method is not working with get()
X http://dev.processing.org/bugs/show_bug.cgi?id=558
X NullPointerException in Create Font with "All Characters" enabled
X http://dev.processing.org/bugs/show_bug.cgi?id=564
X added min() and max() for float and int arrays
_ need to update reference
X need to update reference
X moved around min/max functions
X opengl image memory leaking
X when creating a new PImage on every frame, slurps a ton of memory
@@ -77,6 +78,9 @@ X workaround is to write the code properly, but suggests something bad
X http://dev.processing.org/bugs/show_bug.cgi?id=150
X registerSize() was registering as pre() instead
X http://dev.processing.org/bugs/show_bug.cgi?id=582
_ set() doesn't bounds check
_ this shouldn't actually be the case
_ http://dev.processing.org/bugs/show_bug.cgi?id=522
_ PGraphics problem with fillColor
_ http://dev.processing.org/bugs/show_bug.cgi?id=468
@@ -172,9 +176,6 @@ _ textAlign(CENTER) with P3D and OPENGL produces messy result
_ probably rounding error with the images
_ http://dev.processing.org/bugs/show_bug.cgi?id=475
_ set() doesn't bounds check
_ http://dev.processing.org/bugs/show_bug.cgi?id=522
_ add to open() reference problems with mac
_ need to use the 'open' command on osx
_ or need to do this by hand

View File

@@ -19,18 +19,20 @@ X http://dev.processing.org/bugs/show_bug.cgi?id=515
X preprocessor cannot handle L or l added to 'long' values
X http://dev.processing.org/bugs/show_bug.cgi?id=492
X change constructors for Capture, also framerate to frameRate
_ need to update reference
X need to update reference
_ need to update example to use proper ordering
X re-architect svg to properly inherit fill/stroke/etc from parents
X <g> object can specify fill/stroke for everyone below
X need to discern between having a fill specified and one not being present
0125p3
0125p3 (in progress)
_ moviemaker
X moved around constructors (to be on par with other video lib stuff)
X cleaned up constant names (i.e. MSVideo -> MS_VIDEO)
X added constant for h264 encoding
_ add documentation
_ add() or addFrame()?
X find/replace - replace should do auto find next(?)
X or have a replace & find button
X placing "replace" next to "find" ... (hitting "replace all" by accident)
@@ -41,6 +43,16 @@ X currently it's rebuilding whenever "save" called too
X http://dev.processing.org/bugs/show_bug.cgi?id=357
X ignore ._ files when reading jar and zip
X Ignoring /Users/fry/coconut/processing/build/macosx/work/libraries/opengl/library/._jogl-natives-linux-i586.jar (error in opening zip file)
X look into deleting from p5 bugs db
X stop button kills the sketch window when running externally
X in Capture, if user cancels prompt, throws a '-128,userCanceledErr'
X in which case, need to return null (or ""?) for the prompt
X which will also just give you the last camera
X should it be new Camera(PROMPT);
o when passing in 'null' as the capture, dialog pops up fine
o but the applet craps out after a few seconds (pinwheel spin)
X can't confirm this one
new bugs
_ huge jar files from 0124 export
@@ -51,15 +63,19 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=562
0126
_ do the big move to multiple sketches open
0127
_ dynamic tools menu (requires moving files around)
_ this means can integrate the autoformat stuff
_ finish up debian package support (see the processing.mess folder)
_ xml element needs to be readable from other charsets
_ same with the other methods like loadStrings()
_ could also be a way to handle gzip too?
_ tho charset + gzip would be a problem
_ hint(ENABLE_AUTO_GUNZIP) or rather hint(DISABLE_AUTO_GUNZIP)
_ look into deleting from p5 bugs db
_ ? doesn't work with find in reference
_ actually came up as 'null'
@@ -168,15 +184,6 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=396
_ can draw() not be run on awt event thread?
_ look into opengl stuff for dealing with this
official instructions for removing winvdig
from http://www.videoscript.com/forum/viewtopic.php?t=21
First try to Uninstall WinVDIG from the Control Panel. Add/Remove Software.
If this does not work, or you wish to manually uninstall WinVDIG, try the following steps:
Remove VsVDIG.qtx (located in System32\QuickTime).
Remove VsDump.ax (located in System32).
Delete Program Files\WinVDIG
Restart you system
_ don't reload sketch on "save as"
_ this can result in loss of data
_ http://dev.processing.org/bugs/show_bug.cgi?id=433
@@ -246,9 +253,6 @@ _ or also add a method for getting the vectors?
_ when running externally, set window frame title to the sketch name
_ is this only a problem on macosx?
_ when drawing large video, the two triangles for the rect are out of sync
_ only shows up in P3D
processing wish list
_ opening multiple versions of p5 at a time
@@ -619,8 +623,6 @@ _ unchecking 'use external editor' sketch should not set modified
_ dangerous if a version that hasn't been re-loaded has possibility
_ to overwrite. i.e. make a change and save in external editor,
_ don't actually
_ stop button won't kill a video sketch (bug 150 example does this)
_ although ESC seems to work? (not sure, didn't test)
_ run/stop button highlight is almost completely broken
_ http://dev.processing.org/bugs/show_bug.cgi?id=396
_ when running with external editor, hide the editor text area
@@ -1032,6 +1034,7 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=496
_ figure out what's up with the qt error handler
_ is this what's preventing the errors from being caught properly?
_ shutting these off for 0116 so hopefully the messages improve
_ (could this be a mac issue with errors not making it through?)
_ need to prevent multiple QTSession open or close
_ static method shared across the lib, or some such
_ reading movie is really really slow (2-3 fps)
@@ -1041,28 +1044,27 @@ _ Movie needs the crop() functions ala Capture
_ tearing and incomplete updates on capture?
_ putting read() inside draw() seems to eliminate this?
_ http://dev.processing.org/bugs/show_bug.cgi?id=114
_ pause and framerate aren't working
_ when drawing large video, the two triangles for the rect are out of sync
_ only shows up in P3D
_ pause and frameRate aren't working
_ framerate does set the frequency which movieEvent will be called,
_ but it is not setting the "available" field corrrectly.
_ in fact, speed() should be used to set the rate, not frameRate
_ sketch .zip file in casey's email message
_ http://dev.processing.org/bugs/show_bug.cgi?id=370
_ wrong device name for video capture will cause a crash
_ when passing in 'null' as the capture, dialog pops up fine
_ but the applet craps out after a few seconds (pinwheel spin)
_ couldn't get req'd component also happens when the capture isn't ready
_ may also mean that no camera is plugged in
_ also, don't mention winvdig on the mac
_ if user cancels prompt, throws a '-128,userCanceledErr'
_ in which case, need to return null (or ""?) for the prompt
_ which will also just give you the last camera
_ should it be new Camera(PROMPT);
_ audio stops working after two seconds
_ http://dev.processing.org/bugs/show_bug.cgi?id=277
_ or audio won't stop even after hitting stop
_ include a separate video class to handle just playback
_ video playback can be much faster if not messing with pixels
_ could instead use texsubimage in opengl, etc
_ only supports tint() (to set alpha or color) and drawing? just drawing?
_ stop button won't kill a video sketch (bug 150 example does this)
X although ESC seems to work? (not sure, didn't test)
_ or audio won't stop even after hitting stop
LIBRARIES / Serial

View File

@@ -3,7 +3,7 @@
/*
Part of the Processing project - http://processing.org
Copyright (c) 2004-06 Ben Fry and Casey Reas
Copyright (c) 2004-07 Ben Fry and Casey Reas
The previous version of this code was developed by Hernando Barragan
This library is free software; you can redistribute it and/or
@@ -468,18 +468,24 @@ public class Capture extends PImage implements Runnable {
// http://dev.processing.org/bugs/show_bug.cgi?id=366
channel.setBounds(qdrect);
// open the settings dialog
// Open the settings dialog (throws an Exception if canceled)
channel.settingsDialog();
// start the preview again
capture.startPreview();
} catch (StdQTException qte) {
int errorCode = qte.errorCode();
if (errorCode != Errors.userCanceledErr) {
if (errorCode == Errors.userCanceledErr) {
// User only canceled the settings dialog, continue as we were
} else {
qte.printStackTrace();
throw new RuntimeException("error inside Capture.settings()");
throw new RuntimeException("Error inside Capture.settings()");
}
}
try {
// Start the preview again (unreachable if newly thrown exception)
capture.startPreview();
} catch (StdQTException qte) {
qte.printStackTrace();
}
}

View File

@@ -1,10 +1,9 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
PMovie - reading from video files
Part of the Processing project - http://processing.org
Copyright (c) 2004-06 Ben Fry
Copyright (c) 2004-07 Ben Fry and Casey Reas
The previous version of this code was developed by Hernando Barragan
This library is free software; you can redistribute it and/or

View File

@@ -52,6 +52,9 @@ import processing.core.*;
* Library to create a QuickTime movie from a Processing pixel array.
* Written by <A HREF="http://www.shiffman.net">Daniel Shiffman</A>.
* Thanks to Dan O'Sullivan and Shawn Van Every.
* <BR> <BR>
* Please note that some constructors and variable names were altered
* slightly when the library was added to the Processing distribution.
* <PRE>
* // Declare MovieMaker object
* MovieMaker mm;
@@ -62,16 +65,17 @@ import processing.core.*;
* // Create MovieMaker object with size, filename,
* // compression codec and quality, framerate
* mm = new MovieMaker(this, width, height, "drawing.mov",
* MovieMaker.H263, MovieMaker.HIGH,30);
* MovieMaker.H263, MovieMaker.HIGH, 30);
* background(160, 32, 32);
* }
*
* void draw() {
* stroke(7,146,168);
* stroke(7, 146, 168);
* strokeWeight(4);
*
* // Draw if mouse is pressed
* if (mousePressed) {
* line(pmouseX,pmouseY,mouseX,mouseY);
* line(pmouseX, pmouseY, mouseX, mouseY);
* }
*
* // Add window's pixels to movie