#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 初版