UNPKG

vexflow

Version:

A JavaScript library for rendering music notation and guitar tablature.

309 lines (308 loc) 11.3 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { Accidental } from './accidental.js'; import { Annotation, AnnotationHorizontalJustify, AnnotationVerticalJustify } from './annotation.js'; import { Articulation } from './articulation.js'; import { BarNote } from './barnote.js'; import { Beam } from './beam.js'; import { Bend } from './bend.js'; import { BoundingBox } from './boundingbox.js'; import { CanvasContext } from './canvascontext.js'; import { ChordSymbol, ChordSymbolHorizontalJustify, ChordSymbolVerticalJustify, SymbolModifiers } from './chordsymbol.js'; import { Clef } from './clef.js'; import { ClefNote } from './clefnote.js'; import { Crescendo } from './crescendo.js'; import { Curve, CurvePosition } from './curve.js'; import { Dot } from './dot.js'; import { EasyScore } from './easyscore.js'; import { Element } from './element.js'; import { Factory } from './factory.js'; import { Font, FontStyle, FontWeight } from './font.js'; import { Formatter } from './formatter.js'; import { Fraction } from './fraction.js'; import { FretHandFinger } from './frethandfinger.js'; import { GhostNote } from './ghostnote.js'; import { GlyphNote } from './glyphnote.js'; import { Glyphs } from './glyphs.js'; import { GraceNote } from './gracenote.js'; import { GraceNoteGroup } from './gracenotegroup.js'; import { GraceTabNote } from './gracetabnote.js'; import { KeyManager } from './keymanager.js'; import { KeySignature } from './keysignature.js'; import { KeySigNote } from './keysignote.js'; import { Metrics, MetricsDefaults } from './metrics.js'; import { Modifier, ModifierPosition } from './modifier.js'; import { ModifierContext } from './modifiercontext.js'; import { MultiMeasureRest } from './multimeasurerest.js'; import { Music } from './music.js'; import { Note } from './note.js'; import { NoteHead } from './notehead.js'; import { NoteSubGroup } from './notesubgroup.js'; import { Ornament } from './ornament.js'; import { Parenthesis } from './parenthesis.js'; import { Parser } from './parser.js'; import { PedalMarking } from './pedalmarking.js'; import { Registry } from './registry.js'; import { RenderContext } from './rendercontext.js'; import { Renderer, RendererBackends, RendererLineEndType } from './renderer.js'; import { RepeatNote } from './repeatnote.js'; import { Stave } from './stave.js'; import { Barline, BarlineType } from './stavebarline.js'; import { StaveConnector } from './staveconnector.js'; import { StaveHairpin } from './stavehairpin.js'; import { StaveLine } from './staveline.js'; import { StaveModifier, StaveModifierPosition } from './stavemodifier.js'; import { StaveNote } from './stavenote.js'; import { Repetition } from './staverepetition.js'; import { StaveTempo } from './stavetempo.js'; import { StaveText } from './stavetext.js'; import { StaveTie } from './stavetie.js'; import { Volta, VoltaType } from './stavevolta.js'; import { Stem } from './stem.js'; import { StringNumber } from './stringnumber.js'; import { Stroke } from './strokes.js'; import { SVGContext } from './svgcontext.js'; import { System } from './system.js'; import { Tables } from './tables.js'; import { TabNote } from './tabnote.js'; import { TabSlide } from './tabslide.js'; import { TabStave } from './tabstave.js'; import { TabTie } from './tabtie.js'; import { TextBracket, TextBracketPosition } from './textbracket.js'; import { TextDynamics } from './textdynamics.js'; import { TextJustification, TextNote } from './textnote.js'; import { TickContext } from './tickcontext.js'; import { TimeSignature } from './timesignature.js'; import { TimeSigNote } from './timesignote.js'; import { Tremolo } from './tremolo.js'; import { Tuning } from './tuning.js'; import { Tuplet } from './tuplet.js'; import { RuntimeError } from './util.js'; import { DATE, ID, VERSION } from './version.js'; import { Vibrato } from './vibrato.js'; import { VibratoBracket } from './vibratobracket.js'; import { Voice, VoiceMode } from './voice.js'; export class VexFlow { static loadFonts(...fontNames) { return __awaiter(this, void 0, void 0, function* () { if (!fontNames) { fontNames = Object.keys(Font.FILES); } const fontLoadPromises = []; for (const fontName of fontNames) { fontLoadPromises.push(Font.load(fontName)); } yield Promise.all(fontLoadPromises); }); } static setFonts(...fontNames) { MetricsDefaults.fontFamily = fontNames.join(','); Metrics.clear(); } static getFonts() { return Metrics.get('fontFamily').split(','); } static get RENDER_PRECISION_PLACES() { return Tables.RENDER_PRECISION_PLACES; } static set RENDER_PRECISION_PLACES(precision) { Tables.RENDER_PRECISION_PLACES = precision; } static get SOFTMAX_FACTOR() { return Tables.SOFTMAX_FACTOR; } static set SOFTMAX_FACTOR(factor) { Tables.SOFTMAX_FACTOR = factor; } static get UNISON() { return Tables.UNISON; } static set UNISON(unison) { Tables.UNISON = unison; } static get NOTATION_FONT_SCALE() { return Tables.NOTATION_FONT_SCALE; } static set NOTATION_FONT_SCALE(value) { Tables.NOTATION_FONT_SCALE = value; } static get TABLATURE_FONT_SCALE() { return Tables.TABLATURE_FONT_SCALE; } static set TABLATURE_FONT_SCALE(value) { Tables.TABLATURE_FONT_SCALE = value; } static get RESOLUTION() { return Tables.RESOLUTION; } static set RESOLUTION(value) { Tables.RESOLUTION = value; } static get SLASH_NOTEHEAD_WIDTH() { return Tables.SLASH_NOTEHEAD_WIDTH; } static set SLASH_NOTEHEAD_WIDTH(value) { Tables.SLASH_NOTEHEAD_WIDTH = value; } static get STAVE_LINE_DISTANCE() { return Tables.STAVE_LINE_DISTANCE; } static set STAVE_LINE_DISTANCE(value) { Tables.STAVE_LINE_DISTANCE = value; } static get STAVE_LINE_THICKNESS() { return MetricsDefaults.Stave.lineWidth; } static set STAVE_LINE_THICKNESS(value) { MetricsDefaults.Stave.lineWidth = value; MetricsDefaults.TabStave.lineWidth = value; Metrics.clear('Stave'); Metrics.clear('TabStave'); } static get STEM_HEIGHT() { return Tables.STEM_HEIGHT; } static set STEM_HEIGHT(value) { Tables.STEM_HEIGHT = value; } static get STEM_WIDTH() { return Tables.STEM_WIDTH; } static set STEM_WIDTH(value) { Tables.STEM_WIDTH = value; } static get TIME4_4() { return Tables.TIME4_4; } static get unicode() { return Tables.unicode; } static keySignature(spec) { return Tables.keySignature(spec); } static hasKeySignature(spec) { return Tables.hasKeySignature(spec); } static getKeySignatures() { return Tables.getKeySignatures(); } static clefProperties(clef) { return Tables.clefProperties(clef); } static keyProperties(key, clef, params) { return Tables.keyProperties(key, clef, params); } static durationToTicks(duration) { return Tables.durationToTicks(duration); } } VexFlow.BUILD = { VERSION: VERSION, ID: ID, DATE: DATE, INFO: '', }; VexFlow.Accidental = Accidental; VexFlow.Annotation = Annotation; VexFlow.Articulation = Articulation; VexFlow.Barline = Barline; VexFlow.BarNote = BarNote; VexFlow.Beam = Beam; VexFlow.Bend = Bend; VexFlow.BoundingBox = BoundingBox; VexFlow.CanvasContext = CanvasContext; VexFlow.ChordSymbol = ChordSymbol; VexFlow.Clef = Clef; VexFlow.ClefNote = ClefNote; VexFlow.Crescendo = Crescendo; VexFlow.Curve = Curve; VexFlow.Dot = Dot; VexFlow.EasyScore = EasyScore; VexFlow.Element = Element; VexFlow.Factory = Factory; VexFlow.Font = Font; VexFlow.Formatter = Formatter; VexFlow.Fraction = Fraction; VexFlow.FretHandFinger = FretHandFinger; VexFlow.GhostNote = GhostNote; VexFlow.GlyphNote = GlyphNote; VexFlow.GraceNote = GraceNote; VexFlow.GraceNoteGroup = GraceNoteGroup; VexFlow.GraceTabNote = GraceTabNote; VexFlow.KeyManager = KeyManager; VexFlow.KeySignature = KeySignature; VexFlow.KeySigNote = KeySigNote; VexFlow.Modifier = Modifier; VexFlow.ModifierContext = ModifierContext; VexFlow.MultiMeasureRest = MultiMeasureRest; VexFlow.Music = Music; VexFlow.Note = Note; VexFlow.NoteHead = NoteHead; VexFlow.NoteSubGroup = NoteSubGroup; VexFlow.Ornament = Ornament; VexFlow.Parenthesis = Parenthesis; VexFlow.Parser = Parser; VexFlow.PedalMarking = PedalMarking; VexFlow.Registry = Registry; VexFlow.RenderContext = RenderContext; VexFlow.Renderer = Renderer; VexFlow.RepeatNote = RepeatNote; VexFlow.Repetition = Repetition; VexFlow.Stave = Stave; VexFlow.StaveConnector = StaveConnector; VexFlow.StaveHairpin = StaveHairpin; VexFlow.StaveLine = StaveLine; VexFlow.StaveModifier = StaveModifier; VexFlow.StaveNote = StaveNote; VexFlow.StaveTempo = StaveTempo; VexFlow.StaveText = StaveText; VexFlow.StaveTie = StaveTie; VexFlow.Stem = Stem; VexFlow.StringNumber = StringNumber; VexFlow.Stroke = Stroke; VexFlow.SVGContext = SVGContext; VexFlow.System = System; VexFlow.TabNote = TabNote; VexFlow.TabSlide = TabSlide; VexFlow.TabStave = TabStave; VexFlow.TabTie = TabTie; VexFlow.TextBracket = TextBracket; VexFlow.TextDynamics = TextDynamics; VexFlow.TextNote = TextNote; VexFlow.TickContext = TickContext; VexFlow.TimeSignature = TimeSignature; VexFlow.TimeSigNote = TimeSigNote; VexFlow.Tremolo = Tremolo; VexFlow.Tuning = Tuning; VexFlow.Tuplet = Tuplet; VexFlow.Vibrato = Vibrato; VexFlow.VibratoBracket = VibratoBracket; VexFlow.Voice = Voice; VexFlow.Volta = Volta; VexFlow.RuntimeError = RuntimeError; VexFlow.Test = undefined; VexFlow.AnnotationHorizontalJustify = AnnotationHorizontalJustify; VexFlow.AnnotationVerticalJustify = AnnotationVerticalJustify; VexFlow.ChordSymbolHorizontalJustify = ChordSymbolHorizontalJustify; VexFlow.ChordSymbolVerticalJustify = ChordSymbolVerticalJustify; VexFlow.SymbolModifiers = SymbolModifiers; VexFlow.CurvePosition = CurvePosition; VexFlow.FontWeight = FontWeight; VexFlow.FontStyle = FontStyle; VexFlow.Glyphs = Glyphs; VexFlow.ModifierPosition = ModifierPosition; VexFlow.RendererBackends = RendererBackends; VexFlow.RendererLineEndType = RendererLineEndType; VexFlow.BarlineType = BarlineType; VexFlow.StaveModifierPosition = StaveModifierPosition; VexFlow.VoltaType = VoltaType; VexFlow.TextBracketPosition = TextBracketPosition; VexFlow.TextJustification = TextJustification; VexFlow.VoiceMode = VoiceMode;