第9章 付録:OpenAL 1.0の互換エクステンション

この章はOpenAL 1.0のアプリケーションから、多くのOpenAL 1.1拡張機能にアクセスするかを示します。OpenAL 1.1アプリケーションからは、これらのエクステンションに問い合わせる必要性はありません。ALC_MAJOR_VERSIONプロパティおよびALC_MINOR_VERSIONプロパティにより実装のバージョンを検証出来ます。

第1節 ALC_EXT_CAPTURE

OpenAL 1.1の実装はALC_EXT_CAPTUREエクステンションを常にサポートするでしょう。これにより、OpenAL 1.0の仕様を元にしたアプリケーションで、6–4–2に示されたキャプチャ機能を使用する事が出来ます。

キャプチャに関するプロシージャおよび関数
ALCdevice* alcCaptureOpenDevice(const ALCchar *deviceName, ALCuint freq, ALCenum fmt, ALCsizei bufsize);
ALCboolean alcCaptureCloseDevice(ALCdevice *device);
void alcCaptureStart(ALCdevice *device);
void alcCaptureStop(ALCdevice *device);
void alcCaptureSamples(ALCdevice *device, ALCvoid *buf, ALCsizei samps);
キャプチャに関するトークン

第2節 AL_EXT_OFFSET

OpenAL 1.1の実装はAL_EXT_OFFSETエクステンションを常にサポートするでしょう。これにより、OpenAL 1.0の仕様を元にしたアプリケーションで、4–3–2に示されたオフセットアクセス機能を使用する事が出来ます。

オフセットに関するトークン

第3節 AL_EXT_LINEAR_DISTANCE

OpenAL 1.1の実装はAL_EXT_LINEAR_DISTANCEエクステンションを常にサポートするでしょう。これにより、OpenAL 1.0の仕様を元にしたアプリケーションで、3–4–3および3–4–4に示された線形距離モデル機能を使用する事が出来ます。

線形距離モデルに関するトークン

第4節 AL_EXT_EXPONENT_DISTANCE

OpenAL 1.1の実装はAL_EXT_EXPONENT_DISTANCEエクステンションを常にサポートするでしょう。これにより、OpenAL 1.0の仕様を元にしたアプリケーションで、3–4–5および3–4–6に示された指数距離モデル機能を使用する事が出来ます。

指数距離モデルに関するトークン

第5節 ALC_ENUMERATION_EXT

OpenAL 1.1の実装はALC_ENUMERATION_EXTエクステンションを常にサポートするでしょう。このエクステンションはalcGetString関数を通じた使用可能OpenALデバイスの列挙を提供します。

ALC_DEVICE_SPECIFIERに関する、NULLデバイスを与えたalcGetString関数問い合わせはデバイスの一覧を返すでしょう。それぞれのデバイス名は単一NULL文字で区切られ、リストは2つのNULL文字で閉じられるでしょう。