# SND_SetTrackMute*

## C Specification

      #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 track or release mute. TRUE = Mute; FALSE = Release.
`mute` | Represents the mute setting.

## Return Values

None.

## Description

Mutes or releases muting on the tracks of the sequence being played by the Player specified by `playerNo`.

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

If a track is muted using the `SND_SetTrackMute` function, the sound immediately stops. If this is not desired, use the function `SND_SetTrackMuteEx`.

Select from the following values for the mute setting `mute`:

Table SNDSeqMute

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

### Caution

If a currently playing sound is stopped by muting, that sound does not resume when mute is released.

If a mute setting is already set inside the sequence data, a value set later will become valid.

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

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

CONFIDENTIAL