# SND_SetTrackModSpeed

## C Specification

      #include <nitro/snd.h>

      void SND_SetTrackModSpeed(
      int playerNo,
      u32 trackBitMask,
      int speed );

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

## Return Values

None.

## Description

Changes the modulation speed 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 speed `speed` is 16, which corresponds to approximately 6.4 Hz. When the value doubles in size, the frequency also doubles.

### Caution

If a modulation speed 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, 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/01/2004 Initial version