HS-DGL! + ハックキット 2.0:延長対応ハック de ダブルまる録!!


ダブルチューナの認識ができたので、 延長対応ハック de まる録!!をダブルチューナ対応にする。
勝手に命名「延長対応ハック de ダブルまる録!!」
(なんか「スーパーグランドハイパーなんたら」みたいな名前だな:汗)

構想

「延長対応ハック de まる録!!」では録画予約に失敗しても リトライしていなかった。
「延長対応ハック de ダブルまる録!!」では録画予約に失敗したら 次のチューナでリトライするようにすれば良い。

つまり、

for すべてのチューナ
do
	録画予約
	if [ 予約成功 ]
	then
		break
	fi
done
こんなかんじ。

元バグ

「延長対応ハック de まる録!!」スクリプトを見ていたら、 結構やっかいな事に気が付いた。
「延長対応ハック de まる録!!」スクリプトでは、 1つの番組を何度も予約する場合があるのである。

例えば、、キーワードとして「美女」「野獣」を登録していて、 「美女と野獣」という番組があったとすると、

  • 「美女」にヒットしたので「美女と野獣」を予約→成功

  • 「野獣」にヒットしたので「美女と野獣」を予約→予約が重なって失敗

  • と。まぁチューナが一つならこれで問題ない

    ところが、ダブルチューナだと

  • 「美女」にヒットしたのでチューナ0で予約→成功

  • 「野獣」にヒットしたのでチューナ0で予約→予約が重なって失敗

  • チューナ0で予約に失敗したのでチューナ1で予約→成功

  • となって、同じ番組が2つ予約されてしまう。

    スクリプト修正

    ダブ録化

    DbAcRap GetDeviceStatus の結果 Status=NODEVICE となっていない チューナをリストにしておき、
    予約に成功するまですべてのチューナで予約するようにした。

    重複予約防止

    予約に成功した番組の開始時間/終了時間/チャンネルを テンポラリファイルに書いておき、
    録画を予約する前に予約しようとしている番組の 開始時間/終了時間/チャンネルが テンポラリファイルにないかを確認する
    ように修正した。

    スクリプト実行

    こんな感じ
    [root@gawa root]# sh /usr/local/sbin/hackdemarurokuV3.sh
    	:
    	:
    2006/01/08/06/15 - 2006/01/08/06/30 4 0 美の京都遺産 : [ERROR]103 Add Crosstime
    2006/01/08/06/15 - 2006/01/08/06/30 4 1 美の京都遺産 : [FINISH]Add
    	:
    2006/01/08/06/15 - 2006/01/08/06/30 4 美の京都遺産 : 重複
    
    0番のチューナで予約しようとしたが予約が重なっていて失敗
    1番のチューナで予約に成功。
    同じ番組を違うキーワードで予約しようとしたが、重複を検知
    といったところ。

    ボツ

    スクリプトをもう一回実行して気が付いた。
    予約に成功した番組の開始時間/終了時間/チャンネルを書いている テンポラリファイルは、実行の度に消去するので、 スクリプトを何度も実行すると結局重複して予約してしまう。

    やっぱり予約情報は PCast 側で一元管理しないとだめだな。

    ボツ



    PC-MV52DX/U2
    【楽天市場】で最安値を探す Amazon ツクモネットショップ livedoor デパートで探す



    HS-DGL! + ハックキット 2.0:ダブルチューナ
    ハックの記録
    LinkStation/玄箱 をハックしよう

    HS-DGL! + ハックキット 2.0:Device=1 Status=ERROR

    Copyright (C) 2006 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp 山下康成@京都府向日市