public class クラス名 extends PApplet {
void setup() {
}
void draw() {
}
}
とするだけ。setup()とdraw()内にいつも通りに書けばいい。
ちなみに最近試しに作ったやつ。FadeIn/FadeOutで音の繋ぎ目を綺麗に。audioStreamWriteの使い方は未だに謎。ドキュメントおかしいし。generateメソッド呼び出した後にfilterメソッド呼ばないと意味ないってのに気付くのにしばらくかかった。
import processing.core.*;
import krister.Ess.*;
public class SineWaver extends PApplet {
AudioStream myStream;
SineWave sine;
FadeIn fadeIn;
FadeOut fadeOut;
int i = 0;
int col =0;
int oldFreq, newFreq = 0;
boolean doFadeIn = true;
public void setup() {
Ess.start(this);
myStream = new AudioStream();
sine = new SineWave(oldFreq, (float)0.5);
fadeIn = new FadeIn();
fadeOut = new FadeOut();
size(200, 200);
frameRate(30);
}
public void draw() {
i++;
if(i>height) {
i = 0;
col = (int) random(255);
}
stroke(col);
line(0, i, width, i);
myStream.start();
}
public void audioStreamWrite(AudioStream theStream) {
newFreq = i * 10;
sine.generate(myStream);
if(doFadeIn) {
fadeIn.filter(myStream);
doFadeIn = false;
}
if(newFreq != oldFreq) {
sine.frequency = newFreq;
fadeOut.filter(myStream);
doFadeIn = true;
oldFreq = newFreq;
}
}
public void stop() {
Ess.stop();
super.stop();
}
}
1 件のコメント:
Export Applicationするときはpublic class Foo extends PApplet{}を消しておかないと、アプリが実行できませんでした。普通のprocessingでの書き方と同じ状態にしておけばいけると思います(version 0124Betaで確認しました)。
コメントを投稿