# SND_PrepareSeq

## Syntax

      #include <nitro/snd.h>

      void SND_PrepareSeq(
              int playerNo,
              const void* base,
              u32 offset,
              const SNDBankData* bank );

## Arguments

`playerNo` | The player number. Takes a value between 0 and 15.
`base` | The base address of the sequence data.
`offset` | The start position offset for the sequence data.
`bank` | This is the bank data pointer.

## Return Values

None.

## Description

Prepares the sequence for playback.

Prepares the sequence for playback on the player indicated by `playerNo`. Any sequence that is already being played on that player will be forcibly stopped.

Sequence data is processed from the offset position (`offset`) from the base address (`base`).

For bank, `bank`, specify the bank which the sequence uses for sound generation. The `SND_AssignWaveArc` function must be used to combine the waveform archive with the bank in advance.

Call the `SND_StartPreparedSeq` function to play a sequence that has been prepared for playback.

### Note

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_AssignWaveArc, SND_StartPreparedSeq, SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc`

## Revision History

2005/04/14 Initial version.

CONFIDENTIAL