TVTの初期化手順なと

ch-ts.bat BonDriver_PT-T0.ch2
して、ch-ts.txt生成
ch-ts.batはどっかに落ちてた。

ch-bs.txt
ch-cs.txt
はどっかのウエブから適当に拾ってきて編集。
増やしすぎるとEPG摂れないので、かなり削ることを推奨(´ー`)

BonDriver_PT-S1.ch2からch-bs.txtとch-cs.txt精製するよ^_^

なんかwebに上がってる情報が2012年の8月くらいで止まってる。
Wikipediahttp://ja.wikipedia.org/wiki/テレビ周波数チャンネル
の項目からチャネルとサービスIDの情報引っ張ってきてパースしてみる。

#!perl


my %tag;
open CH2,          'BonDriver_PT-S1.ch2';
open CH_BS, '>' .  'ch-bs.txt';
open CH_CS, '>' .  'ch-cs.txt';

# 中心周波数 (MHz)
my %CHtoMHZ = qw/
    BS-1        11727
    BS-3        11765
    BS-5        11804
    BS-7        11842
    BS-9        11880
    BS-11       11919
    BS-13       11957
    BS-15       11996
    BS-17       12034
    BS-19       12072
    BS-21       12111
    BS-23       12149
    ND-2        12291
    ND-4        12331
    ND-6        12371
    ND-8        12411
    ND-10       12451
    ND-12       12491
    ND-14       12531
    ND-16       12571
    ND-18       12611
    ND-20       12651
    ND-22       12691
    ND-24       12731
/;


my %ServiceToCH;
my %ServiceToINF;
while(<DATA>)
{
    next if( /^;/ );
    chomp;
    my($ch, $service, $info) = split( /[ \t\:]+/, $_, 3 );
    $ServiceToCH{$service} = $ch;
    $ServiceToINF{$service} = $info;
}

while(<CH2>)
{
    next if( /^;/ );
    chomp;
    (
    $tag{$.}{'名称'},
    $tag{$.}{'チューニング空間'},
    $tag{$.}{'チャンネル'},
    $tag{$.}{'リモコン番号'},undef,
    $tag{$.}{'サービスID'},
    $tag{$.}{'ネットワークID'},
    $tag{$.}{'TSID'},
    $tag{$.}{'状態'} ) = split( /,/ , $_ );

}

foreach $line ( sort { $a <=> $b } keys %tag )
{
    #next unless ( $tag{$line}{'状態'} );
    next unless ( $tag{$line}{'TSID'} );
    next unless ( $tag{$line}{'サービスID'} );
    next unless ( $ServiceToCH{$tag{$line}{'サービスID'}} );

    my $buf .= sprintf "%s %s %s\n",
                     $tag{$line}{'名称'},
                     $CHtoMHZ{$ServiceToCH{$tag{$line}{'サービスID'}}}
                        *  0x10000 + $tag{$line}{'TSID'},
                     $tag{$line}{'サービスID'};
    
    printf "%-5s %-25s\n      %-25s [%s %s=>%s]\n",
                     $ServiceToCH{$tag{$line}{'サービスID'}},
                     $ServiceToINF{$tag{$line}{'サービスID'}},
                     $tag{$line}{'名称'},
                     $tag{$line}{'TSID'},
                     $tag{$line}{'サービスID'},
                     $CHtoMHZ{$ServiceToCH{$tag{$line}{'サービスID'}}}
                        *  0x10000 + $tag{$line}{'TSID'};
    
    if ( $ServiceToCH{$tag{$line}{'サービスID'}} =~ /^BS/ )
    { 
        print CH_BS $buf
    }
    else
    {
        print CH_CS $buf
    }

}
__END__
;http://ja.wikipedia.org/wiki/テレビ周波数チャンネル
BS-1    151: BS朝日    
BS-1    161: BS-TBS    
;BS-1    755: BS朝日データ  
;BS-1    768: Gガイドサービス   
BS-3    171: BSジャパン    
BS-3    191: WOWOW プライム    
;BS-3    777: BSJ DATA  
;BS-3    791: WOWOW navi    
BS-5    192: WOWOW ライブ  
BS-5    193: WOWOW シネマ  
BS-7    201: スター・チャンネル2   
BS-7    202: スター・チャンネル3   
BS-7    236: BSアニマックス    
BS-7    256: ディズニー・チャンネル    
BS-9    200: スター・チャンネル1   
BS-9    211: BS11  
BS-9    222: TwellV    
;BS-9    800: スター・チャンネル データ800  
;BS-11   231: 放送大学BSテレビ  
;BS-11   238: FOX bs238 
;BS-11   241: BSスカパー!   
;BS-11   531: 放送大学BSラジオ  
;BS-11   840: スカパー!ガイド   
BS-13   141: BS日テレ  
BS-13   181: BSフジ    
BS-15   101: NHK BS1   
BS-15   103: NHK BSプレミアム  
;BS-15   700: NHKデータ放送 
;BS-15   701: NHKデータ放送 
;BS-15   910: ウェザーニューズ  
;BS-15   929: エンジニアリングストリーム    
BS-17   291: NHK総合(東京)   
BS-17   292: NHK Eテレ(東京) 
BS-17   294: 日本テレビ    
BS-17   295: テレビ朝日    
BS-17   296: TBSテレビ 
BS-17   297: テレビ東京    
BS-17   298: フジテレビ    
;BS-19   234: グリーンチャンネル    
;BS-19   242: J SPORTS 1    
;BS-19   243: J SPORTS 2    
;BS-21   244: J SPORTS 3    
;BS-21   245: J SPORTS 4    
;BS-21   252: イマジカBS    
;BS-23   251: BS釣りビジョン    
;BS-23   255: BS日本映画専門チャンネル  
;BS-23   258: Dlife 
;ND-2    296: TBSチャンネル1
;ND-2    298: テレ朝チャンネルHD
;ND-2    299: 朝日ニュースターHD
;ND-4    100: スカパー!プロモ100
;ND-4    223: チャンネルNECO
;ND-4    227: ザ・シネマ
;ND-4    250: スカイ・A sports+
;ND-4    342: ヒストリーチャンネル
;ND-4    363: 囲碁・将棋チャンネル
;ND-6    294: ホームドラマチャンネル
;ND-6    323: MTV HD
;ND-6    329: 歌謡ポップスチャンネル
ND-6    340: ディスカバリーチャンネル
;ND-6    341: アニマルプラネット
;ND-6    354: CNNj
;ND-8    055: ショップチャンネル
;ND-8    218: 東映チャンネル
;ND-8    219: 衛星劇場
;ND-8    326: ミュージック・エア
ND-8    339: ディズニージュニア
;ND-8    349: 日テレNEWS24
;ND-10   800: スカチャン0
;ND-10   801: スカチャン1
;ND-10   802: スカチャン2
;ND-10   805: スカチャン3
;ND-12   254: GAORA
;ND-12   325: MUSIC ON! TV(エムオン!)HD
ND-12   330: キッズステーションHD
;ND-14   292: 時代劇専門チャンネルHD
;ND-14   293: ファミリー劇場HD
;ND-14   310: スーパー!ドラマTV HD
;ND-16   290: TAKARAZUKA SKY STAGE
;ND-16   305: チャンネル銀河
;ND-16   311: AXN 海外ドラマ
ND-16   333: アニメシアターX(AT-X)
;ND-16   343: ナショナル ジオグラフィック チャンネル
;ND-16   353: BBCワールドニュース
;ND-18   240: ムービープラスHD
;ND-18   262: ゴルフネットワークHD
;ND-18   314: 女性チャンネル♪LaLa TV(HD)
;ND-20   307: フジテレビONE スポーツ・バラエティ
;ND-20   308: フジテレビTWO ドラマ・アニメ
;ND-20   309: フジテレビNEXT ライブ・プレミアム  
;ND-22   161: QVC
;ND-22   297: TBSチャンネル2
;ND-22   312: FOX
;ND-22   322: スペースシャワーTV
ND-22   331: カートゥーン ネットワーク
;ND-22   351: TBSニュースバード
;ND-24   229: FOXムービー プレミアム
;ND-24   257: 日テレG+ HD
;ND-24   300: 日テレプラス
;ND-24   321: 100%ヒッツ!スペースシャワーTV プラス
;ND-24   362: 旅チャンネル

もとのdtv.iniをdtv.pl する。
この作業は、

[TUNER4 CHANNEL]
[TUNER4 SERVICE]
[TUNER4 SERVICE-L]
[TUNER5]
[TUNER5 SERVICE-L]
[TUNER6]
[TUNER6 SERVICE-L]
[TUNER7]
[TUNER7 SERVICE-L]
[TUNER8]
[TUNER8 SERVICE-L]

あたりの使ってない設定やダストの破棄。
特に昔の[TUNER CHANNEL]が残ってるとバグる。

dtv.ini 初期化したいときに使うのです。

#!perl
# dtv.ini 初期化したいときに使うのです。
use strict;
my $dtv_ini = "dtv.ini";
my $section;
my %exist;

open DTV, '' . $dtv_ini;
while(<DTV>)
{
 if (/^\[(.+)\]$/)
 {
    $section = $1;
    next;
 }
 $exist{$section} .= $_;
}
close DTV;

open DTV, '>' . $dtv_ini;
foreach( sort keys %exist )
{
    print DTV "[$_]
";
    print DTV $exist{$_}    unless( /TUNER[56789]/ or /TUNER. (CHANNEL|SERVICE)/ );
}
close DTV;

マイ ドキュメント/tvrockの中身を全部削除

そして、 dtv.ini ch-ts.txt ch-bs.txt ch-cs.txt
をマイ ドキュメント/tvrockにコピる

DTune.bat起動
設定...

うん 設定UIはあるんだけどね。。なんというか うん。。。わかるよね。。。。