We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Can someone help me incorporate a video array of up to 6 videos into this code provided? Including a void mousePressed function to click through to the next video. The way this code is written is so the video doesn't play naturally from start to finish~ so it can't be a timer function that simply plays all the videos after one another. The end result should be a basic video slideshow loop ONLY when clicked to view the next video.
import processing.video.*;
Movie mov;
int newFrame = 0;
void setup() {
size(640, 360);
background(0);
// Load and set the video to play. Setting the video
// in play mode is needed so at least one frame is read
// and we can get duration, size and other information from
// the video stream.
mov = new Movie(this, "transit.mov");
// Pausing the video at the first frame.
mov.play();
mov.jump(0);
mov.pause();
}
void movieEvent(Movie m) {
m.read();
}
void draw() {
background(0);
image(mov, 0, 0, width, height);
fill(255);
text(getFrame() + " / " + (getLength() - 1), 10, 30);
int f=ceil (map(mouseX,0,width,1,getLength()));
setFrame(f);
}
//void keyPressed() {
// if (key == CODED) {
// if (keyCode == LEFT) {
// if (0 < newFrame) newFrame--;
// } else if (keyCode == RIGHT) {
// if (newFrame < getLength() - 1) newFrame++;
// }
// }
// setFrame(newFrame);
//}
int getFrame() {
return ceil(mov.time() * 30) - 1;
}
void setFrame(int n) {
mov.play();
// The duration of a single frame:
float frameDuration = 1.0 / mov.frameRate;
// We move to the middle of the frame by adding 0.5:
float where = (n + 0.5) * frameDuration;
// Taking into account border effects:
float diff = mov.duration() - where;
if (diff < 0) {
where += diff - 0.25 * frameDuration;
}
mov.jump(where);
mov.pause();
}
int getLength() {
return int(mov.duration() * mov.frameRate);
}
Answers
could be something like this
I don't have any movies here to test
but the idea is to have an array of movies with an index (which movie number is current movie). In
mousePressed()
this gets incremented.FIX the NAMES of the movies to load below.