// dream strings // by jeff watson // march 2009 import rita.*; import ddf.minim.*; PrintWriter output; // fire it up Minim minim; AudioSample lock; int FRAGMENT = 20; int PARAGRAPH = 20; int WORD = 10; float bg = 255; PImage b; RiText rts[]; RiMarkov markov; // movement-related stuff boolean movingUp; RiText rts1[] = new RiText[16]; void setup() { size(500, 160); smooth(); background(bg); RiText.deleteAll(); // the keyPressed thing crashes the program unless there's some // markov-generated text already onscreen, so i took out this title card: // new RiText(this, "move / click / type", 135, (height/2)+24); RiText.setDefaultAlignment(LEFT); // start minim, load samples with buffer minim = new Minim(this); lock = minim.loadSample("lock.mp3", 2048); // n=3 seems to work best for the text parser thing (markov)...no idea why markov = new RiMarkov(this, 3); // load some text files into the markov magic machine markov.loadFile("useful.txt"); } void draw() { PImage b; b = loadImage("title.jpg"); image(b, (width/2)-76, 45); RiText.deleteAll(); String[] lines = markov.generateSentences(10); String[] content = lines; int index = int(lines.length)-2; println(content[index]); // This bit breaks the content down into single word 'bitz' String chunk = content[index]; String[] bitz = split(chunk, ' '); int wordcount = int(bitz.length); if (keyPressed == true) { lock.trigger(); background(bg); // rts = RiText.createLines(this, content[index], 24, 10, PARAGRAPH); for (int t = 0; t < wordcount; t++) { String saveurl = "http://remotedevice.net/sw/usfl_phrss/loadStrings.php?type=save&x=" + bitz[t]; String[] response = loadStrings(saveurl); for (int i = 0; i < 1; i++) { println(content[index] + response[i]); } } delay(2000); link("http://remotedevice.net/cgi-bin/blosxom.cgi"); } else { } } void stop() { lock.close(); minim.stop(); super.stop(); }