UNPKG

museaikit

Version:

A powerful music-focused AI toolkit

38 lines (37 loc) 1.33 kB
import { INoteSequence, NoteSequence } from '../../protobuf/index'; import { BaseSVGVisualizer } from './base_svg_visualizer'; import { VisualizerConfig } from './config'; export interface WaterfallVisualizerConfig extends VisualizerConfig { whiteNoteHeight?: number; whiteNoteWidth?: number; blackNoteHeight?: number; blackNoteWidth?: number; showOnlyOctavesUsed?: boolean; } export declare class WaterfallSVGVisualizer extends BaseSVGVisualizer { private NOTES_PER_OCTAVE; private WHITE_NOTES_PER_OCTAVE; private LOW_C; private firstDrawnOctave; private lastDrawnOctave; protected svgPiano: SVGSVGElement; protected config: WaterfallVisualizerConfig; constructor(sequence: INoteSequence, parentElement: HTMLDivElement, config?: WaterfallVisualizerConfig); private setupDOM; redraw(activeNote?: NoteSequence.INote, scrollIntoView?: boolean): number; protected getSize(): { width: number; height: number; }; protected getNotePosition(note: NoteSequence.INote, noteIndex: number): { x: number; y: number; w: number; h: number; }; private drawPiano; private drawWhiteKey; private drawBlackKey; clearActiveNotes(): void; protected clear(): void; }