@onjmin/dtm
    Preparing search index...

    Type Alias DawInstance

    type DawInstance = {
        applyLyrics: (trackId: string, data: LyricSyncData) => void;
        applyMidiParsed?: (midi: unknown, selectedIndices: number[]) => void;
        applyPatch: (
            trackId: string,
            added: NoteData[],
            removed: NoteRemove[],
        ) => void;
        applyTrackInstrument: (trackIndex: number, instrumentName: string) => void;
        destroy: () => void;
        exportMIDI: () => Blob;
        forcePauseAt: (step: number) => void;
        getCurrentPlayStep: () => number;
        getDrum: () => string;
        getMML: () => { full: string; minified: string };
        getPlaybackState: () => PlaybackState;
        getViewState: () => DawViewState;
        loadMIDI: (bytes: Uint8Array) => void | Promise<void>;
        loadMML: (mml: string) => void;
        noteToCanvas: (
            step: number,
            pitch: number,
        ) => {
            onScreen: boolean;
            side: "left" | "right" | "top" | "bottom" | null;
            x: number;
            y: number;
        };
        pause: () => void;
        play: () => void;
        setBpm: (bpm: number) => void;
        setDrum: (name: string) => void;
        setDrumVolume: (volume: number) => void;
        setInstrument: (name: string) => void;
        setLoading?: (loading: boolean) => void;
        setMasterVolume: (volume: number) => void;
        setTrackAudible: (trackId: string, audible: boolean) => void;
        setTrackVisible: (trackId: string, visible: boolean) => void;
        setViewState: (state: Partial<DawViewState>) => void;
        setVolume: (volume: number) => void;
        stop: () => void;
    }
    Index

    Properties

    applyLyrics: (trackId: string, data: LyricSyncData) => void

    リモートから受信した歌詞・UTAU設定を適用する。

    applyMidiParsed?: (midi: unknown, selectedIndices: number[]) => void

    パース済みMIDIオブジェクトと選択トラックインデックスを直接適用する(上級者モード切替後の再ロード用)。

    applyPatch: (trackId: string, added: NoteData[], removed: NoteRemove[]) => void

    リモートから受信したパッチをローカルに適用する。 onNotesPatch は発火しない(エコーループ防止)。 音符の識別は (startStep, pitch) ペアで行う(ローカルIDに依存しない)。

    applyTrackInstrument: (trackIndex: number, instrumentName: string) => void

    リモートから受信したトラック個別楽器を適用する(onTrackInstrumentChange は発火しない)。

    destroy: () => void
    exportMIDI: () => Blob
    forcePauseAt: (step: number) => void
    getCurrentPlayStep: () => number
    getDrum: () => string

    現在のドラムパターン名を返す(永続化の保存用)。

    getMML: () => { full: string; minified: string }
    getPlaybackState: () => PlaybackState
    getViewState: () => DawViewState

    現在の表示・出力設定を返す(永続化の保存用)。

    loadMIDI: (bytes: Uint8Array) => void | Promise<void>
    loadMML: (mml: string) => void
    noteToCanvas: (
        step: number,
        pitch: number,
    ) => {
        onScreen: boolean;
        side: "left" | "right" | "top" | "bottom" | null;
        x: number;
        y: number;
    }

    指定ノート位置(step, pitch)のキャンバス上のピクセル座標を返す。 画面外の場合は onScreen=false と方角 side を返す。 協力DAWでのカーソル表示に使う。

    pause: () => void
    play: () => void
    setBpm: (bpm: number) => void
    setDrum: (name: string) => void

    ドラムパターンを設定する(未知のキーは無視)。選択UIにも反映する。

    setDrumVolume: (volume: number) => void

    ドラム音量を 0-100 で変更する。

    setInstrument: (name: string) => void

    MML出力の先頭に埋め込む楽器プリセット名を設定する(トラックとは1対1でないトップレベル宣言)。 空文字で宣言なし。ライブラリ自体は音源を持たないため、名前を運ぶだけ(再生側が解決する)。

    setLoading?: (loading: boolean) => void
    setMasterVolume: (volume: number) => void

    マスタ音量を 0-100 で変更する。

    setTrackAudible: (trackId: string, audible: boolean) => void

    指定トラックの発音を有効・無効にする(音ミュート)。 false にすると onPlayNote が呼ばれなくなる。

    setTrackVisible: (trackId: string, visible: boolean) => void

    指定トラックの音符をキャンバス上で表示・非表示にする(目ミュート)。 非表示にしても内部データは保持される。

    setViewState: (state: Partial<DawViewState>) => void

    表示・出力設定を復元する(指定したキーのみ反映。UIにも反映する)。

    setVolume: (volume: number) => void

    マスタ音量を 0-100 で変更する(setMasterVolume のエイリアス)。

    stop: () => void