「 このサイトについて 」でも宣言していますので、たまには AppleScript Studio のことを書いてみます。
どんなプログラミングの勉強でも、人の書いたソースを読むことはとても役に立つ(…とか言いながら、「勉強」と言えるようなことはほとんどしていないのですが 汗)と思いますが、こと AppleScript ではなく AppleScript Studio で開発されていて、しかもソースが公開されているものというと、個人的にはほとんどお目にかかったことがありませんでした(ちなみに、「AppleScript Studio で開発されたソフト」なら割とよくあって、「あやしいな」と思ってパッケージを開けてみると「Scripts」フォルダがあるソフトが結構あります。今度はそっちの特集もしてみたいです)。
そこで、公開されているソースがどこかにないかと、探してみることにしました。その際、参考にしやすいソースとして、以下のような条件を設定しました:
- 最近のものであること(実際に探してみると分かりますが、公開されている AppleScript Studio プロジェクトはその多くが、残念ながら、何年も前に更新の途絶えたものです。プロジェクトファイルの拡張子が「
.pbproj
」なのは基本!) - すぐにビルドでき、動作を確認できること
- 探す場所は、オープンソースプロジェクトのホスティングサービスで代表的な「 SourceForge.net 」「 SourceForge.jp 」「 Google Code 」(つまり、個人的に公開されているものなどに関しては、今回は調べていません。いいものがあれば教えてください)
それでは、この条件で見つかったプロジェクトを紹介していきます。
本編
TuneConnect
- ソフトの内容
-
「リモート AppleEvent」を使って、リモートの iTunes をコントロールする。これがどう便利かというのは、ブログ「Heartfield」の記事 が参考になるかも。
- プロジェクトページ
- ライセンス
-
GNU GPL
- ビルド時の注意
-
問題なくビルドできると思います。ただし、これは日本語環境で AppleScript を使う際の大きな問題のひとつなのですが、エスケープ文字が使われていると Xcode の動作が不安定になったり、エラーが出てビルドできない場合もあります。TuneConnect のソースでは「
Ä"
(エスケープしたダブルクォート)」が多用されているので、念のためこれを「dq
」などのエスケープする必要のない文字に置換しておいた方が良いでしょう。 - テストの仕方
-
まず、コントロールしたい iTunes のライブラリを共有(公開)するよう設定しておきましょう(2台目の Mac がない場合は、自分の iTunes で OK)。そして、システム環境設定 → 共有 → サービス で、「リモート AppleEvent」をオンにします。その後、ビルドした TuneConnect を起動すれば、機能を試すことができます。
- 解説
-
このソフトは、以前 Google Code で、なんとなくプロジェクト検索をしていたら、唯一「AppleScript Studio」で引っかかったソフトで、とても印象に残っています(今は SourceForge.net だけになっています。冷やかしだったのかな?)。
この記事に登場してもらったのは、その縁もあるのですが、今回改めて、動いているソフトを見てみると、「これはどうやって動かしているんだろう」と興味を引かれるところがいくつもありました。具体的には、丁寧なエラーメッセージの表示 や、リモートにあるソフトのコントロールの仕方 、AppleScript を離れたところで言えば、 カスタマイズされたチュートリアル画面のデザイン や Sparkle フレームワークの利用・Growl との連携 などの見どころがあると思います。おススメです。
…以上で、本編は終了です(早!) この記事を書こうとしたこと自体、この TuneConnect を知っていたからなのですが、結局、これ以上にまともなものは見つからなかった、ということです。それでは番外編です。
番外編
TiVoDecode Manager
- ソフトの内容
-
TiVo で受信した番組を Mac に録画する。
- プロジェクトページ
- ライセンス
-
GNU GPL
- ビルド時の注意
-
ビルドには 「Growl」がインストールされていること が必要 (上記の「TuneConnect」も Growl に対応しているのですが、こちらは Growl なしでもビルドできます。ここはプログラマーの工夫次第)。
- テストの仕方
-
残念ながら、事実上、テストできません。 日本に TiVo がないからです。
- 解説
-
「使えねーじゃねーか」とか言わずに、続きを聞いてください(汗) これを挙げたのは、ひとつには AppleScript Studio 界では( TuneConnect と並んで) レアもの(!)の、最近のソースである という理由があります。また Perl スクリプトやコマンドラインソフトとの連携 を多用しているので、そういった点が、ソースを読むだけでも勉強になるのでは、と思ったのです。
Kung-Tunes
- ソフトの内容
-
いま iTunes で再生している曲のリストを HTML ファイルにし、それをウェブサーバーにアップロードする。
- プロジェクトページ
- ライセンス
-
GNU GPL
- ビルド時の注意
-
古すぎて、ビルドすることは困難です。
- テストの仕方
-
プロジェクトページからバイナリをダウンロードして、どんなソフトか試してみることはできます。
- 解説
-
これは、古くて、ビルドもテストもほとんど行えませんが、貴重 だと思ったので挙げてみます。これは名ブログクライアントソフト「 ecto 」の作者さんがかつて作られたソフトで、AppleScript の枠をちょっとはみ出して 「
call method
」コマンドを多用している ところなどに少し親近感を覚えます。
終わりに
いかがでしたでしょうか。個人サイトなどではもっと公開されているものと思いたいですが、かなり寂しい結果になってしまいました。
詳しいところは知りませんが、AppleScript 自体は、Mac を使って業務を行っている企業などでは有用だし、間違いなく需要があると思いますが、AppleScript Studio ってちゃんと使われているのでしょうか? AppleScript を利用する企業で、それをサポートするようようなソフトに使われているのかしら。
海外はまだましも、日本では、僕のように AppleScript Studio で作ったソフトをアクティブに出し続けている人って、あまりいないような気がします。確かに、いろいろとひどい部分もあるかもしれませんが(笑)、せっかく Mac を買ってくるだけで、Objective-C/Cocoa よりも少し楽に、自分のソフトを作ることができる環境を得ることができるのだから、もうちょっと使ってあげてほしいものです。…と言いつつ、Leopard が出たら Ruby を勉強しようと思ってみたり(なぜプライマリ言語を避ける)。
…と、ここまでは「AppleScript Studio のソースがなかなか公開されてないんだよなぁ…」という話でしたが、文句を言ってるだけは仕方ないので、Google Code に「 livedoor Blog Helper 」のソースを 公開 しました(…というか、ちょっと前から公開しています、実は)。
ただし、このプロジェクトを登録したアカウントを(ある Google サービスの設定画面が、間違った情報を入力してしまっているにもかかわらず修正できない、などあまりに柔軟性が低いので、ムカついて、後先考えずに)すでに削除してしまったため、一応 Google に削除依頼を出してありますので、もしかしたら消えるかもしれません。また、いずれ他のソフトのソースも全て公開しようと考えていますが、そのときは(うーん、いろいろ考えて)GPL ライセンスにしよう、と今のところ考えていますので、これらの点だけご了承ください。もちろん、今は MIT ライセンスで配布していますので、その通りにお使いいただいて、一向に構いません。
で、そのソースの内容ですが、普通の AppleScript や AppleScript Studio のソースを読んだことがある方なら、 ちょっと笑っちゃう (いや、何か間違っていたり、不手際がある、という意味で笑ってしまった場合は、ぜひご連絡を…汗)、と言うと大袈裟ですが、かなりユニークな書き方だ、ということは言えると思います。 Kaku も、これを(僕の中では)洗練させたスタイルで書かれています。次回、機会があれば、これについてお話ししたいと思います。
“公開されている AppleScript Studio ソースを探す” への5件のフィードバック
僕は結構いっぱい公開しています。
おお…! くりたさんのウェブサイトは、AppleScript の情報を日本語で探しているなら、辿り着かずにはいられないサイトの一つだと思っているので、僕も勉強させていただいたことがあります。万が一ご存じない方はぜひ >他の人
ただ、くりたさんのウェブサイトは、AppleScript(not Studio)のサイト、という先入観があったもので…。
AppleScript は生き残ると思いますが、AppleScript Studio は、(AppleScript で普通のアプリケーションを作るという)必然性があまり大きくはない(プラス、たまにひどい)と思うので、今後も在り続けるのか不安ですが、まだ離れたいとは思わないので、使い続けています。
ところで、くりたさんのサイトが RSS 配信しないか、期待してみる…(僕が前使っていた Feeder とかどうですか? AppleScript 使えますよ 😀 )。
AppleScript Studio がいまいちというのは同感です。最初は、AppleScript に GUI を持たせされることに狂喜乱舞してしまいましたが、Objective-C を覚えると、ずっとスマートかつ簡単に GUI アプリケーションを作れことに気付いてしまいました。
今では、特に理由がなければ、新規に GUI をもったアプリケーションを作るときは Cocoa を使うようにしています。昔、AppleScript Studio で作ったアプリケーションにもどんどん Objective-C を混ぜて拡張しています。
RSS 配信ですか・・・
何がうれしいか、正直わかっていないんですよね ^^;
僕の AppleScript Studio アプリも、AppleScript のソースを読んだだけでは、もはや全体像をつかめないです。
RSS 配信は、うれしくはないかもしれませんが、何でも楽しようとする魂胆、というか…
ウェブサイトを見る側としては、例えば、いい情報が載っているウェブサイトを見つけたときに、単純なブックマークだけだった場合、ブックマークをした直後は、更新されるのを期待してちょくちょく見に行くと思いますが、そうでないと、それは徒労に終わってしまうし、そのウェブサイトのことを忘れてしまうかもしれません。もし RSS 配信が行われていれば、「とりあえず何もないんだな」ということは分かります。
逆に、ウェブサイトを運営する側としては、もし更新をサボって(おい)いたとしても、何も新しいものがないときに来たお客さんをガッカリさせることも少なくなるし、一方で、新しいものができたときには、確実にお知らせすることができる(みんなある程度、人に見てもらいたいと思って運営しているんでしょうし)、というメリットがあると思います。
僕は、自分のサイトにすごく興味を持ってくれた人よりも、ちょっとだけ関心のある人にこそむしろ、RSS を購読してほしいな、と思っています。しばらく様子を見てもらうことができるし、それでつまらんかったらポイッ、としてもらえばいいので。そんなふうに気軽なので、読めない記事がどんどん溜まってしまう、というデメリットもありますが…
いずれにせよ、くりたさんのサイトは、もっとチェックさせていただきます 🙂
RSS に付いて調べてみましたが、なかなか便利そうですね。
なんでも RSS を利用して暫定的に対応してみました。
いつの日か、もっとちゃんとした対応をとるようにしようと考えています。