ラベル controlP5 の投稿を表示しています。 すべての投稿を表示
ラベル controlP5 の投稿を表示しています。 すべての投稿を表示

木曜日, 2月 15, 2007

isFirstBang

processingでguiを扱うのにcontrolP5ライブラリを使ってるんだけど、addBang()メソッドでbangを組み込んだら、最初に実行されるsetup()メソッドの中で呼ばれてしまう。と、bangでファイルを読み込んだりしたい時に嬉しくない。のでboolean型の変数isFirstBangを作って最初のbangを回避。このcontrolP5ライブラリ、altキー押しながらドラッグすると動かせたりしてすげー。

ちなみにbangの使い方はcontrolP5型のオブジェクトに対して

.addBang("名前", x, y, width, height);

として同じ名前のメソッド

void 名前 {
...bangが押されて実行するプログラム...
}

で使えるようになる。以下、サンプル。

import controlP5.*;

ControlP5 controlP5;
boolean isFirstBang = true;

void setup() {
controlP5 = new ControlP5(this);
controlP5.addBang("openfile", 30, 30, 40, 20);
}

void openfile() {
if(isFirstBang){
println("first bang");
isFirstBang = false;
} else {
println("i want to open a file. but nothing happens now.");
}
}

void draw() {
}

月曜日, 2月 05, 2007

tex/tsp(prcessing+ess)

text to sound processing
processing+essで作ってみた。
tex/tsp

brainf*ckとかbefungeみたいな感じで視覚的で変なプログラミング言語で音がするってのが理想なんだけど、とりあえずラピッドプロトタイピングと言うことで。textfield内に以下の記号を打ち込んで作曲。上下キーで過去に打ち込んだデータを再入力もできる(controlP5のおかげ)。
src(音源系):
~
sine wave
^
triangle wave
/
saw wave
[
square wave
=
mute

white noise
ホワイトノイズはスペース(空白)だよ。いいでしょ。

ctl(操作系):
<
pan left
>
pan right
+
volume up
-
volume down
{
sample rate up(44100)
}
sample rate down(22050)
サンプリングレートはもうちょっと色々いじれると面白いんだけど、処理速度の関係で今は2つだけ。これでピッチとか変える。

exmaple
< >/} /{~=^

enjoy!