import java.applet.Applet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import com.softsynth.jsyn.*; JButton b440, b550, bStart, bStop; SineOscillator sine; LineOut lineout; final int numFonts = 3; PFont[] font = new PFont[numFonts]; void setup() { font[0] = loadFont("AcademyEngravedLetPlain-48.vlw"); font[1] = loadFont("Futura-Medium-48.vlw"); font[2] = loadFont("MarkerFelt-Wide-48.vlw"); Synth.startEngine(0); size(400, 400); background(0); stroke(200); sine = new SineOscillator(); lineout = new LineOut(); sine.output.connect(0, lineout.input, 0); sine.output.connect(0, lineout.input, 1); sine.frequency.set(440); sine.amplitude.set(0.3); lineout.start(); sine.start(); } void draw() { } void destroy() { Synth.stopEngine(); } void keyPressed(KeyEvent e) { if(key == ' ') { background(0); } else { int f = (e.getKeyCode()*100)-6000; println(f); sine.frequency.set(f); PFont fnt = font[int(random(3))]; textFont(fnt, int(random(48))); int x = int(random(width)); int y = int(random(height)); stroke(200); text(key, x, y); textFont(fnt, 10); stroke(100); text(f, x+10, y+10); } }