# SND_StopTimer

## 構文

      #include <nitro/snd.h>

      void SND_StopTimer(
              u32 chBitMask,
              u32 capBitMask,
              u32 alarmBitMask,
              u32 flags );

## 引数

`chBitMask` | チャンネルビットマスクです。どのチャンネルを操作するかを指定します。
`capBitMask` | キャプチャビットマスクです。どのキャプチャを操作するかを指定します。
`alarmBitMask` | アラームビットマスクです。どのサウンドアラームを操作するかを指定します。
`flags` | オプションフラグです。

## 返り値

なし。

## 説明

タイマーをストップします。

一度に複数のチャンネル・キャプチャ・アラームを指定すると、それらはほぼ同一のタイミングでストップさせることができます。 順番は、チャンネル -> キャプチャ -> アラームの順で行われます。

どのチャンネルを操作するのかは、チャンネルビットマスク`chBitMask`で指定します。各ビットは、最下位ビットがチャンネル0で、以下順にチャンネル1、チャンネル2、、、を表しています。ビットが立っているものに対応するチャンネルに対してのみ、操作を行います。

どのキャプチャを操作するのかは、キャプチャビットマスク`capBitMask`で指定します。 SND_CAPTURE_0なら( 1 << SND_CAPTURE_0 )を、SND_CAPTURE_1なら( 1 << SND_CAPTURE_1 )を、 両方ならそれぞれの論理和を入れます。

どのサウンドアラームを操作するのかは、アラームビットマスク`alarmBitMask`で指定します。各ビットは、最下位ビットがアラーム0で、以下順にアラーム1、アラーム2、、、を表しています。ビットが立っているものに対応するアラームに対してのみ、操作を行います。

フラグ`flags`は、0または、SND_COMMAND_CHANNEL_HOLDを入れます。 SND_COMMAND_CHANNEL_HOLDを入れると、チャンネルが停止した後も、 最後のサンプル値を出力し続けます。0ならチャンネルが停止すると、出力レベルは0に落ちます。

### 注意

この関数は、ARM7コマンド予約関数です。 この関数を呼びだした後、 `SND_FlushCommand()` で コマンドを発行して始めて、処理が行われます。

また、処理の完了と同期を取る必要がある場合は、 まず、この関数呼び出しの直後に、 `SND_GetCurrentCommandTag()` で、コマンドタグを取得しておきます。 そしてコマンド発行後に、取得したコマンドタグを使って `SND_IsFinishedCommandTag()` または、 `SND_WaitForCommandProc()` を呼びだして、 処理の完了をチェックしたり、待ったりします。

## 参照

SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc

## 履歴

2005/02/17 ARM7コマンド処理の注意書き追加
2004/07/20 初版