Spaces:
Sleeping
Sleeping
| {"remainingRequest":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js!/home/camus/work/lotus/node_modules/ts-loader/index.js??ref--15-2!/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/staffSvg/staffToken.ts","dependencies":[{"path":"/home/camus/work/lotus/inc/staffSvg/staffToken.ts","mtime":1732184618441},{"path":"/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js","mtime":1719800821084},{"path":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js","mtime":1727163989637},{"path":"/home/camus/work/lotus/node_modules/ts-loader/index.js","mtime":1726221607070},{"path":"/home/camus/work/lotus/node_modules/eslint-loader/index.js","mtime":1719800837044}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgY29uc3RhbnRzLCByb3VuZE51bWJlciB9IGZyb20gIi4vdXRpbHMiOwppbXBvcnQgeyBzbGFzaEdseXBoTmFtZSwgR2x5cGhVbmljb2RlIH0gZnJvbSAiLi9nbHlwaCI7CmltcG9ydCBwaWNrIGZyb20gIi4uL3BpY2siOwpleHBvcnQgZGVmYXVsdCBjbGFzcyBTdGFmZlRva2VuIHsKICBjb25zdHJ1Y3RvcihkYXRhKSB7CiAgICB0aGlzLnN5bWJvbHMgPSBuZXcgU2V0KCk7CiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpOwogICAgaWYgKHRoaXMuc3ltYm9sKSB0aGlzLnN5bWJvbC5zcGxpdCgiICIpLmZvckVhY2goc3ltYm9sID0+IHRoaXMuc3ltYm9scy5hZGQoc3ltYm9sKSk7CiAgfQogIHRvSlNPTigpIHsKICAgIGNvbnN0IHggPSByb3VuZE51bWJlcih0aGlzLngsIDFlLTQpOwogICAgY29uc3QgeSA9IHJvdW5kTnVtYmVyKHRoaXMueSwgMWUtNCk7CiAgICByZXR1cm4gewogICAgICBfX3Byb3RvdHlwZTogIlN0YWZmVG9rZW4iLAogICAgICB4LAogICAgICB5LAogICAgICAuLi5waWNrKHRoaXMsIFsiaW5kZXgiLCAicngiLCAicnkiLCAic3ciLCAic3RhcnQiLCAidGFyZ2V0IiwgInNvdXJjZSIsICJ0aWVkIiwgInN5bWJvbCIsICJoYXNoIiwgImhyZWYiLCAic2NhbGUiLCAic2NhbGVYIiwgIndpZHRoIiwgImhlaWdodCIsICJ0ZXh0IiwgInN0ZW1YIiwgInN0ZW1VcCIsICJ0cmFjayIsICJ0aWNrIiwgInBpdGNoIiwgImdseXBoIiwgInN0ZW1zIiwgInN0ZW0iLCAiYmVhbSIsICJkaXZpc2lvbiJdKQogICAgfTsKICB9CiAgLy8gREVQUkVDQVRFRAogIGdldCByb3coKSB7CiAgICByZXR1cm4gdGhpcy5zeXN0ZW07CiAgfQogIHNldCByb3codmFsdWUpIHsKICAgIHRoaXMuc3lzdGVtID0gdmFsdWU7CiAgfQogIGdldCBzY2FsZTIoKSB7CiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh0aGlzLnNjYWxlKSkgcmV0dXJuIG51bGw7CiAgICByZXR1cm4gewogICAgICB4OiB0aGlzLnNjYWxlICogKHRoaXMuc2NhbGVYIHx8IDEpLAogICAgICB5OiB0aGlzLnNjYWxlCiAgICB9OwogIH0KICBpcyhzeW1ib2wpIHsKICAgIGNvbnN0IHF1ZXJpZXMgPSBzeW1ib2wuc3BsaXQoIiAiKTsKICAgIHJldHVybiBxdWVyaWVzLmV2ZXJ5KHF1ZXJ5ID0+IHRoaXMuc3ltYm9scy5oYXMocXVlcnkpKTsKICB9CiAgYWRkU3ltYm9sKC4uLnN5bWJvbHMpIHsKICAgIHN5bWJvbHMuZm9yRWFjaChzeW1ib2wgPT4gdGhpcy5zeW1ib2xzLmFkZChzeW1ib2wpKTsKICAgIHRoaXMuc3ltYm9sID0gQXJyYXkuZnJvbSh0aGlzLnN5bWJvbHMpLmpvaW4oIiAiKTsKICB9CiAgcmVtb3ZlU3ltYm9sKHN5bWJvbCkgewogICAgdGhpcy5zeW1ib2xzLmRlbGV0ZShzeW1ib2wpOwogICAgdGhpcy5zeW1ib2wgPSBBcnJheS5mcm9tKHRoaXMuc3ltYm9scykuam9pbigiICIpOwogIH0KICB0cmFuc2xhdGUob3B0aW9ucykgewogICAgY29uc3QgZGF0YSA9IHsKICAgICAgLi4udGhpcwogICAgfTsKICAgIGlmIChvcHRpb25zLngpIHsKICAgICAgZGF0YS54ICs9IG9wdGlvbnMueDsKICAgICAgZGF0YS5yeCArPSBvcHRpb25zLng7CiAgICB9CiAgICBpZiAob3B0aW9ucy55KSB7CiAgICAgIGRhdGEueSArPSBvcHRpb25zLnk7CiAgICAgIGRhdGEucnkgKz0gb3B0aW9ucy55OwogICAgfQogICAgcmV0dXJuIG5ldyBTdGFmZlRva2VuKGRhdGEpOwogIH0KICBnZXQgbG9naWNYKCkgewogICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0aGlzLnN0ZW1YKSA/IHRoaXMuc3RlbVggOiB0aGlzLng7CiAgfQogIC8vIHRvIGFzc2lzdCBzdGF2ZXMgc3BsaXR0aW5nCiAgZ2V0IGxvZ2ljT2Zmc2V0WSgpIHsKICAgIGlmICh0aGlzLmlzKCJPQ1RBVkUgQSIpKSByZXR1cm4gNDsKICAgIGlmICh0aGlzLmlzKCJPQ1RBVkUgQiIpKSByZXR1cm4gLTQ7CiAgICBpZiAodGhpcy5pcygiT0NUQVZFIENMT1NFIFVQIikpIHJldHVybiA0OwogICAgaWYgKHRoaXMuaXMoIk9DVEFWRSBDTE9TRSBET1dOIikpIHJldHVybiAtNDsKICAgIGlmICh0aGlzLmlzKCJBVFRBQ0hFRCBVUCIpKSByZXR1cm4gMS41O2Vsc2UgaWYgKHRoaXMuaXMoIkFUVEFDSEVEIERPV04iKSkgcmV0dXJuIC0xLjU7CiAgICBpZiAodGhpcy5pcygiTk9URVRBSUwgVVAiKSkgcmV0dXJuIDI7ZWxzZSBpZiAodGhpcy5pcygiTk9URVRBSUwgRE9XTiIpKSByZXR1cm4gLTI7CiAgICBpZiAodGhpcy5pcygiTk9URV9TVEVNIikpIHJldHVybiB0aGlzLmhlaWdodCAvIDI7CiAgICBpZiAodGhpcy5pcygiTFlSSUNfVEVYVCIpKSByZXR1cm4gLTQ7CiAgICBsZXQgZHkgPSAwOwogICAgaWYgKHRoaXMuaXMoIldFREdFIERFQ1JFU0NFTkRPIikpIGR5ID0gdGhpcy50YXJnZXQueTsKICAgIC8qaWYgKHRoaXMuaXMoIldFREdFIikpIHsKICAgICAgICBpZiAodGhpcy5pcygiQ1JFU0NFTkRPIikpCiAgICAgICAgICAgIGR5ID0gLU1hdGguYWJzKHRoaXMudGFyZ2V0LnkpOwogICAgICAgIGVsc2UgaWYgKHRoaXMuaXMoIkRFQ1JFU0NFTkRPIEJPVFRPTSIpKQogICAgICAgICAgICBkeSA9IHRoaXMudGFyZ2V0LnkgKiAyOwogICAgfSovCiAgICBpZiAodGhpcy5zb3VyY2UpIHsKICAgICAgaWYgKC9eXF4vLnRlc3QodGhpcy5zb3VyY2UpKSBkeSArPSAyOwogICAgICBpZiAoL15fLy50ZXN0KHRoaXMuc291cmNlKSkgZHkgLT0gMjsKICAgIH0KICAgIGlmICh0aGlzLmlzKCJTVVNUQUlOIikpIHJldHVybiAtNDsKICAgIHJldHVybiBkeTsKICB9CiAgZ2V0IHdpdGhVcCgpIHsKICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiAvXlxeLy50ZXN0KHRoaXMuc291cmNlKTsKICB9CiAgZ2V0IHdpdGhEb3duKCkgewogICAgcmV0dXJuIHRoaXMuc291cmNlICYmIC9eXy8udGVzdCh0aGlzLnNvdXJjZSkgfHwgdGhpcy5pcygiTFlSSUNfVEVYVCIpOwogIH0KICBnZXQgdG9wQXRTeXN0ZW0oKSB7CiAgICByZXR1cm4gdGhpcy5pcygiT0NUQVZFIEEiKSB8fCB0aGlzLmlzKCJDSE9SRF9URVhUIikgfHwgdGhpcy5pcygiUkVQRUFUX1NJR04gU0VHTk8iKSB8fCB0aGlzLmlzKCJSRVBFQVRfU0lHTiBDT0RBIikgfHwgdGhpcy5pcygiVEVNUE9fTk9URUhFQUQiKSB8fCB0aGlzLmlzKCJURU1QT19OT1RFX1NURU0iKTsKICB9CiAgZ2V0IGxvZ2ljWSgpIHsKICAgIHJldHVybiB0aGlzLnkgKyB0aGlzLmxvZ2ljT2Zmc2V0WTsKICB9CiAgZ2V0IGNlbnRlclgoKSB7CiAgICByZXR1cm4gdGhpcy54ICsgKE51bWJlci5pc0Zpbml0ZSh0aGlzLndpZHRoKSA/IHRoaXMud2lkdGggLyAyIDogMCk7CiAgfQogIGdldCBjbGFzc2VzKCkgewogICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zeW1ib2xzKS5tYXAocyA9PiBzLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCAiLSIpKS5qb2luKCIgIik7CiAgfQogIGdldCBhbHRlclZhbHVlKCkgewogICAgaWYgKHRoaXMuaXMoIk5BVFVSQUwiKSkgcmV0dXJuIDA7CiAgICBpZiAodGhpcy5pcygiU0hBUlAiKSkgcmV0dXJuIDE7CiAgICBpZiAodGhpcy5pcygiU0hBUlBTSEFSUCIpKSByZXR1cm4gMjsKICAgIGlmICh0aGlzLmlzKCJGTEFUIikpIHJldHVybiAtMTsKICAgIGlmICh0aGlzLmlzKCJGTEFURkxBVCIpKSByZXR1cm4gLTI7CiAgICByZXR1cm4gbnVsbDsKICB9CiAgZ2V0IGNsZWZWYWx1ZSgpIHsKICAgIGlmICh0aGlzLmlzKCJUUkVCTEUiKSkgcmV0dXJuIDQ7CiAgICBpZiAodGhpcy5pcygiQkFTUyIpKSByZXR1cm4gLTQ7CiAgICBpZiAodGhpcy5pcygiQUxUTyIpKSByZXR1cm4gMDsKICAgIHJldHVybiBudWxsOwogIH0KICBnZXQgb2N0YXZlU2hpZnRWYWx1ZSgpIHsKICAgIGlmICh0aGlzLmlzKCJBIikpIHJldHVybiB0aGlzLmlzKCJfMTUiKSA/IC0yIDogLTE7CiAgICBpZiAodGhpcy5pcygiQiIpKSByZXR1cm4gdGhpcy5pcygiXzE1IikgPyAyIDogMTsKICAgIGlmICh0aGlzLmlzKCJDTE9TRSIpKSByZXR1cm4gMDsKICAgIHJldHVybiBudWxsOwogIH0KICBnZXQgdGltZVNpZ25hdHVyZVZhbHVlKCkgewogICAgaWYgKHRoaXMuaXMoIkNVVF9DIikpIHJldHVybiAyOwogICAgaWYgKHRoaXMuaXMoIkMiKSkgcmV0dXJuIDQ7CiAgICBjb25zdCBudW1iZXJzID0gQXJyYXkoOSkuZmlsbChudWxsKS5tYXAoKF8sIGkpID0+IGkgKyAxKTsKICAgIGZvciAoY29uc3QgbiBvZiBudW1iZXJzKSB7CiAgICAgIGlmICh0aGlzLmlzKG4udG9TdHJpbmcoKSkpIHJldHVybiBuOwogICAgfQogICAgLy8gVE9ETzogbWF5YmUgc29tZSBzaW5nbGUgdmFsdWUgY2FuIGJlIGdyZWF0ZXIgdGhhbiAxMD8KICAgIHJldHVybiBudWxsOwogIH0KICBnZXQgc291cmNlUG9zaXRpb24oKSB7CiAgICBpZiAoIXRoaXMuaHJlZikgcmV0dXJuIG51bGw7CiAgICBjb25zdCBbbGluZSwgc3RhcnQsIGVuZF0gPSB0aGlzLmhyZWYubWF0Y2goL1xkKy9nKS5tYXAoTnVtYmVyKTsKICAgIHJldHVybiB7CiAgICAgIGxpbmUsCiAgICAgIHN0YXJ0LAogICAgICBlbmQKICAgIH07CiAgfQogIGdldCBzb3VyY2VQcm9ncmVzcygpIHsKICAgIGlmICghdGhpcy5zb3VyY2VQb3NpdGlvbikgcmV0dXJuIDA7CiAgICBjb25zdCB7CiAgICAgIGxpbmUsCiAgICAgIHN0YXJ0CiAgICB9ID0gdGhpcy5zb3VyY2VQb3NpdGlvbjsKICAgIHJldHVybiBsaW5lICsgc3RhcnQgKiAxZS00OwogIH0KICBnZXQgZ2x5cGhDbGFzcygpIHsKICAgIHJldHVybiBzbGFzaEdseXBoTmFtZSh0aGlzLmdseXBoKTsKICB9CiAgZ2V0IGZvbnRVbmljb2RlKCkgewogICAgcmV0dXJuIEdseXBoVW5pY29kZVt0aGlzLmdseXBoXTsKICB9CiAgZ2V0IG5vdGVUeXBlKCkgewogICAgaWYgKHRoaXMuaXMoIkRJQU1PTkQiKSkgcmV0dXJuIDQ7CiAgICBpZiAodGhpcy5pcygiV0hPTEUiKSkgcmV0dXJuIDA7ZWxzZSBpZiAodGhpcy5pcygiSEFMRiIpKSByZXR1cm4gMTtlbHNlIGlmICh0aGlzLmlzKCJTT0xJRCIpKSByZXR1cm4gMjtlbHNlIGlmICh0aGlzLmlzKCJDUk9TUyIpKSByZXR1cm4gMzsKICB9CiAgZ2V0IGZsYWdOdW1iZXIoKSB7CiAgICBpZiAodGhpcy5nbHlwaCkgcmV0dXJuIE51bWJlcih0aGlzLmdseXBoLm1hdGNoKC9cZCsvKVswXSk7CiAgICBpZiAodGhpcy5pcygiRUlHSFRIIikpIHJldHVybiAzOwogICAgaWYgKHRoaXMuaXMoIlNJWFRFRU5USCIpKSByZXR1cm4gNDsKICAgIGlmICh0aGlzLmlzKCJUSElSVFlTRUNPTkQiKSkgcmV0dXJuIDU7CiAgICBpZiAodGhpcy5pcygiU0lYVFlGT1VSVEgiKSkgcmV0dXJuIDY7CiAgICBpZiAodGhpcy5pcygiSFVORFJFRFRXRU5UWUVJR0hUSCIpKSByZXR1cm4gNzsKICAgIGlmICh0aGlzLmlzKCJUV09IVU5EUkVEU0ZJRlRZU0lYVEgiKSkgcmV0dXJuIDg7CiAgICByZXR1cm4gbnVsbDsKICB9CiAgLy8gREVQUkVDQVRFRAogIGdldCBtdXNpY0ZvbnROb3RlT2Zmc2V0KCkgewogICAgcmV0dXJuIGNvbnN0YW50cy5NVVNJQ19GT05UX05PVEVfT0ZGU0VUU1t0aGlzLm5vdGVUeXBlXTsKICB9CiAgc3RlbUF0dGFjaGVkKHsKICAgIHgsCiAgICB5LAogICAgaHJlZgogIH0pIHsKICAgIGlmICghdGhpcy5pcygiTk9URV9TVEVNIikpIHJldHVybiBudWxsOwogICAgY29uc3QgY3ggPSB0aGlzLnggKyB0aGlzLndpZHRoIC8gMjsKICAgIGlmIChNYXRoLmFicyh4IC0gY3gpID4gMC4xKSByZXR1cm4gZmFsc2U7CiAgICBjb25zdCB0b3AgPSB0aGlzLnkgLSAwLjI7CiAgICBjb25zdCBib3R0b20gPSB0aGlzLnkgKyB0aGlzLmhlaWdodCArIDAuMjsKICAgIGNvbnN0IGF0dGFjaGVkID0geSA+IHRvcCAmJiB5IDwgYm90dG9tOwogICAgaWYgKCFhdHRhY2hlZCkgewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHggLSBjeCkgKyBNYXRoLm1pbihNYXRoLmFicyh5IC0gdG9wKSwgTWF0aC5hYnMoeSAtIGJvdHRvbSkpOwogICAgICBpZiAoZGlzdGFuY2UgPCAwLjE4KSBjb25zb2xlLndhcm4oInVuYXR0YWNoZWQgbmVhcmJ5IHBvaW50OiIsIGhyZWYsIHggLSBjeCwgeSAtIHRvcCwgeSAtIGJvdHRvbSk7CiAgICB9CiAgICByZXR1cm4gYXR0YWNoZWQ7CiAgfQogIC8vIHVwOiAxLCBkb3duOiAtMQogIGdldCBkaXJlY3Rpb24oKSB7CiAgICBpZiAodHlwZW9mIHRoaXMuc3RlbVVwID09PSAiYm9vbGVhbiIpIHJldHVybiB0aGlzLnN0ZW1VcCA/IDEgOiAtMTsKICAgIGlmICh0aGlzLmlzKCJVUCIpKSByZXR1cm4gMTsKICAgIGlmICh0aGlzLmlzKCJET1dOIikpIHJldHVybiAtMTsKICAgIHJldHVybiAwOwogIH0KfQo7"},{"version":3,"names":["constants","roundNumber","slashGlyphName","GlyphUnicode","pick","StaffToken","constructor","data","symbols","Set","Object","assign","symbol","split","forEach","add","toJSON","x","y","__prototype","row","system","value","scale2","Number","isFinite","scale","scaleX","is","queries","every","query","has","addSymbol","Array","from","join","removeSymbol","delete","translate","options","rx","ry","logicX","stemX","logicOffsetY","height","dy","target","source","test","withUp","withDown","topAtSystem","logicY","centerX","width","classes","map","s","toLowerCase","replace","alterValue","clefValue","octaveShiftValue","timeSignatureValue","numbers","fill","_","i","n","toString","sourcePosition","href","line","start","end","match","sourceProgress","glyphClass","glyph","fontUnicode","noteType","flagNumber","musicFontNoteOffset","MUSIC_FONT_NOTE_OFFSETS","stemAttached","cx","Math","abs","top","bottom","attached","distance","min","console","warn","direction","stemUp"],"sources":["/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/staffSvg/staffToken.ts"],"sourcesContent":["\nimport {constants, roundNumber} from \"./utils\";\nimport {Glyph, slashGlyphName, GlyphUnicode} from \"./glyph\";\nimport pick from \"../pick\";\n\n\n\ntype Point2 = {x: number, y: number};\n\n\n\nexport default class StaffToken {\n\tindex: number;\t// the token index in page\n\n\tx: number;\n\ty: number;\n\trx: number;\n\try: number;\n\tsw: number;\n\tsymbol: string;\n\tsymbols: Set<string> = new Set();\n\thash: string;\n\thref: string;\n\tscale?: number;\n\tscaleX?: number;\n\twidth?: number;\n\theight?: number;\n\ttext?: string;\n\tstart?: Point2;\n\ttarget?: Point2;\n\tsource?: string;\n\ttied?: boolean;\n\tstemX?: number;\n\tstemUp?: boolean;\n\ttrack?: number;\n\ttick?: number;\n\tpitch?: number;\n\tglyph?: Glyph;\n\tstems?: number[];\t// array of stem token's index (for notehead & beam)\n\tstem?: number;\t// stem token's index (for flags)\n\tbeam?: number;\t// joint capital beam token's index\n\tdivision?: number;\t// stem flag counts + 2\n\n\tsystem?: number;\n\tmeasure?: number;\n\tendX?: number;\n\n\n\tconstructor (data) {\n\t\tObject.assign(this, data);\n\n\t\tif (this.symbol)\n\t\t\tthis.symbol.split(\" \").forEach(symbol => this.symbols.add(symbol));\n\t}\n\n\n\ttoJSON (): object {\n\t\tconst x = roundNumber(this.x, 1e-4);\n\t\tconst y = roundNumber(this.y, 1e-4);\n\n\t\treturn {\n\t\t\t__prototype: \"StaffToken\",\n\t\t\tx, y,\n\t\t\t...pick(this, [\"index\", \"rx\", \"ry\", \"sw\", \"start\", \"target\", \"source\", \"tied\",\n\t\t\t\t\"symbol\", \"hash\", \"href\", \"scale\", \"scaleX\", \"width\", \"height\", \"text\", \"stemX\", \"stemUp\",\n\t\t\t\t\"track\", \"tick\", \"pitch\", \"glyph\", \"stems\", \"stem\", \"beam\", \"division\"]),\n\t\t};\n\t}\n\n\n\t// DEPRECATED\n\tget row (): number {\n\t\treturn this.system;\n\t}\n\tset row (value: number) {\n\t\tthis.system = value;\n\t}\n\n\n\tget scale2 (): {x: number, y: number} {\n\t\tif (!Number.isFinite(this.scale))\n\t\t\treturn null;\n\n\t\treturn {\n\t\t\tx: this.scale * (this.scaleX || 1),\n\t\t\ty: this.scale,\n\t\t};\n\t}\n\n\n\tis (symbol: string): boolean {\n\t\tconst queries = symbol.split(\" \");\n\n\t\treturn queries.every(query => this.symbols.has(query));\n\t}\n\n\n\taddSymbol (...symbols: string[]) {\n\t\tsymbols.forEach(symbol => this.symbols.add(symbol));\n\t\tthis.symbol = Array.from(this.symbols).join(\" \");\n\t}\n\n\n\tremoveSymbol (symbol: string) {\n\t\tthis.symbols.delete(symbol);\n\t\tthis.symbol = Array.from(this.symbols).join(\" \");\n\t}\n\n\n\ttranslate (options: {x?: number, y?: number}): StaffToken {\n\t\tconst data : any = {...this};\n\t\tif (options.x) {\n\t\t\tdata.x += options.x;\n\t\t\tdata.rx += options.x;\n\t\t}\n\t\tif (options.y) {\n\t\t\tdata.y += options.y;\n\t\t\tdata.ry += options.y;\n\t\t}\n\n\t\treturn new StaffToken(data);\n\t}\n\n\n\tget logicX (): number {\n\t\treturn Number.isFinite(this.stemX) ? this.stemX : this.x;\n\t}\n\n\n\t// to assist staves splitting\n\tget logicOffsetY (): number {\n\t\tif (this.is(\"OCTAVE A\"))\n\t\t\treturn 4;\n\n\t\tif (this.is(\"OCTAVE B\"))\n\t\t\treturn -4;\n\n\t\tif (this.is(\"OCTAVE CLOSE UP\"))\n\t\t\treturn 4;\n\n\t\tif (this.is(\"OCTAVE CLOSE DOWN\"))\n\t\t\treturn -4;\n\n\t\tif (this.is(\"ATTACHED UP\"))\n\t\t\treturn 1.5;\n\t\telse if (this.is(\"ATTACHED DOWN\"))\n\t\t\treturn -1.5;\n\n\t\tif (this.is(\"NOTETAIL UP\"))\n\t\t\treturn 2;\n\t\telse if (this.is(\"NOTETAIL DOWN\"))\n\t\t\treturn -2;\n\n\t\tif (this.is(\"NOTE_STEM\"))\n\t\t\treturn this.height / 2;\n\n\t\tif (this.is(\"LYRIC_TEXT\"))\n\t\t\treturn -4;\n\n\t\tlet dy = 0;\n\n\t\tif (this.is(\"WEDGE DECRESCENDO\"))\n\t\t\tdy = this.target.y;\n\t\t/*if (this.is(\"WEDGE\")) {\n\t\t\tif (this.is(\"CRESCENDO\"))\n\t\t\t\tdy = -Math.abs(this.target.y);\n\t\t\telse if (this.is(\"DECRESCENDO BOTTOM\"))\n\t\t\t\tdy = this.target.y * 2;\n\t\t}*/\n\n\t\tif (this.source) {\n\t\t\tif (/^\\^/.test(this.source))\n\t\t\t\tdy += 2;\n\n\t\t\tif (/^_/.test(this.source))\n\t\t\t\tdy -= 2;\n\t\t}\n\n\t\tif (this.is(\"SUSTAIN\"))\n\t\t\treturn -4;\n\n\t\treturn dy;\n\t}\n\n\n\tget withUp (): boolean {\n\t\treturn this.source && /^\\^/.test(this.source);\n\t}\n\n\n\tget withDown (): boolean {\n\t\treturn (this.source && /^_/.test(this.source)) || this.is(\"LYRIC_TEXT\");\n\t}\n\n\n\tget topAtSystem (): boolean {\n\t\treturn this.is(\"OCTAVE A\") || this.is(\"CHORD_TEXT\") || this.is(\"REPEAT_SIGN SEGNO\")\n\t\t\t|| this.is(\"REPEAT_SIGN CODA\") || this.is(\"TEMPO_NOTEHEAD\") || this.is(\"TEMPO_NOTE_STEM\");\n\t}\n\n\n\tget logicY (): number {\n\t\treturn this.y + this.logicOffsetY;\n\t}\n\n\n\tget centerX (): number {\n\t\treturn this.x + (Number.isFinite(this.width) ? this.width / 2 : 0);\n\t}\n\n\n\tget classes (): string {\n\t\treturn Array.from(this.symbols).map((s: string) => s.toLowerCase().replace(/_/g, \"-\")).join(\" \");\n\t}\n\n\n\tget alterValue (): number {\n\t\tif (this.is(\"NATURAL\"))\n\t\t\treturn 0;\n\n\t\tif (this.is(\"SHARP\"))\n\t\t\treturn 1;\n\n\t\tif (this.is(\"SHARPSHARP\"))\n\t\t\treturn 2;\n\n\t\tif (this.is(\"FLAT\"))\n\t\t\treturn -1;\n\n\t\tif (this.is(\"FLATFLAT\"))\n\t\t\treturn -2;\n\n\t\treturn null;\n\t}\n\n\n\tget clefValue (): number {\n\t\tif (this.is(\"TREBLE\"))\n\t\t\treturn 4;\n\n\t\tif (this.is(\"BASS\"))\n\t\t\treturn -4;\n\n\t\tif (this.is(\"ALTO\"))\n\t\t\treturn 0;\n\n\t\treturn null;\n\t}\n\n\n\tget octaveShiftValue (): number {\n\t\tif (this.is(\"A\"))\n\t\t\treturn this.is(\"_15\") ? -2 : -1;\n\n\t\tif (this.is(\"B\"))\n\t\t\treturn this.is(\"_15\") ? 2 : 1;\n\n\t\tif (this.is(\"CLOSE\"))\n\t\t\treturn 0;\n\n\t\treturn null;\n\t}\n\n\n\tget timeSignatureValue (): number {\n\t\tif (this.is(\"CUT_C\"))\n\t\t\treturn 2;\n\n\t\tif (this.is(\"C\"))\n\t\t\treturn 4;\n\n\t\tconst numbers = Array(9).fill(null).map((_, i) => i + 1);\n\t\tfor (const n of numbers) {\n\t\t\tif (this.is(n.toString()))\n\t\t\t\treturn n;\n\t\t}\n\n\t\t// TODO: maybe some single value can be greater than 10?\n\n\t\treturn null;\n\t}\n\n\n\tget sourcePosition (): {line: number, start: number, end: number} {\n\t\tif (!this.href)\n\t\t\treturn null;\n\n\t\tconst [line, start, end] = this.href.match(/\\d+/g).map(Number);\n\n\t\treturn {line, start, end};\n\t}\n\n\n\tget sourceProgress (): number {\n\t\tif (!this.sourcePosition)\n\t\t\treturn 0;\n\n\t\tconst {line, start} = this.sourcePosition;\n\n\t\treturn line + start * 1e-4;\n\t}\n\n\n\tget glyphClass (): string {\n\t\treturn slashGlyphName(this.glyph);\n\t}\n\n\n\tget fontUnicode (): string {\n\t\treturn GlyphUnicode[this.glyph];\n\t}\n\n\n\tget noteType (): number {\n\t\tif (this.is(\"DIAMOND\"))\n\t\t\treturn 4;\n\n\t\tif (this.is(\"WHOLE\"))\n\t\t\treturn 0;\n\t\telse if (this.is(\"HALF\"))\n\t\t\treturn 1;\n\t\telse if (this.is(\"SOLID\"))\n\t\t\treturn 2;\n\t\telse if (this.is(\"CROSS\"))\n\t\t\treturn 3;\n\t}\n\n\n\tget flagNumber (): number {\n\t\tif (this.glyph)\n\t\t\treturn Number((this.glyph as any).match(/\\d+/)[0]);\n\n\t\tif (this.is(\"EIGHTH\"))\n\t\t\treturn 3;\n\t\tif (this.is(\"SIXTEENTH\"))\n\t\t\treturn 4;\n\t\tif (this.is(\"THIRTYSECOND\"))\n\t\t\treturn 5;\n\t\tif (this.is(\"SIXTYFOURTH\"))\n\t\t\treturn 6;\n\t\tif (this.is(\"HUNDREDTWENTYEIGHTH\"))\n\t\t\treturn 7;\n\t\tif (this.is(\"TWOHUNDREDSFIFTYSIXTH\"))\n\t\t\treturn 8;\n\n\t\treturn null;\n\t}\n\n\n\t// DEPRECATED\n\tget musicFontNoteOffset (): number {\n\t\treturn constants.MUSIC_FONT_NOTE_OFFSETS[this.noteType];\n\t}\n\n\n\tstemAttached ({x, y, href}): boolean {\n\t\tif (!this.is(\"NOTE_STEM\"))\n\t\t\treturn null;\n\n\t\tconst cx = this.x + this.width / 2;\n\t\tif (Math.abs(x - cx) > 0.1)\n\t\t\treturn false;\n\n\t\tconst top = this.y - 0.2;\n\t\tconst bottom = this.y + this.height + 0.2;\n\n\t\tconst attached = y > top && y < bottom;\n\n\t\tif (!attached) {\n\t\t\tconst distance = Math.abs(x - cx) + Math.min(Math.abs(y - top), Math.abs(y - bottom));\n\t\t\tif (distance < 0.18)\n\t\t\t\tconsole.warn(\"unattached nearby point:\", href, x - cx, y - top, y - bottom);\n\t\t}\n\n\t\treturn attached;\n\t}\n\n\n\t// up: 1, down: -1\n\tget direction (): number {\n\t\tif (typeof this.stemUp === \"boolean\")\n\t\t\treturn this.stemUp ? 1 : -1;\n\n\t\tif (this.is(\"UP\"))\n\t\t\treturn 1;\n\n\t\tif (this.is(\"DOWN\"))\n\t\t\treturn -1;\n\n\t\treturn 0;\n\t}\n};\n"],"mappings":"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","ignoreList":[]}]} |