Microsoft DirectX 8.0 (C++)

DMUS_IO_STYLENOTE

スタイル内のノートに関する情報を保持する。スタイル形式で使用される。

typedef struct _DMUS_IO_STYLENOTE {
    MUSIC_TIME  mtGridStart;
    DWORD       dwVariation;
    MUSIC_TIME  mtDuration; 
    short       nTimeOffset;
    WORD        wMusicValue; 
    BYTE        bVelocity;
    BYTE        bTimeRange;
    BYTE        bDurRange;
    BYTE        bVelRange; 
    BYTE        bInversionID;
    BYTE        bPlayModeFlags; 
    BYTE        bNoteFlags;
} DMUS_IO_STYLENOTE;

メンバ

mtGridStart
ノートが発生する時点のオフセット。グリッドで表される。
dwVariation
このノートが所属するバリエーション。各ビットは 32 あるバリエーションのいずれかに対応する。
mtDuration
ノートの持続時間。
nTimeOffset
イベントが発生する mtGridStart 後のタイム。「DMUS_IO_STYLE_ANTICIPATION」の「注意」を参照すること。
wMusicValue
スケール内の位置。
bVelocity
ノートのベロシティ。
bTimeRange
開始タイムをランダム化する範囲。「注意」を参照すること。
bDurRange
持続時間をランダム化する範囲。「注意」を参照すること。
bVelRange;
ベロシティをランダム化する範囲。
bInversionID
このノートが所属する転回グループの識別子。
bPlayModeFlags
パートの演奏モードをオーバーライドするフラグ。値のリストについては、「DMUS_PLAYMODE_FLAGS」を参照すること。
bNoteFlags
フラグ。「DMUS_NOTEF_FLAGS」を参照すること。

注意

bTimeRange および bDurRange の値は、次の関数を使用して、ノートが演奏されるときにミュージック タイムに変換される。

int StoredRangeToActualRange(BYTE bRange)
{
    int nResult = 0;
    if (0 <= bRange && bRange <= 190)
    {
        nResult = bRange;
    }
    else if (191 <= bRange && bRange <= 212)
    {
        nResult = ((bRange - 190) * 5) + 190;
    }
    else if (213 <= bRange && bRange <= 232)
    {
        nResult = ((bRange - 212) * 10) + 300;
    }
    else // bRange > 232
    {
        nResult = ((bRange - 232) * 50) + 500;
    }
    return nResult;
}

動作環境

  ヘッダー : dmusicf.h で宣言。