# SND_SetOutputSelector

## 構文

      #include <nitro/snd.h>

      void SND_SetOutputSelector(
              SNDOutput left,
              SNDOutput right,
              SNDChannelOut channel1,
              SNDChannelOut channel3 );

## 引数

`left` | 左出力セレクタです。
`right` | 右出力セレクタです。
`channel1` | チャンネル1出力セレクタです。
`channel3` | チャンネル3出力セレクタです。

## 返り値

なし。

## 説明

出力セレクタを変更します。

左出力セレクタ`left`及び右出力セレクタ`right`は、下記の値から選択します。

表 . SNDOutput

ラベル | 説明
--- | ---
SND_OUTPUT_MIXER | 各ＬＲのミキサーの出力を、最終段に出力します。
SND_OUTPUT_CHANNEL1 | チャンネル1の出力を、最終段に出力します。
SND_OUTPUT_CHANNEL3 | チャンネル3の出力を、最終段に出力します。
SND_OUTPUT_CHANNEL1_3 | チャンネル1＋チャンネル3の出力を、最終段に出力します。

チャンネル1出力セレクタ`channel1`及びチャンネル3出力セレクタ`channel3`は、 下記の値から選択します。

表 . SNDChannelOut

ラベル | 説明
--- | ---
SND_CHANNEL_OUT_MIXER | チャンネル1または3の出力を、ミキサーに送ります。（バイパスにも送られます。）
SND_CHANNEL_OUT_BYPASS | チャンネル1または3の出力は、ミキサーをバイパスします。（ミキサーには送られません。）

初期設定では、 `left`及び`right`がSND_OUTPUT_MIXER、 `channel1`及び`channel3`がSND_CHANNEL_OUT_MIXER となっています。

### 注意

この関数は、ARM7コマンド予約関数です。 この関数を呼びだした後、 `SND_FlushCommand()` で コマンドを発行して始めて、処理が行われます。

また、処理の完了と同期を取る必要がある場合は、 まず、この関数呼び出しの直後に、 `SND_GetCurrentCommandTag()` で、コマンドタグを取得しておきます。 そしてコマンド発行後に、取得したコマンドタグを使って `SND_IsFinishedCommandTag()` または、 `SND_WaitForCommandProc()` を呼びだして、 処理の完了をチェックしたり、待ったりします。

## 参照

SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc

## 履歴

2005/06/13 NITROプログラミングマニュアル改訂に伴う修正
2005/02/17 ARM7コマンド処理の注意書き追加
2004/07/20 初版