# SND_LockChannel

## C Specification

      #include <nitro/snd.h>

      void SND_LockChannel( u32 chBitMask, u32 flags );

## Arguments

`chBitMask` | The channel bit mask. It specifies which channels to control.
`flags` | Option flags. At the current time the flags are not used, so 0 is entered here.

## Return Values

None.

## Description

This function locks channels so they can be directly controlled.

The channel bit mask `chBitMask` specifies which channels to control. The channels are represented in order, with the lowest bit representing channel 0. Only channels whose representative bits are standing are controlled.

A locked channel cannot be used in sequence playback. If a channel that is specified for locking is already being used, the sound is forcedly stopped. To unlock channels, use the `SND_UnlockChannel` function.

### Caution

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

## Revision History

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