musicxml2json-piano
Version:
MusicXML to JSON for piano.
36 lines (35 loc) • 945 B
TypeScript
import { Clef, Dynamics, MeasureXML, Metronome, Note, Time, TimeSignature } from '@/types';
type PropsType = {
dynamics: Dynamics | null;
beats: number;
beatType: number;
beatUnit: number;
bpm: number;
id: string;
isLast: boolean;
speed: number;
staffs: Clef[];
startTime: number;
xmlData: MeasureXML;
};
export default class Measure {
dynamics: Dynamics | null;
id: string;
isLast: boolean;
metronome: Metronome;
number: string;
staffs: Partial<{
[key in Clef]: Note[];
}>;
time: Time | null;
timeSignature: TimeSignature;
private speed;
private startTime;
constructor({ dynamics, id, isLast, beats, beatType, beatUnit, bpm, speed, staffs, startTime, xmlData }: PropsType);
private getNotes;
private addNoteToList;
private getNumber;
private isChord;
private calNoteDuration;
}
export {};