Hi,
I assume the same problem ! NEGATIVE VALUES DO NOT WORK AT ALL !
Founding in the Video library source file and see that it just uses the Java Quicktime API ... directly.
Line 31 of the Movie.java from the Movie library we can see :
Code:import quicktime.*;
saying that it use all the quicktime Java API
Again, we can see at line 60 the following declaration :
Code:public quicktime.std.movies.Movie movie;
that declare a quicktime movie object called "movie"
then on line 548, the Movie library team implements the speed method that tries to set the rate via the setRate() method of the quicktime.std.movies.Movie object.
Code:
public void speed(float rate) {
//rate = irate;
try {
movie.setRate(rate);
} catch (StdQTException e) {
errorMessage("speed", e);
}
}
Finally, we can see at the Apple Java documentation
http://developer.apple.com/documentation/Java/Reference/1.3.1/Java131API_QTJ/qui... that the method is an alias of the QuickTime::SetMovieRate
This example, below, show that it's the QuickTime component which is broken, cause of it's correct response about the rate :
Code:
import processing.core.*;
import quicktime.*;
void setup() {
size(640, 480);
noStroke();
background(0);
myMovie = new Movie(this, "station.mov");
myMovie.loop();
myMovie.speed(-1);
try{
println("Rate : " + myMovie.movie.getRate());
}
catch (QTException e){
println("No rate available ! F**k !");
}
numPixels = width / blockSize;
myMovieColors = new color[numPixels * numPixels];
}
This prints :
Code:Rate : -1
I suppose that the error is provided by the Java VirtualMachine or the Quicktime connector within the Java implement.
What is your test plateform ?
Mine is : PowerPc Mac OS X.4.11, Quicktime 7.3, Java VM 1.5.0_07-164