こんばんは、川合です。
たくさんの人がplaycd0cを試してくれたおかげで、いろいろな挙動の
違いが分かって、研究できました。その成果を盛り込んで、playcd0dを
ベータリリースします。
差違は次の通りです。
・コマンドが増えた
chkコマンドとidnoコマンドがあります。
chkコマンドはいつでも実行できるコマンドで、ステータスを現在の
状態に適合させます。音楽を再生させたままplaycd0dを終了して、再度
playcd0dを立ち上げてchkコマンドを実行すれば、状態がplayingになっ
て、普通に操作できるようになります。演奏中にchkするとどこを演奏
しているかをついでに報告します。
idnoコマンドは演奏中はerrorになります。ディスクのID番号を表示
します。ID番号が書かれていないCDもあります。そのようなCDでは、演
奏中じゃなくてもerrorです。どのCDを入れてもerrorになってしまう場
合、CDを読みに行っている様子がなければ、このコマンドをサポートし
てないドライブである可能性もあります。
・どんなドライブでもstopできるようになった
Pause Resumeコマンドを使わないでstopするようにしたので、今まで
stopが効かなかったドライブでもstopしたり、playで再開できるように
なったと思います。
・曲長がある程度正しく取得できるようになった
listコマンドで表示される演奏時間で、今までは最後の曲の演奏時間
がめちゃくちゃになっていましたが、今回は正解に近い値が表示される
はずです。どの曲も誤差は0〜+3秒の範囲になっていると思います。こ
れにより、今まで駄目だったドライブでも、playコマンドや最後の曲の
splyができるようになったと思います。
ソフトウェアでCDをイジェクトしたりするのをやろうかと思ったんで
すが、めんどくさくなったのでとりあえずパスしました。要望があれば
やります。たぶんやろうと思えばすぐにできると思います。
いまだにうまくいっていないのは、誤差なく正しい曲長の取得です。
Windowsはできているのに・・・。いったいどうやってやるんだ〜!
playcd0cまでとplaycd0dとは使っているコマンドが結構違うので、も
しかしたらplaycd0cはできるけどplaycd0dはできないというドライブも
あるかもしれません。ということで、playcd0dが動かなかったらplaycd
0cを試してみてください。
それでは。
--
川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/