UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

236 lines (235 loc) 12.3 kB
/** * @file This file contains **mutable** context objects that are used during parsing. * * When parsing, parent contexts may need to drill state to a distant descendant. Conversely, a child context may need * to communicate state to a distant ancestor. Separate context objects are used to avoid passing state through many * layers and to avoid tight coupling between the main parsing classes. * * NOTE: This code must **not** depend on any other parsing code because it will create an undesireble dependency graph. */ import * as data from '../../data'; import { Signature } from './signature'; import { Key } from './key'; import { Time } from './time'; import { IdProvider } from './idprovider'; export declare class ScoreContext { private idProvider; private multiRestCounts; private curves; private curveIds; private wedges; private wedgeStatuses; private pedals; private pedalStatuses; private octaveShifts; private octaveShiftStatuses; private vibratos; private vibratoStatuses; constructor(idProvider: IdProvider); nextId(): string; getMultiRestCount(partId: string, staveNumber: number | null): number; incrementMultiRestCount(partId: string, staveNumber: number | null, count: number): void; decrementMultiRestCounts(): void; getCurves(): data.Curve[]; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; getWedges(): data.Wedge[]; beginWedge(partId: string, staveNumber: number, wedgeType: data.WedgeType, placement: data.WedgePlacement): string; continueOpenWedge(partId: string, staveNumber: number): string | null; closeWedge(partId: string, staveNumber: number): void; getPedals(): data.Pedal[]; beginPedal(partId: string, pedalType: data.PedalType): string; continueOpenPedal(partId: string): data.PedalMark | null; primeNextPedalMark(partId: string, pedalMarkType: data.PedalMarkType): void; closePedal(partId: string): void; getOctaveShifts(): data.OctaveShift[]; beginOctaveShift(partId: string, staveNumber: number, size: number): string; continueOpenOctaveShift(partId: string, staveNumber: number): string | null; closeOctaveShift(partId: string, staveNumber: number): void; getVibratos(): data.Vibrato[]; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class SystemContext { private score; constructor(score: ScoreContext); nextId(): string; getMultiRestCount(partId: string, staveNumber: number | null): number; incrementMultiRestCount(partId: string, staveNumber: number | null, count: number): void; decrementMultiRestCounts(): void; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginWedge(partId: string, staveNumber: number, wedgeType: data.WedgeType, placement: data.WedgePlacement): string; continueOpenWedge(partId: string, staveNumber: number): string | null; closeWedge(partId: string, staveNumber: number): void; beginPedal(partId: string, pedalType: data.PedalType): string; continueOpenPedal(partId: string): data.PedalMark | null; primeNextPedalMark(partId: string, pedalMarkType: data.PedalMarkType): void; closePedal(partId: string): void; beginOctaveShift(partId: string, staveNumber: number, size: number): string; continueOpenOctaveShift(partId: string, staveNumber: number): string | null; closeOctaveShift(partId: string, staveNumber: number): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class MeasureContext { private system; private index; private accidentals; constructor(system: SystemContext, index: number); nextId(): string; getIndex(): number; getActiveAccidental(partId: string, pitch: string, octave: number): data.AccidentalCode | null; setActiveAccidental(partId: string, pitch: string, octave: number, accidental: data.AccidentalCode): void; getMultiRestCount(partId: string, staveNumber: number): number; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginWedge(partId: string, staveNumber: number, wedgeType: data.WedgeType, placement: data.WedgePlacement): string; continueOpenWedge(partId: string, staveNumber: number): string | null; closeWedge(partId: string, staveNumber: number): void; beginPedal(partId: string, pedalType: data.PedalType): string; continueOpenPedal(partId: string): data.PedalMark | null; primeNextPedalMark(partId: string, pedalMarkType: data.PedalMarkType): void; closePedal(partId: string): void; beginOctaveShift(partId: string, staveNumber: number, size: number): string; continueOpenOctaveShift(partId: string, staveNumber: number): string | null; closeOctaveShift(partId: string, staveNumber: number): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class FragmentContext { private measure; private signature; constructor(measure: MeasureContext, signature: Signature); nextId(): string; getSignature(): Signature; getActiveAccidental(partId: string, pitch: string, octave: number): data.AccidentalCode | null; setActiveAccidental(partId: string, pitch: string, octave: number, accidental: data.AccidentalCode): void; getMultiRestCount(partId: string, staveNumber: number): number; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginWedge(partId: string, staveNumber: number, wedgeType: data.WedgeType, placement: data.WedgePlacement): string; continueOpenWedge(partId: string, staveNumber: number): string | null; closeWedge(partId: string, staveNumber: number): void; beginPedal(partId: string, pedalType: data.PedalType): string; continueOpenPedal(partId: string): data.PedalMark | null; primeNextPedalMark(partId: string, pedalMarkType: data.PedalMarkType): void; closePedal(partId: string): void; beginOctaveShift(partId: string, staveNumber: number, size: number): string; continueOpenOctaveShift(partId: string, staveNumber: number): string | null; closeOctaveShift(partId: string, staveNumber: number): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class PartContext { private fragment; private id; constructor(fragment: FragmentContext, id: string); nextId(): string; getId(): string; getKey(staveNumber: number): Key; getTime(staveNumber: number): Time; getActiveAccidental(pitch: string, octave: number): data.AccidentalCode | null; setActiveAccidental(pitch: string, octave: number, accidental: data.AccidentalCode): void; getMultiRestCount(staveNumber: number): number; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginWedge(placement: data.WedgePlacement, wedgeType: data.WedgeType, staveNumber: number): string; continueOpenWedge(staveNumber: number): string | null; closeWedge(staveNumber: number): void; beginPedal(pedalType: data.PedalType): string; continueOpenPedal(): data.PedalMark | null; primeNextPedalMark(pedalMarkType: data.PedalMarkType): void; closePedal(): void; beginOctaveShift(staveNumber: number, size: number): string; continueOpenOctaveShift(staveNumber: number): string | null; closeOctaveShift(staveNumber: number): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class StaveContext { private part; private number; constructor(part: PartContext, number: number); nextId(): string; getNumber(): number; getKey(): Key; getTime(): Time; getActiveAccidental(pitch: string, octave: number): data.AccidentalCode | null; setActiveAccidental(pitch: string, octave: number, accidental: data.AccidentalCode): void; getMultiRestCount(): number; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginWedge(placement: data.WedgePlacement, wedgeType: data.WedgeType): string; continueOpenWedge(): string | null; closeWedge(): void; beginPedal(pedalType: data.PedalType): string; continueOpenPedal(): data.PedalMark | null; primeNextPedalMark(pedalMarkType: data.PedalMarkType): void; closePedal(): void; beginOctaveShift(size: number): string; continueOpenOctaveShift(): string | null; closeOctaveShift(): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class VoiceContext { private stave; private id; private beams; private openTuplets; private closedTuplets; constructor(stave: StaveContext, id: string); nextId(): string; getId(): string; getKey(): Key; getTime(): Time; getActiveAccidental(pitch: string, octave: number): data.AccidentalCode | null; setActiveAccidental(pitch: string, octave: number, accidental: data.AccidentalCode): void; getMultiRestCount(): number; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; getBeams(): data.Beam[]; beginBeam(): string; continueBeam(): string | null; getTuplets(): data.Tuplet[]; beginTuplet(number: number, showNumber: boolean, placement: data.TupletPlacement): string; continueOpenTuplets(): string[]; closeTuplet(number: number): string | null; beginWedge(placement: data.WedgePlacement, wedgeType: data.WedgeType): string; continueOpenWedge(): string | null; closeWedge(): void; beginPedal(pedalType: data.PedalType): string; continueOpenPedal(): data.PedalMark | null; primeNextPedalMark(pedalMarkType: data.PedalMarkType): void; closePedal(): void; beginOctaveShift(size: number): string; continueOpenOctaveShift(): string | null; closeOctaveShift(): void; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; } export declare class VoiceEntryContext { private voice; private pitch; private octave; private constructor(); static note(voice: VoiceContext, pitch: string, octave: number): VoiceEntryContext; static rest(voice: VoiceContext): VoiceEntryContext; nextId(): string; getKeyAccidental(): data.AccidentalCode | null; getActiveAccidental(): data.AccidentalCode | null; setActiveAccidental(accidental: data.AccidentalCode): void; beginCurve(curveNumber: number | null, placement: data.CurvePlacement, opening: data.CurveOpening, articulation: data.CurveArticulation): string; continueCurve(curveNumber: number | null): string | null; beginBeam(): string; continueBeam(): string | null; beginTuplet(number: number, showNumber: boolean, placement: data.TupletPlacement): string; continueOpenTuplets(): string[]; closeTuplet(number: number): string | null; continueOpenWedge(): string | null; continueOpenPedal(): data.PedalMark | null; continueOpenOctaveShift(): string | null; beginVibrato(vibratoNumber: number): string; continueVibrato(vibratoNumber: number): string | null; }