destroy
destroy: () => void
drawGrid
drawGrid: (noteLengthSteps?: number) => void
drawKeyboard
drawKeyboard: () => void
drawNoteLyrics
drawNoteLyrics: (notes: Note[], syllables: string[]) => void drawNotes
drawNotes: (notes: Note[], color?: number[], isActive?: boolean) => void drawPitchGuide
drawPitchGuide: (pitchUnits: number, label: string) => void
drawSelectedNotes
drawSelectedNotes: ( notes: Note[], selectedIds: Set<number>, baseColor?: number[],) => void drawSelectionRect
drawSelectionRect: (
rect: { height: number; width: number; x: number; y: number } | null,
) => void
drawSpeechSpans
drawSpeechSpans: ( spans: { durationSteps: number; note: Note }[], color?: number[],) => void getDrawOffset
getDrawOffset: () => { x: number; y: number }
getGridCanvas
getGridCanvas: () => HTMLCanvasElement
getGridContext
getGridContext: () => CanvasRenderingContext2D
getGridPosition
getGridPosition: ( e: MouseEvent | PointerEvent,) => { pitch: Units; step: number; x: number; y: number } getHeaderCanvas: () => HTMLCanvasElement
getXY
getXY: (e: MouseEvent | PointerEvent) => [number, number, number]
onClick
onClick: (callback: (step: number, pitch: Units) => void) => void setBackgroundActive
setBackgroundActive: (active: boolean) => void
setDrawOffset
setDrawOffset: (x: number, y: number) => void
1つのピアノロール描画面(ヘッダー/鍵盤/グリッドの3枚のCanvas)を表す描画器。
描画状態はインスタンスに閉じ込める。 モジュールグローバルに置くと、1ページに2つ以上の エディタをマウントしたとき後からマウントした側がそれを奪い、先にマウントした側の描画が 相手のCanvasへ流れ込む。曲ごとに音律(12平均律 / 31平均律)が違うと格子まで食い違う。