Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PianoRollSVGVisualizer

Displays a pianoroll as an SVG. Pitches are the vertical axis and time is the horizontal. When connected to a player, the visualizer can also highlight the notes being currently played.

Unlike PianoRollCanvasVisualizer which looks similar, PianoRollSVGVisualizer does not redraw the entire sequence when activating a note.

Hierarchy

Index

Constructors

constructor

Properties

Protected config

Protected drawn

drawn: boolean

Protected height

height: number

noteSequence

noteSequence: INoteSequence

Protected parentElement

parentElement: HTMLElement

Protected svg

svg: SVGSVGElement

Protected width

width: number

Methods

Protected clear

  • clear(): void

clearActiveNotes

  • clearActiveNotes(): void

Protected draw

  • draw(): void

Protected fillActiveRect

  • fillActiveRect(el: Element, note: INote): void

Protected getNoteEndTime

  • getNoteEndTime(note: INote): number

Protected getNotePosition

  • getNotePosition(note: INote, noteIndex: number): { h: number; w: number; x: number; y: number }

Protected getNoteStartTime

  • getNoteStartTime(note: INote): number

Protected getSize

  • getSize(): { height: number; width: number }

Protected isPaintingActiveNote

  • isPaintingActiveNote(note: INote, playedNote: INote): boolean

redraw

  • redraw(activeNote?: INote, scrollIntoView?: boolean): number
  • Redraws the entire note sequence if it hasn't been drawn before, optionally painting a note as active

    Parameters

    • Optional activeNote: INote

      (Optional) If specified, this Note will be painted in the active color.

    • Optional scrollIntoView: boolean

      (Optional) If specified and the note being painted is offscreen, the parent container will be scrolled so that the note is in view.

    Returns number

    The x position of the painted active note. Useful for automatically advancing the visualization if the note was painted outside of the screen.

Protected scrollIntoViewIfNeeded

  • scrollIntoViewIfNeeded(scrollIntoView: boolean, activeNotePosition: number): void

Protected unfillActiveRect

  • unfillActiveRect(svg: SVGSVGElement): void

Protected updateMinMaxPitches

  • updateMinMaxPitches(noExtraPadding?: boolean): void

Generated using TypeDoc