2011年8月19日金曜日

2011.09.24(土)Tokyo SuperCollider #5




Tokyo SuperCollider #5

日時 :2011/09/24 18:00 to 20:00
会場 : 池袋ルノアール マイスペース (東京都豊島区東池袋1-42-8 第一イン池袋ビルB1F) (東京都豊島区東池袋1-42-8 第一イン池袋ビルB1F)

定員:15+若干名

// 内容
リアルタイム音響合成プログラミング言語SuperColliderの勉強会です。
できればノートパソコンをお持ちください。
// 参加費
1000円くらい(会場費と飲み物代)
参加申し込みはこちらまで、お気軽にどうぞ



5回目の今回は初、池袋での開催です。

先月末のTKSC#4のすぐあとに
という集まりが開催されたことがきっかけです。

Tokyo SuperColliderは、いままで主催の安田と
ゲストや何人かの貴重な協力者とで細々と不定期に開催してきましたが、

今回から、西武線SCを企画した二人、齋藤、森、そして安田を主催メンバーとして
月に一度のペースで定期的に開催していくことになりました。
(メンバーは随時募集中です。)

どんな会になっていくかまだまだ手探りな状態ですが、
まずは3ヶ月くらいちゃんと続けられたらな、と低い目標からがんばっていきたいです笑

よろしくお願いします。

2011年8月16日火曜日

Tokyo SuperCollider #4 資料1

Tokyo SuperCollider #4の資料です。
ファイルのダウンロードは以下のどちらかからどうぞ。





/*
 tokyo supercollider #4 - 110730
 SCQuartzComposerView tiny demo
 itaru yasuda
*/


// SCQuartzComposerView : SCCocoaGUIクラス
// SuperColliderQuartz Compserを使える
// *Quartz Composer OSXのビジュアルパッチプログラミングツール

// 何ができるのか?
// ヘルプにひと通りのデモがある
SCQuartzComposerView


//-- qtzファイルの読み込み、表示、再生

// ウィンドウ作成・表示
w = SCWindow("SCQCView", Rect(20, 250, 600, 300)).front;

// ウィンドウ内にSCQCView作成
v = SCQuartzComposerView(w, Rect(0, 0, 600, 300));

// qtzファイルのパスを指定
v.path = Document.current.dir ++ "/qtz/p0.qtz";

// レンダリング開始
v.start;


// qtzファイルをQCで開く
v.openInQC

// 停止
v.stop

// ウィンドウ閉じる
w.close


//-- QCパッチのパブリッシュされた入力・出力ポートの名前と値の操作・取得
(
w = SCWindow("SCQCView", Rect(20, 250, 600, 300)).front;
v = SCQuartzComposerView(w, Rect(0, 0, 600, 300));
v.path = Document.current.dir ++ "/qtz/p1.qtz"; // ファイル変更
v.start;
)

// QCで開く
v.openInQC

/*
QCのエディタで"Publish"してあるポート(みどり色のポート)のみ有効
QCエディタの編集結果をSCQCViewに反映させるには、QCを保存して再度SCQCViewを読み込む必要あり
*/

// 入力ポート名取得
v.inputKeys

// 出力ポート名を取得
v.outputKeys

// 出力ポートの値を取得
v.getOutputValue(\Result)

// 入力ポートの値を操作
v.setInputValue(\X_Position, 0.5)
v.setInputValue(\X_Position, -0.5)
v.setInputValue(\X_Position, 0)

v.setInputValue(\Y_Position, 0.5)
v.setInputValue(\Y_Position, -0.5)

v.setInputValue(\Amplitude, 10);
v.setInputValue(\Amplitude, 100);
v.setInputValue(\Amplitude, 5);

// シーケンス操作
(
a = 0.1;
b = -0.5;
{
300.do{
v.setInputValue(\Amplitude, a);
v.setInputValue(\Y_Position, b);
a = a + 0.2; 
b = b + 0.003;
0.05.wait;
}
}.fork(AppClock);
)

w.close

// フルスクリーン表示
(
w = SCWindow("SCQCView", Rect(20, 250, 600, 300)).front;
//w = SCWindow("SCQCView", Rect(20, 250, 600, 300), border:false).front; // 枠なし、完全なフルスクリーンになるが、閉じるボタンがなくcmd+wも効かないので、実行後はcmd+kSCをリコンパイルして閉じる(あまり行儀良くない)
v = SCQuartzComposerView(w, Rect(0, 0, 600, 300));
v.path = Document.current.dir ++ "/qtz/p1.qtz"; // ファイル変更
v.start;

v.resize = 5; // 5 - horizontally elastic, vertically elastic resize
w.fullScreen
)


/*
他に"Structure"も使える
詳しくはヘルプ参照
*/

//-- おまけ
// 3Dやパフォーマンスにこだわらなければ、Penというクラスもある
c=0;b=200;w=Window().front.drawHook_({1e3.do{|i| Pen.fillRect(Rect(c%i.cos*b+b,c*i.tan%b*2,2,2))};c=c+0.1});AppClock.play{w.refresh;1e-3}