# SND_SetTrackMute*

## Syntax

      #include <nitro/snd.h>

      void SND_SetTrackMute( int playerNo, u32 trackBitMask, BOOL flag );
      void SND_SetTrackMuteEx(
              int playerNo,
              u32 trackBitMask,
              SNDSeqMute mute );

## Arguments

`playerNo` | The player number. Takes a value between 0 and 15.
`trackBitMask` | This is the track bit mask. It designates which track to use.
`flag` | Flag indicating whether to mute or unmute. `TRUE` mutes; `FALSE` unmutes.
`mute` | Represents the mute setting.

## Return Values

None.

## Description

Mutes or unmutes the tracks of the sequence being played by the Player specified by playerNo.

The track bit mask, trackBitMask, designates which track to manipulate. Each bit expresses a track in descending order with track 0 as the lowest-order bit. Operations are performed only on the tracks whose bits are standing.

If a track is muted using the `SND_SetTrackMute` function, the sound immediately stops. Use the `SND_SetTrackMuteEx` function if you do not want it to stop immediately.

Select from the following values for the mute setting mute:

Table: SNDSeqMute

Label | Description
--- | ---
SND_SEQ_MUTE_OFF | Unmutes
SND_SEQ_MUTE_NO_STOP | Mutes without stopping the currently playing audio
SND_SEQ_MUTE_RELEASE | Releases the audio currently playing and mutes
SND_SEQ_MUTE_STOP | Immediately stops the currently playing audio and mutes

### Note

If currently playing audio is stopped by muting, that audio does not resume when the track is unmuted.

If a mute setting is already configured inside the sequence data, the most recently configured setting becomes the valid one.

This function is an ARM7 command reserved function. After this function is called, its processing will occur only after the command is issued with the `SND_FlushCommand` function.

If program execution must be synchronized with process completion, first use the `SND_GetCurrentCommandTag` function to obtain the command tag immediately after calling this function. Then, after the command is issued, use the command tag and call either the `SND_IsFinishedCommandTag` or `SND_WaitForCommandProc` function to confirm that processing has finished or to wait for it to complete.

## See Also

`SND_FlushCommand
SND_GetCurrentCommandTag
SND_IsFinishedCommandTag
SND_WaitForCommandProc`

## Revision History

2006/03/20 Added the `SNDSetTrackMuteEx` function.
2005/02/17 Added a note about ARM7 command processing.
2004/07/01 Initial version.

CONFIDENTIAL