Nico2Mobileのブログ記事
Nico2Mobile 0.1.6をリリースしました。
http://apps.makotokw.com/nico2mobile/
0.1.4/0.1.5ではパターンファイルがローカルにないと起動しないという重大な不具合がありました。
アプリケーションが起動しない場合は至急こちらのバージョンをお使いください。
結構、慌てているので他にも問題があるかもしれません。。。
Nico2Mobile 0.1.4をリリースしました。
残念ながらPSPやWALKMANへの転送対応はまだです。それ以前にニコニコ動画の変更でログインなどが正常に動いておらず使い物にならない状態になっていたのでそのあたりに対応しました。
自動更新もしくは
http://apps.makotokw.com/nico2mobile/
から最新版をダウンロードしてください。
サイトの変更でアプリのバージョンアップをするのも大変なので、パターンファイルをサーバからダウンロードして動作するようにしました。ある程度の対応はパターンファイルの更新でいけると思います。この機能はbuild1からあったのですが強化した形です。パターンファイルは内部で一日おきに取得するという形だったのですが、メニューの「ヘルプ」->「最新のパターンファイルの取得」からいつでも更新できるようにしました。
とはいっても作者がニコニコ動画の変更を随時チェックしてパターンファイルを更新しないと追従できないので、今のままでは意味がありません。まずは自動テストを走らせてニコニコ動画の変更を追従しようかなと思っています。正直テストプログラムを書くのは簡単なんですが、結果の送信が・・・自宅のメールサーバの設定が途中で面倒になって放置しているもので、どちらかというとメールサーバの設定が大変。。。
機能追加
- マイリスト追加時のURLでttp://等を補正する処理を追加(2ch対応)
- ニコニコムービーメーカー対応
- ログインやマイリストの検索パターンをサーバからの設定ファイルで動作するよう強化
不具合修正
- ログイン、マイリストが表示されない不具合を修正
既知の不具合
- ニコニコムービーメーカーの映像が正常に変換できない
- SmileVideo/ニコニコムービーメーカー以外の動画だとサムネイルが表示されない、ダウンロードができないなど正常に動作しない
連休終了。
休み中にやることはボリュームが多く、全部できないことはだいたい予想がついていたのでどれかに集中するより、バランスよくいろいろやることにした。
その結果、aTunesくらいしかまともにリリースできなかったのだが、家の整理やデータや開発環境の整理などもできたのでそれなりに有意義だったかと。
SongWidgetはamazonの文字化けを修正してwinampに対応してみたけどwidgetからcomをregsvr32する強引な仕様のためVista UAC ONの状態での検証をちゃんとやらないといけなくしばらくリリースできない。できるなら歌詞表示もしたいのだがバージョンを区切るのか検討中。
Nico2Mobileはニコニコムービーメーカーに対応しようとして苦戦中。予定通りに変換できずに困っている。こちらもWALKMAN対応とバージョンを区切るのか検討中。
今週末から来週末あたりにリリースするっす。
というわけで1時間前の宣言通り、0.1.3をリリースします。
- 機能追加
- 演奏時間, 投稿時間の表示追加
- 不具合修正
- 一個クラスライブラリが.NET3.5ベースになってました。ごめんなさい。
どうもbuild1はバグだらけだった模様。バグ修正版のbuild2をリリースしました。
http://apps.makotokw.com/nico2mobile/
自動更新は動いているのかしら・・・
□ 機能追加
- 多重起動抑止のコードを追加
- splashウインドウ入れてみた
- 起動に失敗すると自動更新もできないので、サイトを開くかどうか聞くようにした
- リロード対応(選択中のソースのみ対応、全画面更新は後回し)
□ 不具合修正
- "sm"前提で書いてたコードを修正
- ただし、ニコニコムービーメーカーには非対応
- iTunes登録時にタイトルをマイリストのエントリタイトルにしていたのを、動画タイトルに変更(ランキングの際に○位:がタイトル登録されていた不具合の修正)
- logが出力できてなかったので修正
- 一部のfirefox環境で起動しない不具合を修正
- 変換したファイルがiTunesに登録できない不具合を修正
- 変換済みファイルをコンテンツと関連付けしていなかった
- マイリストの再利用がうまくできていなかったので修正
- 起動時に不用意(不必要)なログインコードがあったので削除
正直これから、起動しない、動かない、使い方がわからない、使えない。って苦情が来ると思うのよね。
だから束の間の休息というか、リリースしてやりきった間があるうちに天狗にならせてください。
「ククク、弱ー、弱ーーー。ダサイ街に王者の登場だよ。」(今日から俺は!!22巻「伊藤、敗北す!?編」より)
大変長らくお待たせしました。
ニコニコ動画を携帯端末に転送するNico2Mobileのpreview版をリリースします。
http://apps.makotokw.com/nico2mobile/
preview版はαバージョンにもまだ満たない開発途中のバージョンです。UIも適当、機能も足りず、テストもほとんどしていない、etc。のため早く見てみたいという人以外は使わないことをお勧めします。そんな段階にも関わらずリリースしたのは、一応mylistからflvをダウンロードし、ffmpegを使ってmp4に変換。そしてそれをiTunesにプレイリスト登録できるようになったからです。つまりは、本当に一応ですがニコニコ動画からiPodまでのパスがつながりました。(YouTube対応、Sony系デバイス(PSP,mylo,Walkman)についてはまだ進捗0です)
インストール方法
WPFで書いているためXP/Vistaのみ対応になります。XPはMicrosoft.NET framework 3.0をインストールする必要があります。Nic2Mobileはhttp://apps.makotokw.com/nico2mobile/からダウンロードしてください。よくわからない人は、インストーラ版を、preview版でprogram filesを汚してくれるなよ。という人はアーカイブ版をお使いください。アーカイブ版を解凍して実行する場合は"Nico2MobileRIA.exe"が本体です。
使い方
iTunesとかを使ってる人はなんとなく使い方がわかるんじゃないかと思います。
左ペインでランキングやマイリストを選択して、右ペインでお好きなコンテンツのダウンロードや変換を実行します。まったくの開発途中のUIですが、今のUiではダウンロードと変換を明示的に分けているため単なるダウンローダとしても使えると思います。
動画ファイルの保存先は初期値がマイビデオになっています。保存先は設定から変更できます。(ちゃんと動いていれば)
変換する際の出力フォーマットは設定の変換タブから設定できますが、ffmepgのパラメータを直接設定することになります。よくわからない人は変更しないことをお勧めします。パラメータの直接設定のパスは今後も残すつもりですが、もう少し簡単に設定できるようにはする予定です。
注意事項
ニコニコ動画の動画をダウンロードするにはニコニコ動画にログインしている必要があります。お使いのブラウザでログインしている場合はそのセッションを流用したりしていますが、起動中にブラウザでニコニコ動画からログアウトされると意図しない動作を起こす恐れがあります。またブラウザでログインしていない場合はNico2Mobile自らがログインして動作しますが、どうもニコニコ動画の仕様上、同時に複数のブラウザでログインできないようなのでNico2Mobileがログインしている最中にお使いのブラウザでもニコニコ動画にログインしてしまうとNico2Mobileのログインが切断されてしまいます。いずれにせよログイン状態の維持についてはいろいろ課題があると認識していますのでデリケートに扱っていただきたく。
大まかな既知の不具合
- テストをほとんどしていません。開発環境以外のマシンでちゃんと動くのか、VistaでUACがONの場合やXPでそもそも起動するのか、かなり不安です。
- 起動が遅いです。シンプルに作っていてチューニングの段階ではないことは確かなのですがそれにしては尋常じゃなく遅いです。WPFのexeptionが大量に出ていたりしてちょっと使い方を間違えているかもしれません。チューニングするとしてもまだ先になると思うのでとりあえずsplashを最初に表示しようかと思っています。
- エクスポートダイアログが適当です。UIはともかく現行の仕様ではマイリストの名前のプレイリストを上書き更新します。同じ名前のマイリストとかがあると後勝ちになってしまうので注意してください。予定としては、新規プレイリストを作る・既存のプレイリストを上書きする・プレイリスト名を選択する、などなどが選択できるようにするつもりです
バグレポートなど
blogのコメントに入れてもらえると幸いです。またpreview版をリリースした理由の一つに今後の機能実装の優先度についての意見を聞きたいというものがあります。機能追加・修正依頼も副見えて様々な意見をお待ちしております。
正常系ならだいたい動くのだけど、世の中に出すためには異常系のフローも想定しておかないといけない。
その一つがiTunesがインストールされていないときどうするか。
C#でiTunesLibというライブラリをインポートするとiTunesCOMが簡単に使える。簡単に使えるのだが・・・COMをそのまま使うのとちょっとやり方が違ってこの異常系をあと回しにしていた。
C++でCOMを使うなら話は簡単で、CoCreateInstaceが失敗すればiTunesCOMがない。つまりiTunesがインストールされていないと判断してよい。あるいは特定の機能が使えるかどうかの判定にQueryInterfaceが成功するか否かで判別することもよくあるだろう。
C#その変どうするのかがよくわかっていなかった。ぐぐるよりもまずは動きを見てみようと、OLE ViewerでiTunesLibのTypeLibraryをみてpathがiTunes.exeになっていることを確認し、iTunes.exeをリネームして実行してみた。
すると、iTunesAppClassクラスをnewするところでSystem.IO.FIleNotFoundExecptionが発生した。メッセージは「CLSID {DC0C2640-1415-4644-875C-6F4D769839BA} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80070002」だった。
とりあえず、iTunesAppClassのnewのところで捕まえれば良さそうだ。QueryInstafaceの件は単純にcastした結果で見れば良いのだろうか。ない場合はnullなのか例外が発生するのかは今は確かめることができないのでわからない。