ハック de 録 !!の修正(3)時刻計算

HS-DHGL KURO-RS

ようやくハック de 録 !!の修正までたどり着いた。
続いて時刻計算(藁)

チューナ側の起動処理やら、チャンネル切り換えがあるので、 録画開始1分前にチューナの電源を入れ、
録画終了時刻にチューナーの電源を切りたい。

あたた。。。。。

ハック de 録!! では、DbAcRap に時間の計算をまかせ、 平気で開始時刻=25:30 とか渡している(汗)。
ところが at は

yasunari@sil:/usr/local/sbin$ echo ls | at 25:00
Problem in hours specification. Last token seen: 25:00
Garbled time
yasunari@sil:/usr/local/sbin$
と、ちゃんと24時までの時刻を渡してやる必要がある。

・時刻の正規化(24時を過ぎたら次の日にする)
・「一分前」の計算
が必要であるが、、、、
時間の計算って面倒(藁)
大の月/小の月があったり、うるう年があったり、、、、

どーしようか悩んでいたとき、 date コマンドの目次(笑)に日付計算機能があることを思い出した。

例えば、うるう年の 2008/2/28 25:23 でも以下のように date コマンドで 正規化できる。

sil:/usr/local/sbin# date --date="2008/2/28 15:00 -`expr 25 - 24`:23"
Fri Feb 29 01:23:00 JST 2008
sil:/usr/local/sbin#
例えば、うるう年の 2008/3/1 00:00 の一分前は、 以下のように date コマンドで求められる。
sil:/usr/local/sbin# date --date="2008/3/1 00:00 +9:01"
Fri Feb 29 23:59:00 JST 2008
sil:/usr/local/sbin#
いろいろマジックな数字が出てくるが、
24は、一日の24時間
9は、JST のタイムゾーンの9時間
15は、一日の24時間 ひく JST のタイムゾーンの9時間
である。

開始時刻と終了時刻の正規化

        # 開始時刻の正規化
        YYYY=`echo "$STARTTIME" | cut -d'/' -f1`
        MM=`echo "$STARTTIME" | cut -d'/' -f2`
        DD=`echo "$STARTTIME" | cut -d'/' -f3`
        HH=`echo "$STARTTIME" | cut -d'/' -f4`
        MI=`echo "$STARTTIME" | cut -d'/' -f5`
        if [ $HH -ge 24 ]
        then
                NEWH=`expr $HH - 24`
                STARTTIME=`date --date="$YYYY/$MM/$DD 15:00 -$NEWH:$MI" +%Y/%m/%d/%H/%M`
        fi

        # 終了時刻の正規化
        YYYY=`echo "$ENDTIME" | cut -d'/' -f1`
        MM=`echo "$ENDTIME" | cut -d'/' -f2`
        DD=`echo "$ENDTIME" | cut -d'/' -f3`
        HH=`echo "$ENDTIME" | cut -d'/' -f4`
        MI=`echo "$ENDTIME" | cut -d'/' -f5`
        if [ $HH -ge 24 ]
        then
                NEWH=`expr $HH - 24`
                ENDTIME=`date --date="$YYYY/$MM/$DD 15:00 -$NEWH:$MI" +%Y/%m/%d/%H/%M`
        fi

一分前に録画開始

                        # 開始時制御
                        YYYY=`echo "$STARTTIME" | cut -d'/' -f1`
                        MM=`echo "$STARTTIME" | cut -d'/' -f2`
                        DD=`echo "$STARTTIME" | cut -d'/' -f3`
                        HH=`echo "$STARTTIME" | cut -d'/' -f4`
                        MI=`echo "$STARTTIME" | cut -d'/' -f5`
                        STARTAT=`date --date="$YYYY/$MM/$DD $HH:$MI +9:01" +"%H:%M %m/%d/%y"`

                        echo "/usr/local/bin/infrared_remocon $BUTTON_START | at $STARTAT"
                        echo "/usr/local/bin/infrared_remocon $BUTTON_START" | at $STARTAT

とりあえず、ハック de 録の外部チューナ対応完了。
まあ、どっかバグってるだろう。




HS-DH320GL
楽天市場
Yahoo!ショッピング
somap.com
TSUKUMO ネットショップ
ValuMore!
ムラウチドットコム
アット・ニフティストア icon
Joshin web icon
KURO-RS
楽天市場
Amazon
Yahoo!ショッピング
TSUKUMO
クレバリー


ハック de 録 !!の修正(2)ビデオもしくはS端子入力の録画
ハックの記録
LinkStation/玄箱 をハックしよう

ftpd のインストール

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