# SND_SetTrackModDepth

## Syntax

      #include <nitro/snd.h>

      void SND_SetTrackModDepth(
              int playerNo,
              u32 trackBitMask,
              int depth );

## 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.
`depth` | The modulation depth. Takes a value between 0 and 255.

## Return Values

None.

## Description

Changes the modulation depth of 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.

The default value for the modulation depth `depth` is 0. In other words, there is no modulation effect in the default setting. The larger the value, the greater the effect. When the modulation type is the default type "note change," then a modulation depth value of 127 is exactly one half-note.

### Note

If a modulation depth value is already set inside the sequence data, the value set later is the one that is valid.

This function is an ARM7 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

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

CONFIDENTIAL