@onjmin/dtm
    Preparing search index...

    Type Alias ModeSwitchOptions

    DtmStudio.mountModeSwitch のオプション。

    type ModeSwitchOptions = {
        className?: string;
        editorOptions?:
            | MountEditorOptions
            | ((mode: DawMode) => MountEditorOptions);
        editorTarget: HTMLElement;
        label?: string | null;
        labels?: Partial<Record<DawMode, string>>;
        mode?: DawMode;
        onChange?: (mode: DawMode) => void;
        onMount?: (daw: DawInstance, mode: DawMode) => void;
        onUnmount?: (daw: DawInstance, mode: DawMode) => void;
        position?: "append" | "prepend";
        tracksFor?: (mode: DawMode) => TrackConfig[];
    }
    Index

    Properties

    className?: string

    wrapper 要素に付与する className(既定 "dtm-controlbar")。

    editorOptions?: MountEditorOptions | ((mode: DawMode) => MountEditorOptions)

    mountEditor に渡す共通オプション(initialMML / preset / defaultBpm / 各コールバック等)。 関数を渡すとモードごとに切り替えられる。mode / tracks / initialMML は モード切替側が上書きするため、ここで指定しても再マウント時には無視される。

    editorTarget: HTMLElement

    編集UI(mountEditor)をマウントするコンテナ。

    label?: string | null

    先頭ラベルの文言(既定 "MODE")。null でラベル無し。

    labels?: Partial<Record<DawMode, string>>

    各モードのボタンラベル(既定 simple="シンプル" / advanced="アドバンス")。

    mode?: DawMode

    初期モード(既定 "simple")。

    onChange?: (mode: DawMode) => void

    モード確定時に呼ばれる(永続化用。初期マウントでは呼ばれない)。

    onMount?: (daw: DawInstance, mode: DawMode) => void

    マウント/再マウント完了時に呼ばれる(最新 daw を受け取る。MMLポーリング開始等)。

    onUnmount?: (daw: DawInstance, mode: DawMode) => void

    破棄直前に呼ばれる(MMLポーリング停止等)。 再マウント時の最新MMLの引き継ぎは内部で行うため、ここでの保存は任意。

    position?: "append" | "prepend"

    target への挿入位置(既定 "append")。

    tracksFor?: (mode: DawMode) => TrackConfig[]

    モード→トラック構成。 既定は simple→TRACKS_SIMPLE / advanced→TRACKS_ADVANCED。