iTunes7発表

ymlab2006-09-13

iTunes 7が発表された。
これは、多くの機能がくっついてくる。機能は以下の通り。

  1. Cover Flow
  2. 自動のアルバムアート
  3. 新しいユーザインターフェイス
  4. iPodゲーム
  5. iPodサマリー
  6. ダウンロードマネージャ
  7. ビデオ解像度も向上
  8. iTunes video control bar.
  9. オンスクリーンビデオコントロール
  10. 複数のライブラリに対応
  11. ライブラリをバックアップ
  12. ギャップレスプレイバック
  13. レーティングとペアレンタルコントロール

個人的には、ギャップレスプレイバックと、ライブラリをバックアップ機能が超嬉しい。
後、特に嬉しい機能が、iPodから、PCへのコピーが可能になったらしいことだ。

というわけで、早速ダウンロードしてみた。
感想。
第一印象は最悪。起動してから、CPU100%のような挙動をする(タスクマネージャでは100%ではない)
速攻アンインストールしてやろうかと思ったけれども、どうやらこれは
すべての曲ファイルをギャップレスプレイバックの適用対象かを、調査しているみたい。
その調査が終わったら、スムーズになった。
でも、最初はちょっと面食らうかも。

記念に、
ルパン三世・ジ・オリジナル -ニュー・ミックス2005- (Digital Edition)
の、ルパン3世'78 '79 '80 ルパン3世のテーマ の4曲を購入。800円なり。
実は、すべて持っていた曲だが、デジタル音源で復元したらしい。
聞いてみると、音質が格段に向上している(曲の変化はなし。)。
買って損なし。

感想
UIが相当変化している。AppleのWebサイトもぐっとCoolになった。青基調だったのが、モノトーン基調に変わっている。
また、Web2.0っぽかったデザインが、Widget調になっている。
http://www.apple.com/jp/itunes/overview/
↑のStart Shopping当たりなど。
また、iTunesについて。というところにマウスをあわせると、普通ハイライト表示されると思いきや、なんとトーンダウンしているのである。でも、右上のiPod Shuffleとかは、ハイライトされる。
あまり統一感がないなぁ。

で、そういや、ITunesの色をまねて作った場所をどうしようか・・。
http://ymlabo.ddo.jp/~ymlab/blog/index.php?type=99

あと、カレンダーのところでShitな自体を発見する。
実は、以前作った健康観察管理システムでは、祝日を自動的に判定して、赤色表示する機能を実装している。
でも、9月18日が敬老の日だよね。なぜか、9月11日が祝日表示されている。
敬老の日は2002年までは、9月15日。2003年からは、9月の第三月曜日のはず。
最初理由がわからない。A木先生に相談。そしたら分かった。

もしかしたら、常識なのかも知れないが、
第N X曜日というのは、 何週目というわけではなくて、N回目のX曜日という意味だったのである。
なんてこった! ガッデーームッ!と2分くらい後悔してみたが、
一向に直りそうもない。当たり前だけど。

一から作りなおすのは、とても面倒。何かいい方法はないの?
足りない頭をフル回転させて、無理矢理パッチを当ててしまうことにした。
(こういうその場しのぎのことをするから、デスマーチ(死の行進)が始まるのだけど。)

関数名 calibrateWeeks($week $days) {
$iRet = $week;
$remover = ($week-1) * 7;//現在日から、7*(week-1)引いたときに、負数になる場合は、n-1週目にするべきである.
if ( $days-$remover <= 0 ) {$iRet--;}
return $iRet;
}
どういう論理で考えたかというと、例を示そう。
9月。

1週目 - - - - - 1 2
2週目 3 4 5 6 7 8 9
3週目 10 11 12 13 14 15 16
4週目 17 18 19 20 21 22 23
5週目 24 25 26 27 28 29 30
6週目 31 - - - - - -

で、何日が、何週目という情報は取得できている。例えば、11日は、3週目という情報は取得できている。
さて、このカレンダーを行列として考えてみよう。
そのとき、m行n列にある数A{mn}は、(l-1)週目×7をSとするとき、
Q:=A{mn}-S >= 1の時は第一週目に日にちが存在し、 Q:=A{mn}-S < 1の時、第一週目に日にちが存在しないことはないか。

m=3.n=2の時は11。この時、l=3であるので、 S=(l-1)*7 = 14
よって、Q=11-14=-3<1 よって、第一週目に日にちが存在しないため、
A{mn}日は、第(l-1)回目の曜日ということができるのである。

ものすごくこじつけだけど、うまく動いているから、OKなのだ。
っていうか、9月15日で固定で楽だったのに、いらんことするな
とか思うわけです。後、振り替え休日とか勘弁して。春分秋分とかもね。

知的好奇心旺盛の人のために、今の祝日はどうやって定義されているか下記に教えよう。

元日 1/1
建国記念日 2/11
みどりの日 4/29
憲法記念日 5/3
子どもの日 5/5
海の日 7/20
文化の日 11/3
勤労感謝の日 11/23
天皇誕生日 12/23
成人の日 1月第2月曜日
体育の日 10月第2月曜日
国民の休日 5/4
敬老の日 2002年まで9/15 2003年から9月第3月曜日

春分

もしも西暦1980以降の場合
a=((20.8431+0.242194×(現在の西暦-1980))を整数で切り捨てた値)-(((現在の西暦-1980)/4)を整数で切り捨てた値)
1979年以前の場合
a=((20.8357+0.242194×(現在の西暦-1983))を整数で切り捨てた値)-(((現在の西暦-1983)/4)を整数で切り捨てた値)

秋分
春分とちょっと数値が違う。