GetFLV2 開発メモ

2008-10-19 10:28:43 | PC > Program
メモです、メモ(笑)。

[2009/10/04]
告知通り、iTunes への登録機能を追加した最新版を公開します。内部的には大幅な見直しを行っているので、念のため以前のヴァージョンも残しておきます。最新版が上手く動作しない場合は、アンインストール後、前ヴァージョンを入れなおしてください。

最新版は右クリックメニューに「FLV 動画を iTunes に登録」が追加されます(インストール時に選択可能)。このメニューを実行するとダウンロードした動画が自動的に iTunes に登録されます。特定のプレイリストに直接登録したい場合は、インストールフォルダにある getflv.ini (構成設定ファイル) をメモ帳などのエディタで開き、

iTunesPlaylist="YouTube動画"

のようにプレイリスト名を指定した行を追加します。このときプレイリスト名をクォートで囲むことを忘れないでください。

[2009/09/26]
動画をダウンロード後、直接 iTunes に登録できるメニューを追加予定。一応コードは完成しているので、あとは細かなチューニングとバグ潰し。

[2009/08/31]
リクエストによる埋め込みが無効になっている動画のダウンロードに対応。加えて Vista 対応に向けて全面的に見直しを行いました。今度こそと思っていますが相変わらず実行環境がないため動作は未確認です。本バージョンの実行時に何らかのエラーが発生する場合、getflv.ini (拡張子が見えない場合は "構成設定" という種類のファイル)をメモ帳で開き、Debug=1 という行を追加してから再度実行してください。デバッグウィンドウが表示され、実行時のログが書き込まれていきます。ログの内容をお知らせいただければ、解決の糸口がつかめるかも知れません。ご協力よろしくお願いします。


[2009/02/11]
以前から不評だった Flash ダイアログをデフォルトで非表示にしました(笑)。一応 getflv.ini の設定で有効・無効を切り替えられるように作ってあり、そのやり方は記事に載せてはいたのですが、やはりわかりにくかったみたいですね(ちょっと反省)。設定の変更方法がよくわからないという人は一旦前バージョンをアンインストールして新たに最新版を入れなおしてください。


[2008/12/23]
なんとか年内リリースに漕ぎ着けました。最初の版ということ環境依存のバグとか色々あるかもしれません。個人的には mshta.exe とノートンの相性が気になるところ。大きなバグはないと思いたい・・・苦笑。


[2008/12/22]

リリース直前になって今まで妥協していた部分のアイデアが浮かんできて、その実現にちょっと手間取りました。ただ自分としてはかなり満足のいく仕上がりになったかな。目に見える動作としては地味だけど裏ではそれなりに凝ったことをやっているんです(笑)。取り合えず動作確認とチューニングは終了。あとは凡ミスがないか客観的にチェック。数日おいてからのリリースになると思います。気に入ってもらえると嬉しいなぁ。


[2008/12/3]

インストーラを作成中。「パソコンの操作に不慣れな方でも戸惑うことなくインストールできる」を念頭に置いています。プログラム本体に関しては細かいチューニングの段階に入りました。今週末には取り合えずリリースできるかなぁ。


[2008/11/26]

紆余曲折あったが九割方完成。表向き出来ることは大きく変わらないがメンテと拡張がしやすくなった(これは面倒くさがり屋の自分向け・・・笑)。例えばサーバごとにプラグイン(JScript)で対応できるようにしてある。また YouTube では標準画質以外に高解像度・超高解像度のフォーマットを持つ動画において、自動的に最も高い解像度のフォーマットをダウンロードするようにした。GetFLV2 を使っていただける方にはこれが一番の利点かも。部分的にちょっとした遊び心も入っている。当初アップデート通知機能も実装予定だったが、まだ仕様が定まらないのでベータ公開からは外すことになりそう。できればニコニコ用のプラグインも付けたいが色々とサーバ側のアクセス制限が厳しいので使いやすいものになってから添付しようと思う。現時点では「取り合えずダウンロードできる場合もある」という程度なので・・・苦笑。あと前バージョンでは JScript ファイルを使ったインストーラで、アンチウイルスのブロックを受ける環境が多かったことを踏まえ、ちゃんとしたインストーラを組み込むべきか検討中。動作テストは XP+IE6, XP-SP2+IE7, XP-SP3+IE8beta の三つの環境で行っている。Vista は不明。今のところはこんな感じ。細々ですが断続的に開発は続いていますぞっと(笑)。


[2008/10/19]

もともと GetFLV は自分用に作った書きなぐりのスクリプトだった。何の設計も無しに書いていたので不具合修正や機能追加のたびにスパゲティ化が進行していくのが目に見えていた。そのうち書き直そうを思いつつも数年が過ぎてしまったわけだが、何となく取り掛かったら意外にまとまりそうな雰囲気だったので、スキルとアイデアをゆっくり暖めながら制作していこうと思っている。

今回は思い切って prototype.js をベースにすることにした。といっても非同期通信の Ajax を使っているわけではなく、コーディングにおける簡略化を図るため prototype.js が持つベーシックな環境を手に入れたかっただけである。そもそも GetFLV は file プロトコルで呼び出されるスクリプトであり、prototype.js のウリである XMLHttpRequest は使えない。これはセキュリティ上の配慮から、同一ドメイン宛にしかリクエストを送れない仕様に依るものである。

prototype.js は数年前にどっぷりとハマった経歴があるが、さすがに今回はブランクが長いこともあり、それなりに再読を要した(といってもつまみ食い程度の流し読みだが・・・苦笑)。久しぶりに使ってみて感じたのは、やはりメインのソースがシンプルに書けるということ。今や prototype.js の環境は Web 2.0 における実質的なスタンダードになったわけで、その恩恵には十分にあずかっておこう(笑)。

全体的な狙いとしては「メンテが楽なソースにしておくこと」と「サイトの仕様変更に強い手法を模索すること」の二点である。コードはオブジェクト指向で一から書き直しており、対応サイトごとにコンポーネント化することにした(といってもまだ YouTube 版を書き終えたばかりだが・・・笑)。これによりメインプログラムと独立させることができるので対応サイトが増えた場合にもメンテが楽になると思う。prototype.js の 1.6 ではクラスの継承がかなりこなれた仕様になっており好感が持てた(スッキリと書けるというのは何より精神衛生上よろしいわけで・・・笑)。


メモ
・カスタマイズ性の向上のため getflv.ini を最大限に活用。
・環境設定の違いによる初心者ユーザの混乱を防ぐため、最低限の環境チェックを GetFLV 側で行う。
・上記に関連してインストーラを付属させる。


現在では動画のダウンロードに関連する様々なツールが出ている。GetFLV はたまたま公開時期がその黎明期だったこともあり、相手にしてもらえたが、他の類似ツールと比較して機能的には貧弱だし、今だったら見向きもされなかっただろう(苦笑)。しかし GetFLV は他のアプリケーションと共存しながらも、小回りの利くツールとして独自路線で威力を発揮できればいいなと思っている(今のところ強みはリンクからダウンロードできるということくらい?・・・苦笑)。

今はサンデープログラマ状態なので、開発のテンポは緩やかだが、ヘンに欲を出さなければ、近いうちに公開に漕ぎ着けるだろう(笑)。



最新の画像もっと見る