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

sdPstmSetBasePrm

PCM Streamポートのベースボリュームの設定

書式

SDE_ERR sdPstmSetBasePrm( handle, target_slot, base_vol, base_pan, fx_in_ch, base_fx_lev, base_drct_lev, base_filter_lev, base_q_lev )
SDPSTM handle
const Sint8 target_slot
const Sint8 base_vol
const Sint8 base_pan
const Sint8 fx_in_ch
const Sint8 base_fx_lev
const Sint8 base_drct_lev
const Sint16 base_filter_lev
const Sint8 base_filter_q

引数

handle   PCM streamポートのハンドル
target_slot   スロット番号
base_vol   ベースボリューム
base_pan   ベースパンポット
fx_in_ch   FXインプットチャンネル番号
base_fx_lev   ベースFXインプットレベル
base_drct_lev   ベースダイレクトレベル
base_filter_lev   ベースフィルタレベル
base_q_lev   ベースQレベル

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_HANDLE_NULL   ハンドルがNULL

解説

PCM Streamポートのベースパラメータの設定を行います。

引数 target_slotは設定するスロット番号を指定します。 この引数にSDD_PSTM_PORT_SLOT_ALLを指定すると、対象ポートの全てのスロットに対して設定を行います。

引数base_volはベースボリューム値を設定します。値の範囲は0000H(最少)〜007FH(最大)です。 この引数の値とsdPstmSetVol()関数で指定するの引数volの値を演算し、最終的なボリュームが決定します。

引数base_panはベースパンポット値を設定します。値の範囲は0000H(左端)〜0040H(中央)007FH(右端)です。 この引数の値とsdPstmSetPan()関数で指定するの引数panの値を演算し、最終的なパンポットが決定します。

引数fx_in_chはFX Input Channel番号の設定をします。FX Input Channel番号の指定範囲は0000H〜000FHです。

引数base_fx_levはFXに送るベースFXレベルを設定します。 この引数の値とsdPstmSetFxLev()関数の引数fx_levの値を演算し、最終FXレベルが決定します。

引数base_drct_levはベースダイレクトレベルを設定します。 値の範囲は0000H(最少)〜007FH(最大)です。 この引数の値とsdPstmSetDrctLev()関数の引数drct_levの値を演算し、最終的なダイレクトレベルが決定します。

引数base_filter_levはベースフィルタレベルを設定します。 値の範囲は0000H(最少)〜007FH(最大)です。 再生後の変更はできません。再生後の再設定は次の再生から有効になります。 つまり必ず再生前に設定する必要があります。 この引数にSDD_PSTM_PORT_SLOT_FILTER_THROUGHを指定した場合はフィルタリングがされなくなります。

引数base_q_levはフィルタのベースQレベルを設定します。値は0000H(最少)〜007FH(最大)です。 再生後の変更はできません。再生後の再設定は次の再生から有効になります。つまり必ず再生前に設定する必要があります。

引数base_filter_levにSDD_PSTM_PORT_SLOT_FILTER_THROUGHを指定した場合はこの引数は無効になります。 この関数のパラメータが反映されるタイミングは、sdPstmPlay()関数の実行の時点です。


用例

/* Case 1(Stereo*1) */
sdPstmOpen( &pcm_handle, 2, 0, 1);
sdPstmSetBasePrm( pcm_handle, 0, 0x7F, 0x00, 0, 0x00, 0x7F,
	SDD_PSTM_PORT_SLOT_FILTER_THROUGH, 0);
sdPstmSetBasePrm( pcm_handle, 1, 0x7F, 0x7F, 0, 0x00, 0x7F,
	SDD_PSTM_PORT_SLOT_FILTER_THROUGH, 0);
/* Case 2 (Monaural*4) */
sdPstmOpen( &pcm_handle, 4, 0, 1, 2, 3);
sdPstmSetBasePrm( pcm_handle, SDD_PSTM_PORT_SLOT_ALL,
	0x7F, 0x00, 0, 0x00, 0x7F,
	SDD_PSTM_PORT_SLOT_FILTER_THROUGH, 0);

備考

FX Input Channel番号は、どのFXに接続されているかをサウンドデータ作成時に決定しておいてください。 フィルタリングしない場合は必ず引数base_filter_levにSDD_PSTM_PORT_SLOT_FILTER_THROUGHを指定してください。

参照

sdPstmSetVol()
 PCM Streamポートのボリュームの設定
sdPstmSetPan()
 PCM Streamポートのパンポットの設定
sdPstmSetPitch()
 PCM Streamポートのピッチの設定
sdPstmSetDrctLev()
 PCM Streamポートのダイレクトレベルの設定

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