@onjmin/dtm
    Preparing search index...

    Type Alias DawInstance

    type DawInstance = {
        addDrumPattern: (name: string, pattern: DrumPatternDef) => void;
        applyLyrics: (trackId: string, data: LyricSyncData) => void;
        applyMidiParsed?: (midi: unknown, selectedIndices: number[]) => void;
        applyMusicXmlParsed?: (
            xml: MusicXmlExtraction,
            selectedIndices: number[],
        ) => void;
        applyPatch: (
            trackId: string,
            added: NoteData[],
            removed: NoteRemove[],
        ) => void;
        applyTrackInstrument: (trackIndex: number, instrumentName: string) => void;
        applyUstParsed?: (ustTracks: UstTrackData[], startIndex?: number) => void;
        destroy: () => void;
        exportMIDI: () => Blob;
        exportMusicXML: () => Blob;
        exportUST: () => Blob;
        forcePauseAt: (step: number) => void;
        getCurrentPlayStep: () => number;
        getDrum: () => string;
        getDrumFont: () => string;
        getLoop: () => boolean;
        getMML: () => { full: string; minified: string };
        getPlaybackState: () => PlaybackState;
        getUsedDrumKeys: () => number[];
        getViewState: () => DawViewState;
        loadMIDI: (bytes: Uint8Array) => void | Promise<void>;
        loadMML: (mml: string) => void;
        noteToCanvas: (
            step: number,
            pitch: Units,
        ) => {
            onScreen: boolean;
            side: "left" | "right" | "top" | "bottom" | null;
            x: number;
            y: number;
        };
        pause: () => void;
        play: () => void;
        setBpm: (bpm: number) => void;
        setDelayAmount: (amount: number) => void;
        setDrum: (name: string) => void;
        setDrumFont: (fontId: string) => void;
        setDrumVolume: (volume: number) => void;
        setInstrument: (name: string) => void;
        setLoading?: (loading: boolean) => void;
        setLoop: (loop: boolean) => void;
        setMasterVolume: (volume: number) => void;
        setReverbAmount: (amount: number) => void;
        setReverbDecay: (seconds: number) => void;
        setReverbPreDelay: (ms: number) => void;
        setTrackAudible: (trackId: string, audible: boolean) => void;
        setTrackVisible: (trackId: string, visible: boolean) => void;
        setViewState: (state: Partial<DawViewState>) => void;
        setVolume: (volume: number) => void;
        startTour: () => void;
        stop: () => void;
    }
    Index

    Properties

    addDrumPattern: (name: string, pattern: DrumPatternDef) => void

    指定したドラムパターンを追加し、利用可能にする

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

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

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

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

    applyMusicXmlParsed?: (
        xml: MusicXmlExtraction,
        selectedIndices: number[],
    ) => void

    解析済みMusicXMLの選択パートを適用する(上級者モード切替後の再ロード用)。

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

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

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

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

    applyUstParsed?: (ustTracks: UstTrackData[], startIndex?: number) => void

    解析済みUSTを startIndex のトラックから順に適用する (上級者モード切替後の再ロード用。省略時は選択中のトラックから)。

    destroy: () => void
    exportMIDI: () => Blob
    exportMusicXML: () => Blob

    全トラックをMusicXML(楽譜)テキストのBlobで返す。

    exportUST: () => Blob

    選択中のトラック1本をUST(UTAU)テキストのBlobで返す。

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

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

    getDrumFont: () => string

    現在のドラム音源(font:id)を返す

    getLoop: () => boolean

    現在のループ再生状態(ON/OFF)を返す

    getMML: () => { full: string; minified: string }
    getPlaybackState: () => PlaybackState
    getUsedDrumKeys: () => number[]

    現在のドラムパターンで使用されているキー一覧を返す

    getViewState: () => DawViewState

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

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

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

    pause: () => void
    play: () => void
    setBpm: (bpm: number) => void
    setDelayAmount: (amount: number) => void

    マスタディレイの掛かり具合を 0-100 で変更する。

    setDrum: (name: string) => void

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

    setDrumFont: (fontId: string) => void

    ドラム音源を設定する(font:id)

    setDrumVolume: (volume: number) => void

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

    setInstrument: (name: string) => void

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

    setLoading?: (loading: boolean) => void
    setLoop: (loop: boolean) => void

    ループ再生状態を設定する。UIおよび再生シーケンサへ反映される。

    setMasterVolume: (volume: number) => void

    このDAWインスタンス自身が持つ「曲自体の音量」(#volume=)を 0-100 で変更する。 getMML()で出力・loadMML()で復元される、曲データの一部として永続化される値。 loadMML() を呼ぶたびにそのMMLの #volume= で上書きされるため、リスナー側の 音量の好みを別途乗せたい場合は代わりに DtmStudio.setMasterVolume (studio.masterGain、曲データと無関係な出力段ゲイン)を使うこと。

    setReverbAmount: (amount: number) => void

    マスタリバーブの掛かり具合を 0-100 で変更する。

    setReverbDecay: (seconds: number) => void

    マスタリバーブのDecay(残響の長さ)を秒で変更する。

    setReverbPreDelay: (ms: number) => void

    マスタリバーブのPre Delayをmsで変更する。

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

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

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

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

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

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

    setVolume: (volume: number) => void

    setMasterVolume のエイリアス。

    startTour: () => void

    ガイドツアーを開始する(自動再生の設定に関わらず、いつでも呼べる)。 ヘルプボタンの「ガイドツアーを見る」と同じ入口。

    stop: () => void