You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.3 KiB
71 lines
1.3 KiB
import processing.serial.*;
|
|
import gohai.glvideo.*;
|
|
|
|
|
|
GLMovie mov;
|
|
Serial myPort;
|
|
int position = 0;
|
|
float clipSec = 150;
|
|
|
|
int linefeed = 10; // Linefeed in ASCII
|
|
String inputString[]; // array to read the 4 values
|
|
|
|
void setup() {
|
|
size(1920, 1080, P3D);
|
|
|
|
myPort = new Serial(this, "/dev/ttyUSB0", 9600);
|
|
myPort.bufferUntil(linefeed);
|
|
|
|
background(0);
|
|
mov = new GLMovie(this, "SweetBox.mp4");
|
|
|
|
mov.loop();
|
|
mov.jump(0);
|
|
}
|
|
|
|
void draw() {
|
|
background(0);
|
|
if (mov.available()) {
|
|
mov.read();
|
|
}
|
|
image(mov, 0, 0, width, height);
|
|
fill(255);
|
|
text(mov.time(), 10, 30);
|
|
|
|
if(mov.time()>=(position*clipSec)+clipSec){
|
|
position=0;
|
|
mov.jump(0);
|
|
mov.play();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void serialEvent(Serial myPort) {
|
|
|
|
// read the serial buffer:
|
|
String myString = myPort.readStringUntil(linefeed);
|
|
|
|
// if you got any bytes other than the linefeed:
|
|
if (myString != null) {
|
|
|
|
myString = trim(myString);
|
|
|
|
// split the string at the commas
|
|
inputString = split(myString, '\t');
|
|
|
|
//println(inputString[1]);
|
|
if(inputString[1]!=null){
|
|
position=int(inputString[1]);
|
|
println(position);
|
|
mov.jump(position*clipSec);
|
|
mov.play();
|
|
}
|
|
}
|
|
}
|
|
|
|
void keyPressed() {
|
|
position=keyCode-48;
|
|
mov.jump(position*clipSec);
|
|
mov.play();
|
|
}
|