DACPでiTunesをリモートコントロールしてみた(1回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(2回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(3回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(4回目) - とりあえず日記
DACP経由でiTunesを操作する続きです。
今回は、RemoteFrame(https://github.com/elsmorian/RemoteFrame)を試してみます。
「動作環境・準備」は1回目の日記を参照して下さい。
ファイル構成
elsmorian-RemoteFrame-20fd117 ├─dacp.py ├─itunes.py ├─webserver.py └─templates ├─config.html ├─index.html └─remote.html
ファイルの数が少なく分かりやすいです。
バージョンは elsmorian-RemoteFrame-20fd117 を使用。
webserver.pyの修正
試す前にソースコード(webserver.py)のバグ修正を行ないます。
(修正前) 51: tmp = open('static/artwork.png', 'wb')
(修正後) 51: import os 52: os.mkdir('static') 53: tmp = open('static/artwork.png', 'wb')
ディレクトリが見つからなくて例外が発生するのを修正します。
動かす
予め、iTunesを起動しておきます。(自動で起動はしません)
ブラウザの "next" をクリックして次へ進むと
- iTunesの状態
- ブラウザの状態
Next/Prevをクリックすると・・・
unicode周りで例外が発生しているようです。
<type 'exceptions.UnicodeDecodeError'> at /remote 'ascii' codec can't decode byte 0x8a in position 12: ordinal not in range(128) Python C:\Python27\lib\site-packages\web\utils.py in safeunicode, line 334 Web GET http://localhost:8080/remote
深追いはやめてこの辺にしておきます。
まとめ
DACPのプロトコルを全く知らずにブラウザー経由で(例外が発生するものの)iTunesとペアリングして、「次の曲」へ進むことが出来ました。
(iTunesがこちらを認識してそれに反応してくれた。)
今回のライブラリは、ソースコードの行数が少ないので本格的に実装するための参考として使用できそうです。
DACPでiTunesをリモートコントロールしてみた(1回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(2回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(3回目) - とりあえず日記
DACPでiTunesをリモートコントロールしてみた(4回目) - とりあえず日記