34.3 cd -- SGIシステムのCD-ROMへのアクセス

IRIXプラットフォームで利用できます。

このモジュールはSilicon Graphics CD ライブラリへのインターフェースを提供 します。 Silicon Graphics システムだけで利用可能です。

ライブラリは以下のように使われます。

CD-ROMデバイスをopen()で開き、 createparser()でCDからデータをパースするためのパーザを作りま す。 open()で返されるオブジェクトはCDからデータを読み込むのに使わ れますが、CD-ROMデバイスのステータス情報や、CDの情報、たとえば目次などを 得るのにも使われます。 CDから得たデータはパーザに渡され、パーザはフレームをパースし、あらかじめ 加えられたコールバック関数を呼び出します。

オーディオCDはトラックtracksあるいはプログラムprograms(同じ 意味で、どちらかの用語が使われます)に分けられます。 トラックはさらにインデックスindicesに分けられます。 オーディオCDは、CD上の各トラックのスタート位置を示す 目次table of contentsを持っています。 インデックス0は普通、トラックの始まりの前のポーズです。 目次から得られるトラックのスタート位置は通常、インデックス1のスタート位 置です。

CD上の位置は2通りの方法で得ることができます。 それはフレームナンバーと、分、秒、フレームの3つの値からなるタプ ルの2つです。 ほとんどの関数は後者を使います。 位置はCDの開始位置とトラックの開始位置の両方に相対的になります。

モジュールcdは、以下の関数と定数を定義しています:

createparser( )
不透明なパーザオブジェクトを作って返します。 パーザオブジェクトのメソッドは下に記載されています。

msftoframe( minutes, seconds, frames)
絶対的なタイムコードである(minutes, seconds, frames)の3つ組の表現を、相当するCDのフレームナンバーに変換しま す。

open( [device[, mode]])
CD-ROMデバイスを開きます。 不透明なプレーヤーオブジェクトを返します; プレーヤーオブジェクトのメソッドは下に記載されています。 デバイスdeviceはSCSIデバイスファイルの名前で、例えば '/dev/scsi/sc0d4l0'あるいはNoneです。 もし省略したり、Noneなら、ハードウエアが検索されてCD-ROMデバイス を割り当てます。 modeは、省略しないなら'r'にすべきです。

このモジュールでは以下の変数を定義しています:

exception error
様々なエラーについて発生する例外です。

DATASIZE
オーディオデータの1フレームのサイズです。 これはaudioタイプのコールバックへ渡されるオーディオデータのサイ ズです。

BLOCKSIZE
オーディオデータが読み取られていないフレーム1つのサイズです。

以下の変数はgetstatus()で返されるステータス情報です:

READY
オーディオCDがロードされて、ドライブが操作可能であることを示します。

NODISC
ドライブにCDがロードされていないことを示します。

CDROM
ドライブにCD-ROMがロードされていることを示します。 続いてplayあるいはreadの操作をすると、I/Oエラーを返します。

ERROR
ディスクや目次を読み込もうとしているときに起こるエラー。

PLAYING
ドライブがオーディオCDをCDプレーヤーモードでオーディオ端子から再生 していることを示します。

PAUSED
ドライブがCDプレーヤーモードで、再生を一時停止していることを示します。

STILL
PAUSEDと同じですが、古いモデル(non 3301)である Toshiba CD-ROMドライブのものです。 このドライブはもうSGIから出荷されていません。

audio
pnum
index
ptime
atime
catalog
ident
control
これらは整数の定数で、パーザのいろいろなタイプのコールバックを示していま す。コールバックはCDパーザオブジェクトのaddcallback()で設定でき ます(下記参照)。



Subsections
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。