# NNS_SndPlayerSetTrackAllocatableChannel

## 構文

      #include <nnsys/snd.h>

      void NNS_SndPlayerSetTrackAllocatableChannel(
              NNSSndHandle* handle,
              u16 trackBitMask,
              u32 chBitFlag );

## 引数

`handle` | サウンドハンドルのポインタです。
`trackBitMask` | トラックビットマスクです。
`chBitFlag` | 確保可能なチャンネルのビットフラグです。

## 返り値

なし。

## 説明

シーケンストラックの確保可能なチャンネルを変更します。

サウンドハンドル`handle`に、結びつけられたシーケンスの確保可能なチャンネルを変更します。 サウンドハンドルが無効の場合は、何もしません。

`trackBitMask`で、設定するトラックを指定します。 下位ビットから順に、トラック0、トラック1、トラック2、、、を表し、ビットが立っているトラック全てに対して、 確保可能なチャンネルを変更します。 例えば、トラック2とトラック5の確保可能なチャンネルを変更したい場合は、 (1 << 2) | (1 << 5) すなわち、0x0024 とします。

`chBitFlag`で、確保できるチャンネルをビットフラグで設定します。 下位ビットから順に、チャンネル0、チャンネル1、チャンネル2、、、を表し、 ビットが立っているチャンネルからのみ確保することができます。 値が0の場合は、全くチャンネルを確保できなくなります。

なお、チャンネルは16個ありますが、 下記のように、チャンネル番号に応じてチャンネルの機能が異なっています。

表 . チャンネルの番号別機能

チャンネル番号 | 機能
--- | ---
0, 2 | PCM/ADPCMを再生できます。このチャンネルの出力をサウンドキャプチャの入力とすることもできます。
1, 3 | PCM/ADPCMを再生できます。サウンドキャプチャとタイマーを共用しているため、サウンドキャプチャを使うときは、サウンドキャプチャの出力チャンネルとしてしか使えません。
4 〜 7 | PCM/ADPCMを再生できます。シーケンス再生で波形データを再生するときには優先的に使っています。
8 〜 13 | PCM/ADPCMまたは、PSG矩形波を再生できます。
14, 15 | PCM/ADPCMまたは、ホワイトノイズを再生できます。

### 注意

この関数を呼びだすと、 `NNS_SndPlayerSetAllocatableChannel`関数で 設定した値は上書きされます。

## 参照

NNS_SndPlayerSetAllocatableChannel

## 履歴

2007/10/30 誤記修正
2005/11/07 チャンネルビットフラグが０の時の説明誤り修正
2005/01/05 初版