generic mp3 download & id3 implanting
to http://to.tumblr.com/post/11857595
mp3blogでよく見る、1pixeloutのプレーヤーに元mp3へのリンクを追加するGreasemonekyスクリプト。
他のプレーヤー対応というのもありうる。
ダウンロードスクリプトが、これに対応するのもいい。
なんか、ここらへんを、どうスムーズな流れにするか、イマイチ見えない。タグの整形、m3u、うーんちょこっとずつ便利にしていって、考えなら模索する感じなのかなー。
最近、徐々に近づいてる感じ、みんながそこを向いてる感じがするんだけど。
livehttpheadersと同じ方法で全部リクエスト監視してaudio/mpegのやつはヘッダを改竄、キャッシュさせるようにしてキャッシュにはいったところを回収、というのでいけます。ただダウンロードが終わったときにイベントが出たりしないので、ポーリングが必要。ださい。
レスポンスのストリームをコピーして取り出せるとスマートなのだけど、それができるかどうかわかりませんでした(できなさそうってい意味です)。レスポンスがきた時点でstreamListenerを差し替えたりしてみたけど、それ以前の段階でどっかと繋げられててもうレスポンスがかえってきた時点で繋ぎ変えても手遅れみたい。
あとはid3がはいってないときに埋め込むためのSITEINFOを作ったりすれば(でもコネクションを監視している側では、どのリクエストとどのHTML上の要素とが関連しているかまったくわからないのでSITEINFOは複雑になりそう)すこし楽になるかなーと思って2週間前書いてました。キャッシュから取り出せるのがわかったところでほかのネタがはいってきて中断。
でもどうせほとんどのサイトには関係ないことなのに全部のリクエストを監視してると遅そうなので、Greasemonkey的アプローチと組み合わせた方がいい。Greasemonkeyは素晴らしいコンセプトで素晴らしく便利だけど、使いこむにつれてなんか不便なことばかりが目立つ。どうせ危ないんだから特権つきモードオプションとかほしい。特定のスクリプトは特権付き。JSAでそういうパッチを当てるスクリプトを作るか。JSAは単純で危ないところが最高。子供に危ない刃物は使わせないのはいいとして、大人も刃物が使えないのはつまらない。刺したいときに刺せないのでは、なんのために刺せるようになっているのかわからない。