動的に生成したパッチを繋ぐサンプル:Max/MSP , JavaScript

スクリーンショット 2012-12-15 4.03.31スクリーンショット 2012-12-15 4.04.42

スクリーンショット 2012-12-15 3.54.47

動的に(プログラム実行時に)生成したtoggleを繋いじゃいましょう!左上の数値を変更すると、makeToggleが呼ばれて、数値の数だけ繋がったtoggleが生成されます。clearToggleでtoggleを全部消すことが可能です。特に意味は無い、そこにMax6とJavaScriptがあったのと、夜眠れなくなったからやりました。

メタプログラミングという世界に突入だとコバルト爆弾αΩのΔが言ってました。夢が広がりそうな予感が!!!

余談ですが、ECMAscript5でArrayクラスに追加されたと噂のメソッドforEach使おうと思ったんですが、呼べなかったです。使えました!まさかMax6のJavaScriptは ECMAscript5 じゃない?3なのかな?調べたけれどわからなかったです。さらなる余談ですが4はActionScript3.0の原型らしいですね。どうりで似てるわけだ。

[javascript]
inlets = 1;
outlets = 0;

var p = this.patcher;
var toggles = new Array();

post(p);

function makeToggle(numPatch){

for(var i = 0 ; i < numPatch ; i++)
{
toggles.push( p.newdefault(Math.random() * p.wind.size[0],Math.random() * p.wind.size[1],"toggle") );

if(toggles[toggles.length-2] != null)
{
p.connect(toggles[toggles.length-1],0,toggles[toggles.length-2],0); //今生成したtoggleのoutletと一つ前に生成したtoggleのinletを繋ぐ
}
}
}

function clearToggle(){

for(var i = 0,length = toggles.length ; i < length;i++)
{
p.remove(toggles[i]);
}
}
[/javascript]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です