##### 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