SND_SetChannelVolume

C Specification

#include <nitro/snd.h>
void SND_SetChannelVolume(
u32 chBitMask,
int volume,
SNDChannelDataShift shift );

Arguments

chBitMask The channel bit mask. It specifies which channels to control.
volume The volume. Takes a value between 0 and 127.
shift The data shift setting.

Return Values

None.

Description

Changes the channel volume.

The channel bit mask chBitMask specifies which channels to control. The channels are represented in order, with the lowest bit representing channel 0. Only channels whose representative bits are standing are controlled.

Choose from among these values for the data shift setting shift:

Table. SNDChannelDataShift

Label Description
SND_CHANNEL_DATASHIFT_NONE Do not perform a data shift.
SND_CHANNEL_DATASHIFT_1BIT Shift data 1 bit right.
SND_CHANNEL_DATASHIFT_2BIT Shift data 2 bit right.
SND_CHANNEL_DATASHIFT_4BIT Shift data 4 bit right.

Caution

This function is an ARM7 reserved function. After this function is called, processing occurs only after the command is issued with the SND_FlushCommand function.

When it is necessary to synchronize something with the completion of the process, first use SND_GetCurrentCommandTag to obtain the command tag immediately after calling this function. After the command is issued, use the command tag and call either the SND_IsFinishedCommandTag or SND_WaitForCommandProc function to confirm that the process has finished or to wait for it to complete.

See Also

SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc

Revision History

02/17/2005 Added a note about ARM7 command processing
07/20/2004 Initial version