@stringsync/vexml
Version:
MusicXML to Vexflow
78 lines (77 loc) • 2.94 kB
TypeScript
import { Metronome } from './metronome';
import { StaveCount } from './stavecount';
import { StaveLineCount } from './stavelinecount';
import { Clef } from './clef';
import { Key } from './key';
import { Time } from './time';
import { SignatureChange } from './types';
import { FragmentSignature } from './fragmentsignature';
import { PartSignature } from './partsignature';
import { StaveSignature } from './stavesignature';
import { Config } from '../../config';
import { Logger } from '../../debug';
/** Signature tracks how subsignatures evolve as the piece progresses. */
export declare class Signature {
private config;
private log;
private metronome;
private staveCounts;
private staveLineCounts;
private clefs;
private keys;
private times;
private changes;
constructor(config: Config, log: Logger, metronome: Metronome | null, staveCounts: StaveCount[], staveLineCounts: StaveLineCount[], clefs: Clef[], keys: Key[], times: Time[], changes: SignatureChange[]);
static default(config: Config, log: Logger): Signature;
static builder(config: Config, log: Logger): SignatureBuilder;
asFragmentSignature(): FragmentSignature;
asPartSignature(partId: string): PartSignature;
asStaveSignature(partId: string, staveNumber: number): StaveSignature;
getMetronome(): Metronome;
getStaveCount(partId: string): StaveCount;
getStaveCounts(): StaveCount[];
getStaveLineCount(partId: string, staveNumber: number): StaveLineCount;
getStaveLineCounts(): StaveLineCount[];
getClef(partId: string, staveNumber: number): Clef;
getClefs(): Clef[];
getKey(partId: string, staveNumber: number): Key;
getPreviousKey(partId: string, staveNumber: number): Key | null;
getKeys(): Key[];
getTime(partId: string, staveNumber: number): Time;
getTimes(): Time[];
getChanges(): SignatureChange[];
hasChanges(): boolean;
}
declare class SignatureBuilder {
private config;
private log;
private previousSignature;
private metronome;
private staveCounts;
private staveLineCounts;
private clefs;
private keys;
private times;
constructor(config: Config, log: Logger);
setPreviousSignature(signature: Signature): SignatureBuilder;
setMetronome(metronome: Metronome): SignatureBuilder;
addStaveCount(staveCount: StaveCount): SignatureBuilder;
addStaveLineCount(staveLineCount: StaveLineCount): SignatureBuilder;
addKey(key: Key): SignatureBuilder;
addClef(clef: Clef): SignatureBuilder;
addTime(time: Time): SignatureBuilder;
build(): Signature;
private buildMetronome;
private buildStaveCounts;
private buildStaveLineCounts;
private buildClefs;
private buildKeys;
private buildTimes;
private diffMetronome;
private diffStaveCounts;
private diffStaveLineCounts;
private diffClefs;
private diffKeys;
private diffTimes;
}
export {};