web_access_iTunes_capture_01.pngサーバーマシンで動いているiTunesを、外部からリモート操作しようという試みについて。とりあえず動いてはいるので、また、非常に限定された用途しかないから、としばらく放置していましたが、HTMLやJavaScriptの練習に良いかな、と思い直し、この二週間ほど見た目を中心にこつこつと作っております。
JavaScriptに取り組むのはほぼ初めてです。仕様がいまいち統一されておらず、色々となんだかメンドクサイですが、簡単に動きのあるものが作れて、楽しくもあります。
将来的にはXMLRPCなぞ受け入れるようにして、目指せAjaxってか。
(関係ないですが、Ajaxはアヤックスと読みたいなあ。エイジャックスなんて田舎風の読み方は、俺の身体に流れるオランダ人の血が許しません(流れてないけど)(オランダだって田舎か)。)

まだ公開できる段階ではないので、とりあえずスクリーンショットだけ。WebからiTunesにAccessできるということで、Web Access iTunes、略してWAiTってか。
Playlistを取得〜曲を選んで再生〜イントロを飛ばして〜ボリューム絞って〜といった基本部分は動きます。検索はまだ動きません。プレイリストの作成や編集などは、実装するかわかりません。

技術的にいま行き詰っているのは、ライブラリ全体のような、膨大な量のリストをどう処理するか、という点。
一気に転送するのはまず無理。nページ中mページ目、なんて感じに細切れにして送るしかないのだが、そうするとややこしくなってくるのが、クライアントごとの検索、ソートの結果。これらをどこかに保持しておく必要がある気がするのだが。
・サーバー側で保持する。その場合、セッション管理などして上手くやる必要があるかも。
・その都度検索する。検索は良いとしても、ソートはオリジナルの並び順を維持したまま、複雑なソートを実施というのは難しそうだ。
・とりあえず複数のクライアントがアクセスする可能性は忘れて、サーバー側のデータを直接弄ってしまう。
・そもそもソートのやり方がわからない。

うーん。先は長い。