560Xジュークボックスの演奏環境を少し変更しようかな~とか思ってアンプの後ろをのぞいてみると、なんとCDが何枚か落ちてるんですねー(笑)。自分で買ったCDですし、以前CDチェンジャーを使っていたときは中に入っていた曲ばっかりなのですが、現在の560Xジュークボックスには入っていない曲ばっかりなのです。あれれ? どうして入ってないのだろう? ひょっとしたら過去に60GBのハードディスクを使っていたときに容量不足で入れられなくて、増設後に入れ忘れてしまったのかな?
ということで、さっそくCDキャプチャしてT20に放り込んでみました。CD一枚ならそうでもないですが、数枚となると簡単に数GBになりまして残容量が心配です・・・と思ってたら足りなくなりました(^^;)。仕方が無いからバックアップデータをgzip圧縮して対応です。ルートパーティションを圧縮すると 1,656MBから293MBに。案外小さくなるもんですな。ついでなので赤ずきんチャチャ聖マジカルレビューとかショパンのピアノ短編集とかアルゼンチンタンゴとかもいれてみました。これがランダムになるのですから、まさにごった煮です(笑)
それはそうと、簡易ランダム演奏プログラムの挙動がおかしかったのでちょっと見直してみました。はじめに曲リストを読み込んでランダムソートするのですが、この部分が
for (i=0 ; i<playlist_max ; i++) {となってました。ハハハハ(←笑ってごまかす)。こんな変なことをしているとすぐにわかりそうなものなのですが、(1)曲数が1018曲とかなり多い (2)ベスト盤・アルバム・シングルが同居しているので重複することは考えられる (3)ランダム演奏させても長時間聴いていることは少ない、という理由によりおかしいながらも今まで使えていたのです(^^;)
struct PLAYLIST p;
int j=random(playlist_max);
p=playlist[j];
playlist[j]=p; ←ここ
playlist[i]=p;
}