Copyright (C) [2018-3] Akinori Furuta.
riset3v は mAgicTV GT の番組予約ファイル riset3.ri の内容を 表示するコマンドラインツールです。次は表示例です。
riset3v -f "%s,%e,%N,%T,%t" -t "%Y/%m/%d %H:%M:%S"
2018/03/30 07:00:00,2018/03/30 07:45:00,0x7fe0,0x7fe0,"NHKニュース おはよう日本[字]"
2018/03/30 10:15:00,2018/03/30 10:25:00,0x7fe1,0x7fe1,"おとなの基礎英語[終] Session96「Review Test」"
riset3v -f "%s,%e,%N,%T,%t" -t "%s"
1522360800,1522363500,0x7fe0,0x7fe0,"NHKニュース おはよう日本[字]"
1522372500,1522373100,0x7fe1,0x7fe1,"おとなの基礎英語[終] Session96「Review Test」"
ダウンロードした zip ファイルを展開し、 その中に含まれる riset3v.exe を次の様に して使って下さい。
次の表に zip ファイルに含まれるファイル一覧を示します。
ファイル | 必須か | 説明 |
---|---|---|
|
不要 | riset3v.exe を Embarcadero C++ で構築するために 使います。構築する予定が無ければ削除して構いません。 |
|
不要 | riset3v.exe を cygwin または Linux 環境で構築する ために使います。構築する予定が無ければ削除して構いません。 |
|
不要 | このファイルとそのスタイルシートです。内容を確認したら 削除しても構いません。 riset3v.exe -h で最低限の ヘルプメッセージが表示されます。 |
|
不要 | riset3v.exe のソースコードです。ソースコードから構築する 予定が無ければ削除して構いません。 |
|
必須 | 録画情報ファイル riset3.ri ファイルを読み込んで内容を 表示するコマンドラインツールです。PATH 環境変数で 実行ファイルを検索するフォルダにコピーして使うと便利 です。PATH 環境変数で検索対象になっていないフォルダに 格納した場合は、フルパスを指定して実行して下さい。 |
|
不要 | riset3v.exe を Visual Studio で構築するために 使います。構築する予定が無ければ削除して構いません。 |
riset3v.exe のコマンドライン書式は次の通りです。
引数 | 説明 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ARIB 拡張文字を [hhhh] に置き換える指定をします。
|
||||||||||||||||||||||||
|
制御文字置き換え方法を指定します。既定は指定無しで置き換え処理はしません。
|
||||||||||||||||||||||||
|
予約情報の表示書式を指定します。表示書式は次に示す文字列を 織り交ぜて指定します。既定は "%s,%e,%N,%T,%t" です。
|
||||||||||||||||||||||||
|
日時の書式を指定します。strftime() の書式と同一です。既定は "%Y/%m/%d %H:%M:%S" です。 次は良く使用する書式の一部です。
%a(短縮形曜日), %A(曜日), %b(月), %B(月), %p(午前/午後), %P(午前/午後) も 使用可能です。しかし、番組タイトルの 文字コード体系 SJIS と混合すると 読み取りが困難になる場合があります。 |
||||||||||||||||||||||||
|
日時の書式を "%s" にした場合に秒数を 表示する書式を指定します。既定は "10" です。書式はprintf() の変換指定子 u (10 進数で符号無し整数を 表示する)に指定できる書式のうち、 フラグ文字、フィールド幅、精度に 使える文字から間接指定文字を除いた 文字でで構成して下さい。 |
||||||||||||||||||||||||
|
ヘルプを表示します。コマンドラインに 何も指定しない場合は、mAgicTV が運用している riset3.ri を読み取り、表示しますます。 初期化直後などで録画予約が全くない場合に、 riset3v.exe を起動すると何も表示されません。 |
||||||||||||||||||||||||
|
riset3.ri ファイルのパスを指定します。 既定は APPDATA 環境変数を参照して mAgicTV が運用している riset3.ri ファイルのパスになります。Windows10 で典型的な既定のパスは C:\Users\ユーザー名\AppData\Roaming\I-O DATA\mAgicTV\TVManager\riset3.ri となります。 |
ヘルプメッセージを表示する。
mAgicTV が運用している riset3v.ri ファイルを表示する。
開始時刻、終了時刻、Netrowk id、Service id、概要を表示する。
ノート: 概要または詳細を表示する 場合 "-cb", "-cd", "-cr;" オプションのいずれかを併用した方が 良いでしょう。概要、詳細に含まれる CR または LF 制御文字によって 出力が大きく乱れるのを防いで下さい。
開始時刻、終了時刻、Netrowk id、Service id、タイトルを表示する。 時刻は UNIX time を秒で表示する。
C:\TMP にコピーした riset3.ri を表示する。
cygwin などの疑似 UNIX 環境でパイプライン処理で使う。 時刻は UNIX time を秒で表現する。
ノート: 添付した riset3v.exe は Embarcadero C++ で構築した Windows command line アプリケーション です。改行の形式は CR-LF です。dos2unix などで改行形式を LF に 変換せずに riset3v.exe の出力を sed, gawk, sell script で処理と、 気づきにくい CR コードによってエラーまたは式の評価が期待通りに 行われない場合があります。
ノート: riset3v に -a オプションを 付けて ARIB 拡張文字を [hhhh] に置き換えて iconv でエラーになら ないようにしています。iconv でエラー対策をするには iconv に -c オプションを使用して、終了しない様にします。
Network ID, Transport Stream ID, Service ID は放送ネットワーク(衛星)、 放送局、メイン/サブチャネル、周波数帯を識別する番号です。riset3v はこれらを翻訳しないで値のまま表示します。それぞれ次の検索結果を 参照して下さい。
riset3v.exe は Visual C++(Visual Studio), Embarcadero C++, gcc (cygwin), gcc (Linux) を 使ってソースコードから構築できます。添付してある riset3v.exe は Embarcadero C++ を使い 構築したものです。
構築環境 | お勧め | 構築コマンドライン、特徴 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Visual C++ (Visual Studio) | ○ |
build command line: devenv riset3view.sln -build "Release|Win32"
Visual Studio に含まれる。C++ コンパイラで構築できます。 ソースコードは C 言語の範囲で書かれています。構築ターゲットは "Debug|Win32", "Release|Win32", "Debug|x64", "Release|x64" の いずれかを指定できます。64bit windows 環境でも 32bit コードを 実行することができますので "Release|Win32" ターゲットだけ構築 すれば十分でしょう。ランタイムライブラリを必要とするので、 構築環境と実行環境が違う場合は、ランタイムライブラリも コピーする必要があります。 Visual C++ で構築した riset3v.exe は riset3.ri ファイルを共有 モードで開きます。mAgicTV の動作を妨害する可能性は低いです。 riset3v.exe 動作中に riset3.ri ファイルが更新された場合、 riset3v.exe の出力が乱れる可能性があります。
|
|||||||||||||||
Embarcadero C++ | ◎ |
build command line: make -f Makefile.bcc
Embarcadero C++ のフリー版で構築できます。構築される バイナリは Win32(32bit) コードです。64bit 環境でも実行できます。 ランタイムライブラリが不要なバイナリが構築されます。 構築した EXE ファイルをコピーするだけで、別の環境でも実行できます。 Embarcadero C++ で構築した riset3v.exe は riset3.ri ファイルを共有 モードで開きます。mAgicTV の動作を妨害する可能性は低いです。 riset3v.exe 動作中に riset3.ri ファイルが更新された場合、 riset3v.exe の出力が乱れる可能性があります。 |
|||||||||||||||
gcc (cygwin) | △ |
build command line: make
cygwin の gcc で構築できます。32bit/64bit どちらの cygwin 環境でも 構築できます。cygwin のランタイムライブラリを必要とします。 構築環境と実行環境双方に cygwin をインストールしておくことをお勧めします。 cygwin の文字コード体系は UTF-8 なのに対し、riset3v.exe の出力は SJIS です。cygwin 環境で出力結果は直接読めないので iconv を通して 変換し、読む・処理する必要があります。 cygwin 環境で構築した riset3v.exe は riset3.ri ファイルを共有 モードで開きます。mAgicTV の動作を妨害する可能性は低いです。 riset3v.exe 動作中に riset3.ri ファイルが更新された場合、 riset3v.exe の出力が乱れる可能性があります。 |
|||||||||||||||
gcc (Linux) | △ |
build command line: make
Linux の gcc で構築できます。Little endian の 32bit/64bit どちらの Linux 環境でもビルドできます。 riset3v.exe の出力は SJIS です。出力結果は直接読めないので iconv を通して変換し、読む・処理する必要があります。 riset3.ri ファイルを Linux 環境にコピーし、コピーしたファイルを riset3v で表示することをお勧めします。 |
ノート: riset3.c, riset3v.h の中に Watcom C と主に 16bit 環境で使用する C コンパイラで構築を試みた 記述があります。2018/3 の時点ではこれらのコンパイラで構築する ことはできません。
ライセンスと責任範囲は 2 条項 BSD ライセンスに準拠します。責任範囲について、2 条項 BSD ライセンスに則り次の様に定めます。
ソフトウエアは「あるがまま」で提供されます。明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。
本文中に現れる製品名あるいは商標はその権利所有者による登録商標です。
Mail@to afuruta@m7.dion.ne.jp