SND_SetTrackAllocatableChannel

構文

#include <nitro/snd.h>
void SND_SetTrackAllocatableChannel(
        int playerNo,
        u32 trackBitMask,
        u32 chBitFlag );

引数

playerNo プレイヤー番号です。値の範囲は、0〜15です。
trackBitMask トラックビットマスクです。どのトラックを操作するかを指定します。
chBitFlag 確保可能なチャンネルのビットフラグです。

返り値

なし。

説明

プレイヤー番号playerNoのプレイヤーで再生中のシーケンスのトラックで、 確保可能なチャンネルを変更します。

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

確保可能なチャンネルを、chBitFlagで指定します。 各ビットは、最下位ビットがチャンネル0で、以下順にチャンネル1、チャンネル2、、、を表しています。 ビットが立っているものに対応するチャンネルが確保できます。 chBitFlagに0を入れると、全てのチャンネルから確保できるようになります。 初期設定ではこの状態です。

注意

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

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

参照

SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc

履歴

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