2012年3月25日日曜日

vim-itunes開発メモ1

最近,VimからiTunesを操作するためのプラグインを作り始めたので,その際に参考にしたことなどなどをメモ.とりあえず,VimからiTunesを操作する方法について,MacとWinでの方法を.Uniteとの連携はまた今度書く.

こちらからダウンロード可能.
vim-itunes

neobundle.vimを使って ryutorion/vim-itunes でもインストール可能.
現状,:Unite it_track で曲一覧を表示して,選ぶと曲が再生できるくらい.
あとは,ドキュメントに書いてあるようにトラックを進めたりする関数も用意しています.

VimからiTunesを操作する方法

Mac OS Xの場合

Mac OS Xの場合,AppleScriptを使ってiTunesを操作できます.例えば,
tell application "iTunes" to play (track 1 of user playlist 1)

これを,AppleScriptエディタで実行するか,osascript -e '上の内容'とコマンドラインで実行すると,ミュージックの1つ目の曲が再生されます.

で,このAppleScript,日本語情報が少ない.英語でもなかなか情報が見つからない.既存のスクリプトの使い回しならいいんだけれど,Uniteと連携するために情報引き出したりとかやり始めると途端に分からなくなる.

AppleScriptについて

AppleScriptについては,次のドキュメントを参考にしました.


このドキュメントをざっと読んでおかないと,AppleScript書くの大変でした.
ちなみに,iThiefというコマンドラインからAppleScriptを使ってiTunesを操作するものがあるようです.作り終わってから教えてもらいました.Uniteと連携するのにどっちにしろ独自実装必要だった気がしますが,先に知ってたら無駄に苦労しなくて済んだかも,という気がします.

そして,AppleScriptを書く上でAppleScriptエディタの辞書は必須です.Command+Shift+Oで開いて,アプリケーションを選ぶとAppleScriptから呼び出せるコマンドやプロパティなどが書かれています.これを見ながら必要なAPIを探して叩きまくるわけです.

後はひたすら欲しい情報を得るために試行錯誤です.

Windowsの場合

Windowsの場合,JScriptを使ってiTunesを操作します.VBScriptとかC#も使えるようですが,諸事情によりJScriptを使います.これまた,JScriptからiTunesを利用する方法でまとまった情報がなかなか見つからない.とりあえず,WSHの本を片手に,次のドキュメントを参考にしました.

iTunes COM for Windows SDK (ダウンロードページトップなので検索してください)

一応サンプルスクリプトがついているものの,名前の大文字小文字とかどうなっているの,とか分からなくて,とりあえずif(API名)で存在を確認しながら徐々に作っていきました.
ただ,ある程度はAppleScriptと同じインターフェースを採用しているようなので,調べるためのキーワードはある程度分かっていたのが幸いでした.

以上
AppleScriptはなかなか面白いので,そのうちまとめを書いても良いかもなぁ.

0 件のコメント:

コメントを投稿