FEATHER Watcher
canopusのMTVシリーズなどの視聴ソフトであるFEATHERは、環境によっては終了がうまくいかないことがあるようで、その結果、次の番組の予約が実行できないなどの問題がおきます。このソフトは、サービスとして常駐し、FEATHERの予約終了を検出して、FEATHERの動作がすべて終了しないで止まっていた場合には強制終了させます。TVの音声は流れたままになってしまったりするのですが、録画の失敗を減らすためには役に立つと思います。
FEATHERの種類は、FEATHER G-Spec、FEATHER-Xのどちらでも使えると思います。作者はFEATHER-Xでのみ確認していますので、これ以外のFEATHERで動作するかは不明です。
次の項目に示すように、分かっているだけでもいくつかの問題があります。また、これ以外にも問題があるかもしれません。このソフトを利用すること、またはこの文章を読むことによってなんらかの被害が発生した場合でも作者は責任を負いません。利用者の責任において利用してください。
このソフトは、MTVの一ユーザである私が個人的に作成したもので、canopus社とは関連ありません。本ソフトウェアに関するお問い合わせは、作者であるT-MZまでお願いします。連絡先はこのページの下部にあります。
次のもの(もしくはそれ以上のバージョン)がインストールされている必要があります。ない場合は、並記のアドレスからダウンロードしてインストールしてください。
インストーラを実行してください。インストーラが2種類ありますが、環境によってはエラーが出て片方しか動かないことがあります。動くほうでインストールしてください。インストール中に「サービスログインの設定」というウィンドウが表示され、ユーザ名とパスワードを聞かれることがあります。インストールするコンピュータでFEATHERの予約を動作させるアカウントのユーザ名とパスワードを入れてください。間違っていないはずなのにエラーでセットアップが終了してしまう場合、ユーザ名のところはマシン名つきのユーザ名を入力してください。たとえば、マシン名がpcで、ユーザ名がadminの場合、「pc\admin」と入力してください。
★★ 重要 ★★インストールが正常に終了しても、まだサービスは動いていません。Windowsを再起動後に動作します。再起動後に、サービスが正しく動いているか確認してください。コントロールパネルの「管理ツール」で「イベントビューア」を起動し、「アプリケーション」を選ぶとFEATHER Watcherに関する情報が記録されていると思います。FEATHER Watcherに関してエラーが出ていなければ正しく動作しているはずです。エラーが出ている場合、または何も情報が見つからない場合は、動作していません。「管理ツール」の「サービス」でFEATHER Watcherのログオンのアカウントを確認したり、スタートアップの種類が「自動」になっているか確認してください。「開始」ボタンで状態が「開始」になればOKです。
インストールが終了し、正常に動作するようになったのが確認できたら、インストーラなどのファイルは必要なくなります。特に必要なければ削除してください。
まず、旧バージョンの削除を行ってください。削除は、コントロールパネルの「プログラムの追加と削除」(Windows2000の場合は「アプリケーションの追加と削除」)からできます。これまで使っていたFEATHER Watcherのバージョンは、FEATHER Wathcherの項目を選択し、「サポート情報を参照するには、ここをクリックしてください。」という部分をクリックすれば確認できます。今のバージョンが古いことを確認して、削除してください。アンインストールの操作後、Windowsを再起動してください。
これ以降の操作は、1回目のインストール方法と同じです。前の項目を参照してください。
FEATHERの終了判定は、FEATHERの予約マネージャ(CDVRS.exe)が書き出すログファイルの状態を監視して行っています。ログファイルはサービスの実行アカウントでの一時ディレクトリにFEATHER.logという名前で作られるので、このファイルを監視します。ファイルに変更があった場合は、ログファイル内で最後に":"が出現するところを探し、これよりあとの行末に「終了しました」、「取り消されました。」、「開始できませんでした」のうちいずれかの文字列がある場合は予約が終了したと判断します。FEATHERが自力で終了するのを待つため、10秒間待ちます。予約実行の状態が変わらず、それでもFEATHER(CDVR.exe)が終了していない場合、強制終了させます。
以上のようなロジックで動いているのですが、これで本当に正しいのかは不明です。より良いロジックが分かれば、今後改善したいと思います。
注意:RecordingManager (TvrMan.exe)の監視は、インストール時は無効に設定されています。有効にする場合は後述のレジストリの設定をご覧ください。
通常の使い方では、同じマシンでFEATHERとRecordingManagerを使うことはあまり無いと思いますが、何らかの理由で両方使用される場合を考え、FEATHER WatcherではRecordingManagerの監視(強制終了)機能も持っています。ただし、予約の管理をFEATHERで行う使い方をしていることと、RecordingManagerのバージョンが1.17以降であることが前提です。そうでない場合、強制終了後に誰もRecordingManagerを起動させようとしないため、予約が実行されないことになります。RecordingManager監視の動作原理は基本的にはFEATHERの場合と同じですが、ログファイルはレジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Canopus\MTV1000\Path に設定されたディレクトリのTVRMANRC.LOGを対象とします。また、予約の動作の違いを考慮し、強制終了までの時間は40秒としています。
レジストリの設定値を変更し、サービスの再起動を行うことで動作の一部をカスタマイズできます。設定は、レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\T-MZ\FEATHER Watcher の下にあります。レジストリの設定方法が分からない場合は、質問していただいてもお答えできませんのでご了承ください。
FEATHER (CDVR.exe) | 設定場所 | 設定値の内容 | 標準設定 |
---|---|---|---|
監視・強制終了の対象 | Feather\Disabled | 0:有効 1:無効 | 0 |
強制終了までの時間 | Feather\TimeToKill | 時間(単位はミリ秒) | 10000 |
RecordingManager (TvrMan.exe) | 設定場所 | 設定値の内容 | 標準設定 |
監視・強制終了の対象 | RecMgr\Disabled | 0:有効 1:無効 | 1 |
強制終了までの時間 | RecMgr\TimeToKill | 時間(単位はミリ秒) | 40000 |
予約番組ではなく、FEATHERをユーザが自分で起動し、終了した場合にはFEATHER Watcherは関与しないことは最初にも書いたとおりですが、終了させるバッチファイルをおまけでつけておきます。ただしWindowsXP専用です。これを使えば、「タスクマネージャからCDVR.exeを探して右クリックして強制終了する」という操作が「バッチファイルのダブルクリック」ですむようになります。デスクトップにでもコピーしてご利用ください。(中身はほんとに単純なバッチファイルです。)
(この項目は、一般の方は読む必要はありません。)
ソースは、srcディレクトリ以下にあります。自分でカスタマイズしたい人は好きなように使ってください。Microsoft Visual C#.NET 2003 Professionalで作成しましたが、サービス本体はVisual C# 独自のライブラリなどは使用していませんので、たとえばBorland C# 1.0 でもソース(*.cs)の大部分はほぼそのまま利用できると思います。元のバージョンのインストール後に、サービスが停止している状態で実行ファイルを入れ替えれば新たに作り直したものを動作させることができると思います(未確認)。(ただしプロジェクトファイルはVC#専用、サービスのインストーラ作成に関する部分はVC# Pro以上専用です。)
有益だと思われる改良をした場合、私が公開するものにも反映させたいのでご連絡ください。また、カスタマイズしたものや、このソースを参考にしたものなどを公開された場合も、できるだけご連絡ください。
MTV2000 + MTV X Pack + Pen4 2.4CGHz@2.7GHz(with HT) (作者の環境)
最新版、バグ情報などの情報提供は、以下のページで行なっています。サポート掲示板もあります。
バグ報告、質問、要望等があれば、下記アドレスまでメールをください。お気軽にどうぞ。