というわけで、アップデートしました。
ついでに、ツール用のページも作成してみた。
今回の変更点は以下の通り。
・ログの文言修正・スペルミス修正
・番組表更新のATOM取得を別スレッドを起こすように修正
・NGリスト機能追加
・起動時にウィンドウを出さない(ように見える)動作に変更
・アイコンダブルクリックを番組表表示に割り当て
NGリストと細かい動作と文言の変更。
NGリストはあんまり使わないかと思っていたのだけれど、いざ使ってみると確かにあった方が何かと便利だ。
TEST配信とか自分は殆ど見ないからな……
それはさておき、珍しくblogにコメントが。
一つ目はトラブル。
らいつべバルーンのウィンドウが表示されないか……
初回起動時のウィンドウすら出ていないようなので、動作がおかしくなっていると思うのだけれど、いかんせん .Net Framework任せの部分なので、正直こちらで取れる対策が思いつかない。
WindowsUpdateで、.Net Frameworkの更新チェックか、もしくは入れなおしかなぁ……
ログにはその辺の情報は出してないしなぁ……
もう一つは、機能追加でお知らせの音声を配信者単位で設定できないか?というもの。
正直この発想はなかった。
殆ど一日中パソコンに張り付いている自分には、思いつくまい。
後は実現させるならどうするかだが、あんまり豪華に作る必要はなさそうな気がする。
ビューをクリックしたらファイル選択ダイアログで良いかなぁ……
ツールのダウンロードはこちらから
以前の日記の続き。
とりあえず、2chスレに投下した感じ目に見えた誤動作はしていなかった模様。
が、ツールを起動したままWindowsをシャットダウンした場合、Windowsからの終了メッセージを無視して居座り続ける事が発覚……orz
どうにか対処したいものの、やり方がわからず途方にくれる。
仕方が無いので、RSSの取得でタイムアウトが起こった場合に、別サーバにRSSを取りにいく機能を追加した。
こっちは、元のRSS用URIの配列化と、タイムアウト時に配列の参照添え字のカウントアップを入れる位だったのであっさりと実装完了。(ただし、テストはめんどくさい)
次に、めぼしいところにログを入れる。
あまり重厚に作るつもりも無いので、IO::StreamWriterをたくさん書いただけ。
ショボイが、必要十分だとおもうのでこっちも完了。
次、VirtualPC上での動作チェックで、Windows2000だと、システムエラーで落ちる。
何度試しても、.NetFrameworkを入れなおしても改善しない。
悩みながら、似た事例はないかと検索に精を出す。
しかして3時間後、VC2008ランタイムの入れ忘れだと言うことに気がついた……/(^o^)\
残るは、シャットダウン時の問題。
結局、先の検索の途中で対処法が載っていた。
フォームのFormClosingイベント内で、Windows::Forms::CloseReason::UserClosingの値を見て、ユーザーからの終了か、Windowsからの終了かを判断すればよかったらしい。
フォームのクローズは作ってあったよなぁ、とおもいつつ該当箇所を見たところ、なにやら微妙にイベント名が違う。
対処法の載っていたページによると、このイベントは .NetFramework 2.0からは使われなくなったらしい。
俺、なんでそんなモン使ってたんだろう、普通に組んでれば使うはず無いんだが……
ともあれ、これで問題は一通り解決。
しかし、.NetFrameworkは生産性高いなぁ。
これWindowAPIでフルスクラッチで組んだら相当めんどくさいような気がする。
それをツール作るのが2回目の俺が数日で作れちゃうんだもんなぁ。
完成品のらいつべバルーンをみんな利用してくれ。
きっかけはLivetubeでよく見る配信で、遅れてやってきた視聴者が、「監視所のメールが届くのが遅かったから~」と言っているのを見たから。
幸いな事に、LivetubeのサイトはRSSを配信しているので、自前でRSS読んで好みの配信者の配信が始まっているときに、ポップアップするツールを作る事にした。
名づけて「らいつべバルーン」う~んなんか安直。
開発1日目
.Net Framework 2.0 VC2008を開発環境に選ぶ。
GUI画面からぽちぽち選んで画面構成を決める。
XMLの読み書きを調べる。
開発2日目
DataGridViewの存在を知る。GUI画面の大幅な見直し。
幸いその箇所はまだコードを組んでいなかったので大きな撒き戻りはなし。
設定ファイルの読み込み、書き込み部分まで完成。
需要があるか気になったので、2chのLivetubeスレに質問を投げてみる。
開発3日目
画面部分の大枠の動作確認。
通信部分とRSSから読んだXMLのパース、お知らせバルーンの実装。
サウンド再生。バグつぶし。
サンプル版完成。
おもったより、難産ではないものの、やはり.Netを使い慣れていないと作業に戸惑う。
結局数ヶ月前に読んだ初心者本読んで覚えなおす始末。
完成品のダウンロードはこちら