ブログトップ
コンピュータと共にある創造的日常
uneoyaji.exblog.jp

メディアアート・プロジェクトにハマったオヤジの日常生活
by une0exct
タグ:.sdef ( 1 ) タグの人気記事
.sdef で SBArt4 を scriptable にしてみる。
SBArt4 をライブパフォーマンスに使えるか? なんてことを考えてみました。たとえば、事前にあるていど品種改良していくつかの良さそうな遺伝子を用意しておき、アニメーションや、必要なら効果音を付けて全画面モードで映像として投影。適当なタイミングでアニメーションや効果音のパラメータをいじって盛り上げる? などなど考えていたら、これりゃ AppleScript で外から制御できるようにすべし!と思い立ったのであります。
以前に開発した DT1 や DT4 も AppleScript 対応にしておりましたが、プログラマ的にいうと MacOS X 10.3 までの標準であった .scriptSuite と .scriptTerminology という2つのリソースファイルを用意するというやり方を取ってました。これらは property list の形式になっているので Xcode に付いてくる property list editor で編集可能でして、それなりに便利だったのですが、ファイルが2つ別れているためもあり、その間の関連を付けるために余計な情報をいれないといけないという面倒さもありました。一応、scriptTerminology の方は言語環境毎に用意するように設計されているのだが、AppleScript 書く人に対しては英語だけでもいいんではないかということもあって、英語版しか作ってなかったので、ファイル1つにしてくれないかなぁという思いもあったわけでありますが、これが 10.4 から登場した .sdef ファイル1つによる記述も可能になっていました。そこで、SBArt4 では、これで実装してみようと思い立ったわけです。
Xcode についてるドキュメント AppleScript Overview を読んでみると、これも XML 形式で、ほぼ AppleScript の概念をそのまんま書けばいい感じなので、早速取りかかりましたよ。というわけで、まだ途中ですが、一部の機能は AppleScript で制御可能となりました。1つ面倒なのは .sdef の中に書いた定義だけが利用可能になるので、Standard Suite とか Text Suite などの記述も、使いたい部分については入れとかないと、ということでしたが、まぁ、逆に考えれば、使えない機能を禁止にできるということでもあるので、いいのかなぁと思い直しました。Standard Suite の必要部分は、/Developer/Examples/Sketch/Sketch.sdef からコピペしました。
しかし、.sdef ファイルは AppleScript Editor で開けるんだが、表示だけで編集できんのが痛い。ソースコードをテキストとして編集すると、ときどき終了タグを書き間違えて、実行時エラーになってしまう。と Google で .sdef editor と入れたら、フリーソフトがありました。名前もそのままずばり SdefEditor。→ http://www.shadowlab.org/softwares/sdefeditor.php
これは、なかなか使えますね。
[PR]
by une0exct | 2010-04-15 21:18