#include <nitro/snd.h>void SND_SetTrackModDepth( int playerNo, u32 trackBitMask, int depth );
playerNo |
プレイヤー番号です。値の範囲は、0〜15です。 |
trackBitMask |
トラックビットマスクです。どのトラックを操作するかを指定します。 |
depth |
モジュレーションの深さです。値の範囲は、0〜255です。 |
プレイヤー番号playerNoのプレイヤーで再生中のシーケンスのトラックモジュレーションデプスを変更します。
どのトラックを操作するのかは、トラックビットマスクtrackBitMaskで指定します。
各ビットは、最下位ビットがトラック0で、以下順にトラック1、トラック2、、、を表しています。
ビットが立っているものに対応するトラックに対してのみ、操作を行います。
モジュレーションの深さdepthのデフォルトは0で、モジュレーション効果がかかりません。
値が大きいほど効果が大きくなります。
例えば、モジュレーションタイプがデフォルトの「音程変化」だった場合、
127ではちょうど±1半音の深さになります。
シーケンスデータ中でも、モジュレーションデプスを設定していた場合は、後から設定した方が有効になります。
この関数は、ARM7コマンド予約関数です。 この関数を呼びだした後、 SND_FlushCommand() で コマンドを発行して始めて、処理が行われます。
また、処理の完了と同期を取る必要がある場合は、 まず、この関数呼び出しの直後に、 SND_GetCurrentCommandTag() で、コマンドタグを取得しておきます。 そしてコマンド発行後に、取得したコマンドタグを使って SND_IsFinishedCommandTag() または、 SND_WaitForCommandProc() を呼びだして、 処理の完了をチェックしたり、待ったりします。
SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc
2005/02/17 ARM7コマンド処理の注意書き追加
2004/07/01 初版