import de.bezier.data.sql.*; MySQL msql; PFont font; // what table and what column to query in db // this determines what data is played back String table = "script"; String column = "line"; // list of table IDs matching query ArrayList lineIDs; Random repeatableRandom; int i=0; // vars holding response most recent query String data= ""; int id=0; // timing int last=0; void setup() { // general graphics setup size( 1280, 720 ); background(0); smooth(); // Font and text drawing setup font = loadFont("HelveticaNeue-48.vlw"); textAlign(CENTER); textAlign(CENTER,CENTER); rectMode(CORNER); fill(255); textFont(font, 64); int randomseed = 0; randomSeed(randomseed); // this example assumes that you are running the // mysql server locally (on "localhost"). // // replace --username--, --password-- with your mysql-account. // String user = "bob"; String pass = "password"; // name of the database to use String database = "naming"; // connect to database of server "localhost" msql = new MySQL( this, "localhost", database, user, pass ); if ( msql.connect() ) { msql.query("SELECT * FROM "+table); lineIDs = new ArrayList(); while(msql.next()) { data=msql.getString(column); id=msql.getInt("id"); println(id+" "+data); lineIDs.add(id); } repeatableRandom = new Random(1234); Collections.shuffle(lineIDs, repeatableRandom); } else { // connection failed ! println("connection failed!"); exit(); } } void draw() { background(0); // new query every 1000 ms if(millis()-last>2500) { // select data from that random row msql.query("SELECT * FROM "+table+" WHERE id="+lineIDs.get(i)); while(msql.next()) { i++; if(i>=lineIDs.size())i=0; data = msql.getString(column); id = msql.getInt("id"); background(0); } last=millis(); } fill(map(millis()-last, 0, 1000, 0, 192)); textFont(font, 64); text(data, 0, 0, width, height);//width/2, 200); fill(map(millis()-last, 0, 1000, 0, 128)); textFont(font, 16); text(id, width/2, height*.6666); }