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 各LRのミキサーの出力を、最終段に出力します。
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及びrightSND_OUTPUT_MIXERchannel1及びchannel3SND_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 初版