39.1. "al" --- SGIのオーディオ機能
**********************************

バージョン 2.6 で非推奨: "al" モジュールは Python 3 で削除されました。

このモジュールを使うと、SGI Indy と Indigo ワークステーションのオーデ
ィオ装置にアクセスできます。詳しくは IRIX の man ページのセクション 3A
を参照してください。ここに書かれた関数が何をするかを理解するには、man
ページを読む必要があります！ IRIX のリリース 4.0.5 より前のものでは使
えない関数もあります。お使いのプラットフォームで特定の関数が使えるかど
うか、マニュアルで確認してください。

このモジュールで定義された関数とメソッドは全て、名前に "AL" の接頭辞を
付けた C の関数と同義です。

C のヘッダーファイル "<audio.h>" のシンボル定数は標準モジュール "AL"
に定義されています。下記を参照してください。

警告: オーディオライブラリの現在のバージョンは、不正な引数が渡される
  とエラ ーステイタスが返るのではなく、coreを吐き出すことがあります。
  残念なが ら、この現象が確実に起こる環境は述べられていないし、確認す
  ることは難 しいので、 Python インターフェースでこの種の問題に対して
  防御すること はできません。（一つの例は過大なキューサイズを特定する
  ことです --- 上限については記載されていません。）

このモジュールには、以下の関数が定義されています:

al.openport(name, direction[, config])

   引数 *name* と *direction* は文字列です。省略可能な引数 *config* は
   、 "newconfig()" で返されるコンフィギュレーションオブジェクトです。
   返り値は *audio port object* です；オーディオポートオブジェクトのメ
   ソッドは下に書かれています。

al.newconfig()

   返り値は新しい *audio configuration object* です；オーディオコンフ
   ィギュレーションオブジェクトのメソッドは下に書かれています。

al.queryparams(device)

   引数 *device* は整数です。返り値は "ALqueryparams()" で返されるデー
   タを含む整数のリストです。

al.getparams(device, list)

   引数 *device* は整数です。引数 *list* は "queryparams()" で返される
   ようなリストです； "queryparams()" を適切に（！）修正して使うことが
   できます。

al.setparams(device, list)

   引数 *device* は整数です。引数 *list* は "queryparams()" で返される
   ようなリストです。


39.1.1. コンフィギュレーションオブジェクト
==========================================

"newconfig()" で返されるコンフィギュレーションオブジェクトには以下のメ
ソッドがあります：

audio configuration.getqueuesize()

   キューサイズを返します。

audio configuration.setqueuesize(size)

   キューサイズを設定します。

audio configuration.getwidth()

   サンプルサイズを返します。

audio configuration.setwidth(width)

   サンプルサイズを設定します。

audio configuration.getchannels()

   チャンネル数を返します。

audio configuration.setchannels(nchannels)

   チャンネル数を設定します。

audio configuration.getsampfmt()

   サンプルのフォーマットを返します。

audio configuration.setsampfmt(sampfmt)

   サンプルのフォーマットを設定します。

audio configuration.getfloatmax()

   浮動小数点数でサンプルデータの最大値を返します。

audio configuration.setfloatmax(floatmax)

   浮動小数点数でサンプルデータの最大値を設定します。


39.1.2. ポートオブジェクト
==========================

"openport()" で返されるポートオブジェクトには以下のメソッドがあります
：

audio port.closeport()

   ポートを閉じます。

audio port.getfd()

   ファイルデスクリプタを整数で返します。

audio port.getfilled()

   バッファに存在するサンプルの数を返します。

audio port.getfillable()

   バッファの空きに入れることのできるサンプルの数を返します。

audio port.readsamps(nsamples)

   必要ならブロックして、キューから指定のサンプル数を読み込みます。生
   データを文字列として（例えば、サンプルサイズが 2 バイトならサンプル
   当たり 2 バイトが big-endian (high byte、low byte) で）返します。

audio port.writesamps(samples)

   必要ならブロックして、キューにサンプルを書き込みます。サンプルは
   "readsamps()" で返される値のようにエンコードされていなければなりま
   せん。

audio port.getfillpoint()

   'fill point' を返します。

audio port.setfillpoint(fillpoint)

   'fill point' を設定します。

audio port.getconfig()

   現在のポートのコンフィギュレーションを含んだコンフィギュレーション
   オブジェクトを返します。

audio port.setconfig(config)

   コンフィギュレーションを引数に取り、そのコンフィギュレーションに設
   定します。

audio port.getstatus(list)

   最後のエラーについてのステイタスの情報を返します。


39.2. "AL" --- "al" モジュールで使われる定数
********************************************

バージョン 2.6 で非推奨: "AL" モジュールは Python 3 で削除されました。

このモジュールには、組み込みモジュール "al" (上記参照) を使用するのに
必要とされるシンボリック定数が定義されています。定数の名前は C の
include ファイル "<audioio.h>" で接頭辞 "AL_" を除いたものと同じです。
定義されている名前の完全なリストについてはモジュールのソースを参照して
ください。お勧めの使い方は以下の通りです：

   import al
   from AL import *
