import processing.serial.*; import gohai.glvideo.*; import ddf.minim.*; import ddf.minim.ugens.*; String[] langs = {"NONE","Italian","English","Spanish","German","French","Russian"}; int langsN = langs.length; Minim minim; AudioOutput out; AudioSample [] sample = new AudioSample[langsN]; GLMovie video; Serial myPort; String dataIn = ""; char linefeed = '\n'; int currentLang = 0; int millis = 0; boolean isPlaying = false; int ms = 0; void setup() { size(1920, 1080, P2D); myPort = new Serial(this, "/dev/ttyUSB0", 9600); minim = new Minim(this); out = minim.getLineOut(); for(int i=0; i= millis(); if (video.available()) { video.read(); } image(video, 0, 0, width, height); if(isPlaying) { ms = ms < 255 ? ms+1 : 255; } else { ms = ms > 0 ? ms-1 : 0; } tint(255, ms); printLanguage(); if(myPort.available() > 0) { dataIn = myPort.readStringUntil(linefeed); if (dataIn != null) { String[] split = dataIn.split("\t"); currentLang = split.length > 1 ? parseInt(trim(split[1])) : 0; for(int i=0; i