拙作のWindows用フリーソフト「NowTunes」はiTunesで再生中の
楽曲をFTPでWebにアップロードするわけですが、最近はMacを
使うことが増えたので、Mac版をどうしようかなぁと悩んでいました。
そんな中、「padmacolors」さんがPHPで自作されてるのを
Twitterで見かけたものですから、ご無理を言ってソースを譲って
いただきました。
そのまま使わせていただいても良かったのですが、クライアント側も
PHPで作られていたこともあり、ここはAppleScriptに移植して
みようかと思い立ちました。
で、結果からいくと、無事に移植完成。
こんな感じで、簡単にブログに表示できるようになりました。
ただ、アップルスクリプトへの移植は意外と面倒で、以下の3点が
難題でした。
・アートワーク画像の取り出し
・FTPでのアップロード
・テキストファイルの出力
まず、アートワーク画像の書き出しですが、これは以下のサイト様から
情報をいただきました。
http://tbboy.cocolog-nifty.com/tbboys_room/2006/09/itunesjpgpng_5603.html
先頭222バイトを削るという、なかなかトリッキーな方法ですけど、
バッチリ動作しています。
そして、FTPはcurlを使いました。
最初は「URL Access Scripting」を使おうとしたのですが、どうも
アップロードはうまく機能しないみたいでした。
最後のテキストファイルの書き出しは簡単だろうと思っていたので、
意外でした。
出力自体は大したことはないのですが、文字コードや改行コードの
制御ができないんですよねぇ。
また、出力ファイルの拡張子を変えると、エラーになったり…。
拡張子がtxtだとシフトJIS、改行コードがCRのみのようなので、
とりあえずそれで作りました。
それだと改行コードでのexplode()あたりがうまくいかないようなので、
区切り文字は変更しちゃいましたが、まぁ、自分で使うだけなら
良いかなぁ。
ほかにも生成したファイルの削除あたりも結構悩みましたし、
とりあえず、ファイル削除だけでも書いておきましょう。
do shell script “rm ” & quoted form of the POSIX path of theFile
アップルスクリプトは結構難しいですね。
ただ、これで自分で使う上では十分な便利さになりました。
Windows用のVBScriptもそのうち作りたいですし、Macの
ネイティブアプリも作りたいところですが、いつになることやら…。
ともあれ、padmacolors様には大感謝なのでありました。