PD会#02

今日は Pd会#02 に参加しました。参加者の皆様ありがとうございました。特に会場提供して頂いた @niw さんには足を向けて眠れません。

今回はわたしは PureData の内部構造のうち、オブジェクトモデル(クラスの定義とインスタンス作成あたり)をざっくり読んだ知見を話したりしました。独自のオブジェクトを追加する時に関係してくる部分です。まあオブジェクトの実装方法は永野さんがかなり詳しく発表されていたので、コントロール系?の実装方法はばっちりですね。また PureData の内部の処理のためのクラスが同じオブジェクトモデルの仕組みを使って実装されていたりもするので、ソースを読む上ではインスタンスの作成やメソッドの呼び出しなど代表的な関数については知っておくのがよいと思います。

けれど実は受け付けることのできる組み込み型の信号にはいろいろな種類があって、ごく典型的なもの(float, symbol)についてはおおむね把握できたと思いますが、まだ何者なのかよくわかっていないものがごろごろあります。このあたりはそもそも PureData 自体のコマンド・機能についてよく知らないので、ユーザ視点からどういう機能があるのかということを調べつつぼちぼちソース解析していきたいところです。
また GUI との連携のところはソケットで通信しているらしいという程度のぼんやりした理解なので、一度ちゃんとフローを追跡したいですね。そこがすっきりしたら GUI のかわりにたとえば Ruby から PureData を操作するような改造ができそうな気がします。

そして、今日は @yamamo2 さんが参加されていて、PICnome の実物でデモと技術的な解説を聴くことができました。とりあえずこのサイトにいって VIDEO のページのデモを観てみてください。

Yamamoto Works Ltd. R&D Section

かっこいいでしょ。わたしはデモをみて「こういうことができるガジェットなんだなー」と思ってたのですが、PICnome 自体はマトリクス状のボタンの押下*1の信号と LED の点灯状態を制御する I/F を見せているだけで、どんな動作をさせるかというのはソフトしだいのようでした。アプリケーションも多数開発されているらしくて、これは……流行る!?

前回も思ったことで、わたし自身はサウンドを制御するインタフェースとして live coding というのも cool でいいじゃないかと思っているのですが(DJ, VJ がいるなら PJ がいてもいいじゃないか)、やっぱり手で触れることのできるインタラクティブ性のあるデバイスはおもしろいものになりますよね。というか他人に触ってもらおうと思ったら絶対そうでないと。

*1:その他にもセンサを取り付けて拡張できたりするそうです