UNPKG

webdaw-modules

Version:

a set of modules for building a web-based DAW

42 lines (36 loc) 896 B
import { TimeSignatureEvent } from "../../MIDIEvent"; export const getSignature = ( xmlDoc: XMLDocument, measureNode: Node, nsResolver: XPathNSResolver ): TimeSignatureEvent | null => { const numerator = xmlDoc.evaluate( "attributes/time/beats", measureNode, nsResolver, XPathResult.NUMBER_TYPE, null ).numberValue; const denominator = xmlDoc.evaluate( "attributes/time/beat-type", measureNode, nsResolver, XPathResult.NUMBER_TYPE, null ).numberValue; // console.log(numerator, denominator); if (numerator && denominator) { const event: TimeSignatureEvent = { type: 0xff, subType: 0x58, descr: "time signature", numerator, denominator, metronome: 0, // @TODO: calculate this thirtySeconds: 0, ticks: -1, // will be set in mxml_parser }; return event; } return null; };