@onjmin/dtm
    Preparing search index...

    Type Alias DawOptions

    type DawOptions = {
        defaultBpm?: number;
        drumPatterns?: Record<string, DrumPattern>;
        getAudioTime?: () => number;
        initialMML?: string;
        mode?: DawMode;
        onDrumChange?: (name: string) => void;
        onPlayDrum?: (e: PlayDrumEvent) => void;
        onPlayNote?: (e: PlayNoteEvent) => void;
        onResumeAudio?: () => void | Promise<void>;
        onToggleRecord?: () => void;
        onViewStateChange?: (state: DawViewState) => void;
        parseMidi?: ParseMidiFn;
        singingVoices?: SingingVoices;
        tracks?: TrackConfig[];
    }
    Index

    Properties

    defaultBpm?: number
    drumPatterns?: Record<string, DrumPattern>

    ドラムパターン辞書。既定は DRUM_PATTERNS

    getAudioTime?: () => number

    再生の基準クロック秒。既定 performance.now()/1000。利用側は audioCtx.currentTime を返す

    initialMML?: string
    mode?: DawMode

    動作モード(DawMode)。 未指定のときは後方互換のため tracks の本数から推論する(4本以下→simple / 5本以上→advanced)。 4トラック構成でも1:1取り込みをしたい等、トラック数と意図がずれる場合は明示指定する。

    onDrumChange?: (name: string) => void

    ドラムパターンが変化したときに呼ばれる(ユーザー操作・MML読み込みによる自動入力の両方)。 利用側が選択状態を永続化する用途に使う。

    onPlayDrum?: (e: PlayDrumEvent) => void

    ドラムノート発音要求

    onPlayNote?: (e: PlayNoteEvent) => void

    メロディックトラックのノート発音要求

    onResumeAudio?: () => void | Promise<void>

    初回ユーザー操作時に呼ばれる(AudioContextのresume等に使う)

    onToggleRecord?: () => void

    録音ボタン押下(利用側のオーディオグラフに依存するため任意)

    onViewStateChange?: (state: DawViewState) => void

    表示・出力設定(ズーム / 和音分解モード / 和音伴奏トラック無視)が変化したときに呼ばれる。 利用側が選択状態を永続化する用途に使う。

    parseMidi?: ParseMidiFn
    singingVoices?: SingingVoices

    歌唱合成の先読みや制御を行うヘルパ(.koe音源の再生前プリロードに使用)

    tracks?: TrackConfig[]

    トラック構成。既定は melody/submelody/bass/chord の4本