Sound Library - PCM Streamモジュールコントロール関数

sdPstmOpen

PCM Streamポートのアクセス権の取得

書式

SDE_ERR sdPstmOpen( handle, allocate_slot_num, ... )
SDPSTM *handle
const Sint8 allocate_slot_num
Sint8 use_ring_buf_num

引数

handle   ポート番号を格納する変数のポインタ
allocate_slot_num   確保するスロット数
use_ring_buf_num   使用するリングバッファ番号

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_HANDLE_NULL   ハンドルがNULL
SDE_ERR_PRM_OVER_RANGE   引数が正常な値の範囲外
SDE_ERR_HANDLE_NO_ENOUGH   ハンドルを取得できない

解説

PCM Streamポートのアクセス権を取得します。

確保するスロット数を指定する引数 allocate_slot_numの範囲は 1〜(マクロ定数 SDD_PSTM_PORT_SLOT_NUM)です。 use_ring_buf_num移行には使用するリングバッファ番号を指定します。 可変長引数になっているので必要分のリングバッファ番号を指定します。

戻り値がSDE_ERR_HANDLE_NO_ENOUGHの場合は音源の発音数が足りなかったか、取得できるハンドルをすべて使いきったかのどちらかを意味します。


用例

SDPSTM pstm_handle;
/*  case 1  */
sdPstmOpen( pstm_handle, 1, 0);  /*  Allocate one slot and use PCM stream ring buffer 0 */
/*  case 2  */
sdPstmOpen( pstm_handle, 2, 0, 1);  /*  Allocate two slots and use PCM stream ring buffers 0 and 1 */

備考

1ポート内で複数スロット確保すると同時に確保できるポート数が減少します。 使用するPCM Stream リングバッファ番号はデータ作成時に決定しておいてください。 アクセス権の確保・破棄を頻繁に行うとCPU負荷が大きくなります。 できるだけハンドルを使いまわすようにしてください。 例えば、ステージの初期化時に確保して、終了時に破棄すればCPU負荷は小さく押さえられます。 標準ではPCM Stream音源は全ポートで8 Slot確保されています.これを変更するにはsdSysSetSlotNum()関数を使用します。

参照

sdPstmClose()
 1つのPCM Streamポートのアクセス権の放棄
sdPstmCloseAll()
 全てのPCM Streamポートのアクセス権の放棄
sdSysSetSlotNum()
 各音源ごとの使用可能な発音数の設定

sdPstmOpen
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000