[sc] 少し触った

昔の記事読んでたら触りたくなって、触った。触ったと言うかマニュアル読んだだけ。

つーか何か書くにしても覚えること多すぎだこれ。
ただ音出すだけじゃ意味ないからアレコレ触りたい、とか思ってしまうのが良くないんだろうけど。
まぁ趣味なんで緩く行くとします。

で、一応メモとしてあれこれ残しておくことにします。


・略式構文がかなりある。
SCでは全てがオブジェクト、という扱いになってるっぽい。
厳密には、newしてオブジェクトつくって、メソッド呼んであれやこれや、と書くのが良いのかもしれないけど面倒なので、わかりづらくなりすぎない程度に積極的に使うことにします、僕は。

・以下の2つは同義。

(1..10).collect {|x| x.squared});
(1..10).collect(_.squared);

結果はどちらも[ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 ]となる

・変数って結局シンボルじゃね?と思ったが違った。
以下のようなコードを試したが、思った通りにはいかなかった。

var tmp = _.postln;
tmp.value("hello");
'tmp'.value("hello from symbol");

表示されるのはhelloのみでした。

・インスタンス作る際のnewは省略可。
多分引数がある場合は明示的にnewしなくても意味が通じるから、ということでしょう。

・メソッド呼び出しの()も省略可。
ただし引数ある場合はちゃんと()で括らないとダメ。

・行末の;(セミコロン)は必須。
これはrubyとは違う点です。
全く一緒、というわけでは無いっぽい。

・{}で囲うと関数が出来上がるが、これはFunctionクラスのインスタンス。
ってことはどうにかしたらFunction.newとかで作れるんじゃない?と思ったがそういうことをやっているヘルプは無かったので、おとなしく{}から作れば良いじゃないかと思った。

・_を使うと、部分適応した、という形になるっぽい。
使い方間違わなければ便利だと思った。

 
とりあえず今日はこんなところで。
あとは実際に音出してみる感じかもなー。
やりたいことやるにはまだ調べないとダメそうなこと多いけど、ある程度にして実際にやってみた方が良さそう。

あとはSCでGUIとかグラフィックも作れるみたいだけど、それはまだまだ必要ないかな。
ゆくゆくはp5あたりとつなげてUIからのインタラクションで音がなるとかやりたいので頑張る。

そういう場合ってあらかじめSynthDefしといて、名前指定の引数適当に変える感じでSynthつくってならせば良いのかな。
JITLibとか使うともっと楽しいことになりそうだけど、どういう感じで使えるかまだ全然わからんのでこれもタスクとして積んでおこう。

まずは基本を普通に。

コメントを残す

メールアドレスが公開されることはありません。