@onjmin/dtm
    Preparing search index...

    Type Alias SequencerOptions

    type SequencerOptions = {
        cues?: PlaybackCue[];
        getAudioTime: () => number;
        getBpm: () => number;
        getDrumPattern: (currentBar: number) => DrumPattern | null;
        getLoop?: () => boolean | LoopConfig;
        getMinEndSec?: () => number;
        getPlayStartStep: () => number;
        getSoloTrackId: () => string | null;
        getTracks: () => SequencerTrack[];
        onCue?: (cueId: string) => void;
        onEnd: (interrupted?: boolean) => void;
        onPlayDrum: (e: PlayDrumEvent) => void;
        onPlayNote: (e: PlayNoteEvent) => void;
        onTick: (currentPlayStep: number) => void;
        stepsPerBar: number;
    }
    Index

    Properties

    cues?: PlaybackCue[]

    再生中にイベントを発火させるタイミング

    getAudioTime: () => number
    getBpm: () => number
    getDrumPattern: (currentBar: number) => DrumPattern | null
    getLoop?: () => boolean | LoopConfig

    ループ再生設定(BGM用途)。 boolean または詳細な LoopConfig を指定可能。

    getMinEndSec?: () => number

    ノートが尽きても、ここで返す秒数(再生開始からの相対秒)までは曲を終わらせない。

    伴奏音源(mp3等)を一緒に鳴らしているとき、打ち込みが先に終わっても曲は まだ続いている。これが無いと音源の途中で「終了」してしまい、プレイヘッドも 止まる。ノートが1つも無くても、これが正なら再生自体は走る。

    getPlayStartStep: () => number
    getSoloTrackId: () => string | null

    ソロ対象トラックID(null=ソロ無効)

    getTracks: () => SequencerTrack[]
    onCue?: (cueId: string) => void

    キューポイント通過時のコールバック

    onEnd: (interrupted?: boolean) => void
    onPlayDrum: (e: PlayDrumEvent) => void
    onPlayNote: (e: PlayNoteEvent) => void
    onTick: (currentPlayStep: number) => void

    毎フレーム currentPlayStep を通知(プレイヘッド/オートスクロール用)

    stepsPerBar: number