#include <nitro/snd.h>void SND_SetChannelVolume( u32 chBitMask, int volume, SNDChannelDataShift shift );
チャンネルボリュームを変更します。
どのチャンネルを操作するのかは、チャンネルビットマスクchBitMaskで指定します。各ビットは、最下位ビットがチャンネル0で、以下順にチャンネル1、チャンネル2、、、を表しています。ビットが立っているものに対応するチャンネルに対してのみ、操作を行います。
データシフト設定shiftは、以下の値から選択します。
表 . SNDChannelDataShift
| ラベル | 説明 |
|---|---|
| SND_CHANNEL_DATASHIFT_NONE | データシフトを行いません。 |
| SND_CHANNEL_DATASHIFT_1BIT | 1ビット右シフトします。 |
| SND_CHANNEL_DATASHIFT_2BIT | 2ビット右シフトします。 |
| SND_CHANNEL_DATASHIFT_4BIT | 4ビット右シフトします。 |
この関数は、ARM7コマンド予約関数です。 この関数を呼びだした後、 SND_FlushCommand() で コマンドを発行して始めて、処理が行われます。
また、処理の完了と同期を取る必要がある場合は、 まず、この関数呼び出しの直後に、 SND_GetCurrentCommandTag() で、コマンドタグを取得しておきます。 そしてコマンド発行後に、取得したコマンドタグを使って SND_IsFinishedCommandTag() または、 SND_WaitForCommandProc() を呼びだして、 処理の完了をチェックしたり、待ったりします。
SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc
2005/02/17 ARM7コマンド処理の注意書き追加
2004/07/20 初版