日々

 昼前起床。親戚のおばちゃん夫妻が帰るってことで見送り。その後、DEENも帰宅。昼食はぜんざい。3時にお茶。
 先日からVHSダビングしたタイトルが溜まりまくってたので分割編集作業。
 晩御飯はハムステーキ。鼻炎がひどいので薬を飲む。
 VHSダビングしたタイトルの分割編集作業中に眠くなってきてソファで寝そうになったので、布団に転がり込んで寝る。夜遅くに母親が声かけてきたけど眠くてそのまま就寝。

親戚来訪

 朝起床。朝食はぜんざい。
 昼前に親戚のおばちゃん夫妻が来訪。
 昼食はたこ焼き。
 親戚のおばちゃんからノートPCがおかしいってことで見てみると、いつものごとくWindows Updateが溜まっていたので実行開始。当然のように死ぬほど時間かかるので放置。あとは解約したauAndroidタブレット Qua tab PXを子供に渡せるようにしたいってことで、初期化。
 親戚の姉ちゃんと親戚の兄ちゃんの奥さんと娘さん達が来訪。
 3時にお茶。晩御飯はすき焼き。
 親戚の姉ちゃんからスマートフォンのデータをバックアップしたいってんで、ダイソーへ必要なものを買い物に出るも今日は営業してないっぽいので、向かいのセリアへ。USB-CホストアダプタとUSBカードリーダを査収。手持ちのmicroSD 8GBをセットで引き渡して、バックアップを行う。
 親戚のおばちゃんからQua tab PX(au LGT31)の手帳ケースと保護フィルムを買ってほしいと頼まれたので注文することに。

 親戚の姉ちゃんからAQUOS R(SoftBank 605SH)のTPUケースを買って欲しいと頼まれたので注文することに。 家族と親戚一同でUNOやったりとか。深夜0時前に親戚の姉ちゃんと親戚の兄ちゃんの奥さんと娘さん達は帰宅。

一人未読

  1. 13:42~14:12 斉木楠雄のΨ難 Ψ始動編 #1「三人の男と幼女と警官とあと犬/ゲームの世界にΨンイン/掲Ψ危機!?終焉社のお仕事/Ψ子自慢!ママ友会議/自慢の粘土Ψ工を披露しよう」新番組(BSアニマックス 2020/12/30(水)21:00)
  2. 14:12~14:42 斉木楠雄のΨ難 Ψ始動編 #2「超(無駄)能力のΨ難/Ψ強デッキを組み上げろ!/Ψは投げられた…!激闘カードバトル/Ψ虎芽斗吏の勝利の方程式/勇者のΨ難」(BSアニマックス 2020/12/30(水)21:00)
  3. 14:42~15:54 斉木楠雄のΨ難 Ψ始動編 #3「異Ψを放つ新任教師現る/身体測定のΨ難/両親不Ψの友達の家に遊びに行こう/目指せ!ジャンプ掲Ψ/皆様も是非一度足を運んでみてくだΨ」(BSアニマックス 2020/12/30(水)21:00)
  4. 15:54~16:24 斉木楠雄のΨ難 Ψ始動編 #4「恐怖!Ψ厄の転校生現る(前編)/恐怖!Ψ厄の転校生現る(中編)/恐怖!Ψ厄の転校生現る(後編)/Ψインを読め!相卜命の予知/Ψ厄とΨ適の戦い!!」(BSアニマックス 2020/12/30(水)21:00)
  5. 16:24~16:54 斉木楠雄のΨ難 Ψ始動編 #5「イジメ救Ψ!井口先生/突如開Ψ!リアルリアル型脱出ゲーム/休日はウマと合う仲間と/鳥束VS佐藤交Ψ権争奪戦!!(前編)/鳥束VS佐藤交Ψ権争奪戦!!(後編)」(BSアニマックス 2020/12/30(水)21:00)
  6. 16:54~17:24 斉木楠雄のΨ難 Ψ始動編 #6「斉木楠雄のΨ起動(1)/斉木楠雄のΨ起動(2)/斉木楠雄のΨ起動(3)/斉木楠雄のΨ起動(4)/斉木楠雄のΨ起動(5)」最終回(BSアニマックス 2020/12/30(水)21:00)

元旦

 朝9時前に起床。朝食はぜんざい。
 数日前からPCにネットdeダビング仕掛けてた分はやっとこさ全部終わってた。
 家族を乗せて出発。魚住の住吉神社へ初詣。お参りしてから昼食にジョイフルへ。お年玉クーポンで当たったサイコロステーキハーフトッピングと共にプレミアムハンバーグを洋食セットドリンクバー付きで。あと両親が持ってたクーポンでフライドポテトも。
 食べ終わってから帰宅。ネットdeダビング終わった分を削除して、次のVHSテープのダビングを開始。
 DEEN斉木楠雄のΨ難 Ψ始動編やってるのを知らなかったとのことで、録画してた分を視聴開始。途中、3時にお茶。
 晩御飯はカツ丼。
 食べ終わってからタイマーの修正とか。
 その後、家族でトランプ。
 深夜になってから今日ガンダムNTやってたことを知る(汗)地上波はまだ間に合うってことでタイマー入れたりとか。

大晦日

 昼起床。昼食は焼き飯とポタージュスープ。
 自宅のメイン録画PCからHDD容量不足警告メールが来てたので暫定的に不要な番組を削除、あとは映画などの容量が多いものからメインNASに転送。ついでに昨晩ネットdeダビングで転送されたタイトルのフォルダ整理とか。
 3時にお茶。
 radikoの録音スクリプトで番組表を取得するために日付計算が必要で、そこだけVBで書いて呼び出すのが気に入らないので、過去に作った日付計算の処理を使おうかと思ったけど、自作の式で長々と書かれているので綺麗にしたいと思い、フェアフィールドの公式を使ってみる。

IF %M% LSS 3 (
    SET /A Y=%Y%-1
    SET /A M=%M%+12
)
SET /A S=365*%Y%+%Y%/4-%Y%/100+%Y%/400+306*(%M%+1)/10+%D%-428

 ただ、色々調べてみるも逆の公式が見つからない。てな訳で、日付と日数の相互変換について書いてあるものを探したところ、地デジなどの規格であるARIB STD-B10の付録Cに記載されているものを見つけた。
 修正ユリウス日なので西暦1年1月1日からの日数ではないのと、式の都合上から1900年3月1日より前には対応できないけれど、特に困ることはないので早速実装してみた。678576を足すと西暦1年1月1日からの日数になる。

IF %M% LSS 3 (
    SET /A Y=%Y%-1
    SET /A M=%M%+12
)
SET /A J=14956+%D%+(%Y%-1900)*36525/100+(%M%+1)*306001/10000

 修正ユリウス日から日付を求めるものも実装してみた。

SET /A Y=(%J%*100-1507820)/36525+1900
SET /A M=(%J%*10-149561-(%Y%-1900)*36525/100*10)*1000/306001-1
SET /A D=%J%-14956-(%Y%-1900)*36525/100-(%M%+1)*306001/10000
IF %M% GTR 12 (
    SET /A Y=%Y%+1
    SET /A M=%M%-12
)

 夕方にDEENが来訪。少し前に買ったというASUSのゲーミングノートPCを持ってきたので、ダイニングにLANケーブルを這わせてくれってことでテレビラック上のHUBの空いてた1ポートから何とか配線。
 冬新番組のタイマー入れ作業の続きを行う。何とかEDCB系のんは全部終わった。
 晩御飯は豆腐と肉の鍋。
 ひたすら冬新番組のタイマー入れ作業の続き。今度はEPGStation系の方。こちらも何とか全部終わった。
 Coke ONのチケット2枚の期限が今日までだったのでお出かけ。近場の自販機でコーラとファンタグレープを査収して帰宅。
 夜9時半くらいに年越しそばを食べる。
 久々にPSO2にログインするかとGPD WIN起動したら当然のようにWindows Updateの嵐で死ぬほど待つハメになり、その後もPSO2のアップデートダウンロードで死ぬほど待つハメになり、結局年明けたところでやっとこさログインしたらサーバトラブルで入れず仕舞い(汗)

日々

 昼起床。昼食はミートスパゲティ。
 昨晩PCにネットdeダビング仕掛けた分で終わってるものだけとりあえずフォルダ整理したり。
 あと東京録画PCからの転送分で終わった番組をフォルダ整理したり。
 3時にお茶。
 そろそろ本格的に冬新番組のタイマーを入れるべくいーちゃんメールを元にリストを作る。
 とりあえずリストを元に東京録画PCにすべてのキーワードを入れ終わったところで気力無くなったので一旦終了。
 晩御飯はカレーライス。
 radikoの録音スクリプトをちょっと手直しした。聴取に使うURLをダウンロードして#EXTM3Uで始まれば含まれているURLを聴取に使うようにしただけ。使い方は放送局IDを録音秒数を指定して実行するだけの単純な仕様。

#!/bin/sh
wget -q -O auth1 --server-response --trust-server-names --header="X-Radiko-App: pc_html5" --header="X-Radiko-App-Version: 0.0.1" --header="X-Radiko-User: dummy_user" --header="X-Radiko-Device: pc" https://radiko.jp/v2/api/auth1 2> auth1.err
authtoken=`sed -n -e 's/.*X-RADIKO-AUTHTOKEN: //ip' auth1.err`
keylength=`sed -n -e 's/.*X-Radiko-KeyLength: //ip' auth1.err`
keyoffset=`sed -n -e 's/.*X-Radiko-KeyOffset: //ip' auth1.err`
partialkey=`echo -n 'bcd151073c03b352e1ef2fd66c32209da9ca0afa' | sed -n -e "s/.\{$keyoffset\}\(.\{$keylength\}\).*/\1/p" | base64`
wget -q -O auth2 --server-response --trust-server-names --header="X-Radiko-AuthToken: $authtoken" --header="X-Radiko-PartialKey: $partialkey" --header="X-Radiko-User: dummy_user" --header="X-Radiko-Device: pc" https://radiko.jp/v2/api/auth2 2> auth2.err
wget -q -O stream.xml https://radiko.jp/v3/station/stream/pc_html5/$1.xml
for playlisturl in `xmllint --xpath "/urls/url[@areafree='0'][@timefree='0']/playlist_create_url" stream.xml | sed -n -e 's/<playlist_create_url>\([^<]*\)<\/playlist_create_url>/\1\n/gp'`; do
	wget -q -O playlist.m3u8 --header="X-Radiko-AuthToken: $authtoken" "$playlisturl"
	if [ "`sed -n -e '1p' playlist.m3u8`" = "#EXTM3U" ]; then streamurl=`sed -n -e '/^[^#]/p' playlist.m3u8 | sed -n -e '1p'`; fi
done
ffmpeg -loglevel error -fflags +discardcorrupt -headers "X-Radiko-Authtoken: $authtoken" -i "$streamurl" -acodec copy -vn -bsf:a aac_adtstoasc -y -t $2 "$1.m4a"