34.3.2 パーザオブジェクト

パーザオブジェクト(createparser()で返されます)には以下のメ ソッドがあります:

addcallback( type, func, arg)
パーザにコールバックを加えます。 デジタルオーディオストリームの8つの異なるデータタイプのためのコールバッ クをパーザは持っています。 これらのタイプのための定数はcdモジュールのレベルで定義されてい ます(上記参照)。 コールバックは以下のように呼び出されます: func(arg, type, data)、ここでargはユーザが与え た引数、typeはコールバックの特定のタイプ、dataはこの typeのコールバックに渡されるデータです。 データのタイプは以下のようにコールバックのタイプによって決まります:

Type Value
audio al.writesamps()へそのまま渡すことのできる文字列。
pnum プログラム(トラック)ナンバーを示す整数。
index インデックスナンバーを示す整数。
ptime プログラムの時間を示す分、秒、フレームからなるタプル。
atime 絶対的な時刻を示す分、秒、フレームからなるタプル。
catalog CDのカタログナンバーを示す13文字の文字列。
ident 録音のISRC識別番号を示す12文字の文字列。 文字列は2文字の国別コード、3文字の所有者コード、2文字の年号、5文字のシリ アルナンバーからなります。
control CDのサブコードデータのコントロールビットを示す整数。

deleteparser( )
パーザを消去して、使用していたメモリを解放します。 この呼び出しのあと、オブジェクトは使用できません。 オブジェクトへの最後の参照が削除されると、自動的にこのメソッドが呼び出さ れます。

parseframe( frame)
readda()などから返されたデジタルオーディオCDのデータの1つあるい はそれ以上のフレームをパースします。 データ内にどういうサブコードがあるかを決定します。 その前のフレームからサブコードが変化していたら、parseframe() は対応するタイプのコールバックを起動して、フレーム内のサブコードデータを コールバックに渡します。 Cの関数とは違って、1つ以上のデジタルオーディオデータのフレームをこの メソッドに渡すことができます。

removecallback( type)
指定したtypeのコールバックを削除します。

resetparser( )
サブコードを追跡しているパーザのフィールドをリセットして、初期状態にしま す。 ディスクを交換したあと、resetparser()を呼び出さなければなりませ ん。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。