notations 0.0.32 → 0.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/carnatic/atomviews.d.ts +1 -1
- package/lib/cjs/carnatic/atomviews.js +15 -19
- package/lib/cjs/carnatic/atomviews.js.map +1 -1
- package/lib/cjs/carnatic/beatviews.d.ts +0 -1
- package/lib/cjs/carnatic/beatviews.js +10 -17
- package/lib/cjs/carnatic/beatviews.js.map +1 -1
- package/lib/cjs/carnatic/embelishments.js +5 -1
- package/lib/cjs/carnatic/embelishments.js.map +1 -1
- package/lib/cjs/carnatic/gamakas.js.map +1 -1
- package/lib/cjs/carnatic/index.js.map +1 -1
- package/lib/cjs/commands.js.map +1 -1
- package/lib/cjs/core.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/iterators.js.map +1 -1
- package/lib/cjs/layouts.js.map +1 -1
- package/lib/cjs/loader.d.ts +2 -1
- package/lib/cjs/loader.js +11 -2
- package/lib/cjs/loader.js.map +1 -1
- package/lib/cjs/notation.js.map +1 -1
- package/lib/cjs/parser.js.map +1 -1
- package/lib/cjs/shapes.d.ts +4 -0
- package/lib/cjs/shapes.js +33 -5
- package/lib/cjs/shapes.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/carnatic/atomviews.d.ts +1 -1
- package/lib/esm/carnatic/atomviews.js +15 -19
- package/lib/esm/carnatic/atomviews.js.map +1 -1
- package/lib/esm/carnatic/beatviews.d.ts +0 -1
- package/lib/esm/carnatic/beatviews.js +10 -17
- package/lib/esm/carnatic/beatviews.js.map +1 -1
- package/lib/esm/carnatic/embelishments.js +5 -1
- package/lib/esm/carnatic/embelishments.js.map +1 -1
- package/lib/esm/carnatic/gamakas.js.map +1 -1
- package/lib/esm/carnatic/index.js.map +1 -1
- package/lib/esm/commands.js.map +1 -1
- package/lib/esm/core.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/iterators.js.map +1 -1
- package/lib/esm/layouts.js.map +1 -1
- package/lib/esm/loader.d.ts +2 -1
- package/lib/esm/loader.js +11 -2
- package/lib/esm/loader.js.map +1 -1
- package/lib/esm/notation.js.map +1 -1
- package/lib/esm/parser.js.map +1 -1
- package/lib/esm/shapes.d.ts +4 -0
- package/lib/esm/shapes.js +33 -5
- package/lib/esm/shapes.js.map +1 -1
- package/lib/esm/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/cjs/iterators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterators.js","sourceRoot":"","sources":["../../src/iterators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iterators.js","sourceRoot":"","sources":["../../src/iterators.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { TimedEntity, Atom, LeafAtom, Space, Group, AtomType } from \"./\";\n\ntype Fraction = TSU.Num.Fraction;\n\nexport class FlatAtom extends TimedEntity {\n depth: number;\n duration: TSU.Num.Fraction;\n offset: TSU.Num.Fraction;\n isContinuation: boolean;\n\n constructor(public atom: LeafAtom, config: any = null) {\n super((config = config || {}));\n this.depth = config.depth || 0;\n this.duration = config.duration || atom.duration;\n this.offset = config.offset || TSU.Num.Fraction.ZERO;\n this.isContinuation = \"isContinuation\" in config ? config.isContinuation : false;\n }\n\n /**\n * Returns the type of this Entity.\n */\n get type(): unknown {\n return \"FlatAtom\";\n }\n\n get endOffset(): TSU.Num.Fraction {\n return this.offset.plus(this.duration);\n }\n\n debugValue(): any {\n const out = {\n ...super.debugValue(),\n atom: this.atom.debugValue(),\n duration: this.duration.toString(),\n offset: this.offset.toString(),\n depth: this.depth,\n };\n if (this.isContinuation) out.isContinuation = true;\n return out;\n }\n}\n\nexport class AtomIterator {\n private atomQueue = new TSU.Lists.List<[Atom, number, Fraction]>();\n private currOffset = TSU.Num.Fraction.ZERO;\n private peeked: TSU.Nullable<FlatAtom> = null;\n\n constructor(...atoms: Atom[]) {\n this.push(...atoms);\n }\n\n /**\n * Push atoms to be flattened and served by this iterator.\n */\n push(...atoms: Atom[]): this {\n for (const atom of atoms) {\n this.atomQueue.add([atom, 0, atom.duration]);\n }\n return this;\n }\n\n next(): TSU.Nullable<FlatAtom> {\n const out = this.peek();\n this.peeked = null;\n if (out != null) {\n this.currOffset = this.currOffset.plus(out.duration);\n }\n return out;\n }\n\n peek(): TSU.Nullable<FlatAtom> {\n if (this.peeked == null) {\n if (this.hasNext) {\n const [nextAtom, nextDepth, nextDuration] = this.atomQueue.popFront();\n this.peeked = new FlatAtom(nextAtom as LeafAtom, {\n depth: nextDepth,\n offset: this.currOffset,\n duration: nextDuration,\n });\n }\n }\n return this.peeked;\n }\n\n get hasNext(): boolean {\n while (this.atomQueue.first != null) {\n // Get from front of queue\n const [nextAtom, nextDepth, nextDuration] = this.atomQueue.first.value;\n if (nextAtom.type != AtomType.GROUP) {\n return true;\n } else {\n this.atomQueue.popFront();\n const group = nextAtom as Group;\n for (const child of group.atoms.reversedValues()) {\n this.atomQueue.pushFront([\n child,\n nextDepth + 1,\n nextDuration.times(child.duration).divby(group.totalChildDuration),\n ]);\n }\n }\n }\n return false;\n }\n\n static getMin(iterators: AtomIterator[]): [number, FlatAtom] {\n let currRole = -1;\n let currAtom: TSU.Nullable<FlatAtom> = null;\n for (let ri = 0; ri < iterators.length; ri++) {\n const flatAtom = iterators[ri].peek();\n if (flatAtom != null) {\n if (currAtom == null || flatAtom.offset.cmp(currAtom.offset) < 0) {\n currRole = ri;\n currAtom = flatAtom;\n }\n }\n }\n if (currRole >= 0) {\n iterators[currRole].next();\n }\n return [currRole, currAtom!];\n }\n}\n\nexport class DurationIterator {\n private atomIterator: AtomIterator;\n private spillOver: TSU.Nullable<FlatAtom> = null;\n\n constructor(atomIterator: AtomIterator) {\n this.atomIterator = atomIterator;\n }\n\n get hasMore(): boolean {\n if (this.spillOver != null) {\n return true;\n }\n return this.atomIterator.hasNext;\n }\n\n /**\n * Gets the atoms to cover the given duration.\n *\n * If the number of atoms left in the iterator is 0 then an empty list\n * is returned. Otherwise the duration of atoms returned will cover\n * the given duration even if padding with Space atoms is necessary.\n */\n get(duration: TSU.Num.Fraction): [FlatAtom[], boolean] {\n const iter = this.atomIterator;\n const out: FlatAtom[] = [];\n let remaining = duration;\n while (remaining.isGTNum(0)) {\n const next = this.spillOver == null ? iter.next() : this.spillOver;\n this.spillOver = null;\n if (next == null) {\n // stop here\n break;\n } else {\n out.push(next);\n if (next.duration.cmp(remaining) <= 0) {\n remaining = remaining.minus(next.duration);\n } else {\n // Next leaf atm is > duration\n // so split it into two\n this.spillOver = new FlatAtom(new Space(next.duration.minus(remaining)));\n next.duration = remaining;\n remaining = TSU.Num.Fraction.ZERO;\n }\n }\n }\n return [out, remaining.isZero];\n }\n}\n"]}
|
package/lib/cjs/layouts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layouts.js","sourceRoot":"","sources":["../../src/layouts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layouts.js","sourceRoot":"","sources":["../../src/layouts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuC;AACvC,uBAA+F;AAC/F,yCAAuE;AAGvE,IAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AAsBnC;IAQE,cACkB,KAAa,EACb,IAAU,EACV,MAAgB,EAChB,QAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,QAAqB,EAC9B,QAAqB;QARZ,UAAK,GAAL,KAAK,CAAQ;QACb,SAAI,GAAJ,IAAI,CAAM;QACV,WAAM,GAAN,MAAM,CAAU;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAa;QAC9B,aAAQ,GAAR,QAAQ,CAAa;QAf9B,eAAU,GAAG,CAAC,CAAC,CAAC;QAChB,iBAAY,GAAG,CAAC,CAAC,CAAC;QACT,SAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAGxB,UAAK,GAAe,EAAE,CAAC;IAW7B,CAAC;IAEJ,yBAAU,GAAV;QACE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAE,EAAd,CAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,sBAAI,2BAAS;aAAb;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,wBAAM;aAAV;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,2BAAS;aAAb;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAlB,CAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC;;;OAAA;IAED,kBAAG,GAAH,UAAI,IAAc;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAmB,GAAnB,UAAoB,YAAgB;QAAhB,6BAAA,EAAA,gBAAgB;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,KAAK;YAC1B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YACnC,IAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC/B,IAAI,OAAO,IAAI,CAAC,EAAE;gBAChB,GAAG,IAAI,OAAO,CAAC;gBACf,IAAI,GAAG,IAAI,CAAC,EAAE;oBACZ,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;iBACtB;qBAAM;oBACL,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAClC,GAAG,IAAI,GAAG,CAAC;iBACZ;aACF;QACH,CAAC,CAAC,CAAC;QAeH,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAI;YACvC,IAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAM,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;YAE7E,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC;YACtB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;YACJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CACf,CAAC,EACD,CAAC,EACD,IAAI,oBAAQ,CAAC,IAAI,QAAK,EAAE,EAAE;oBACxB,cAAc,EAAE,IAAI;oBACpB,MAAM,EAAE,UAAU,CAAC,UAAU;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,EAAE,CAAC,KAAK;iBAChB,CAAC,CACH,CAAC;gBACF,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvC;SACF;IACH,CAAC;IAzGc,cAAS,GAAG,CAAC,CAAC;IA0G/B,WAAC;CAAA,AA3GD,IA2GC;AA3GY,oBAAI;AAmJjB;IAaE,oBAA4B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QATtD,iBAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC9C,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAG5C,oBAAe,GAAiB,EAAE,CAAC;QAGnC,kBAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;QAoFrC,UAAK,GAAG,KAAK,CAAC;QAuCvB,gBAAW,GAAG,EAAE,CAAC;QAGjB,eAAU,GAAG,EAAE,CAAC;IA5HyC,CAAC;IAK1D,kCAAa,GAAb,UAAc,MAAgB,EAAE,QAAkB;;QAChD,IAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAEtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACL,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBAGxC,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;wBAA1C,IAAM,KAAK,WAAA;wBACd,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;4BAEpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;yBAChC;6BAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;4BAEzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;yBAChC;qBACF;;;;;;;;;aAGF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEgB,iBAAM,GAAvB,UAAwB,MAAgB,EAAE,QAAkB;QAC1D,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAES,iCAAY,GAAtB,UAAuB,IAAgB,EAAE,IAAgB;QACvD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC9G,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAKD,4BAAO,GAAP,UAAQ,IAAU;QAEhB,IAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACvB,IAAA,KAAA,OAAwC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAA,EAA/D,UAAU,QAAA,EAAE,YAAY,QAAA,EAAE,SAAS,QAA4B,CAAC;QACvE,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAGf,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,gCAAW,GAAX,UAAY,UAAsB;;QAChC,IAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;;YAC9D,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAA1C,IAAM,KAAK,WAAA;gBACd,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAClC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjB;aACF;;;;;;;;;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,oCAAe,GAAf,UAAgB,gBAAkC;;QAKhD,IAAI,KAAK,4BAAqB,IAAI,CAAC,eAAe,SAAC,CAAC;QACpD,IAAM,WAAW,GAA0B,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAM,SAAS,GAAiB,EAAE,CAAC;;gBACnC,KAAmB,IAAA,yBAAA,SAAA,KAAK,CAAA,CAAA,4BAAA,+CAAE;oBAArB,IAAM,IAAI,kBAAA;oBACb,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBACtC,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACrD,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;wBAEvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,WAAW,EAAE,gCAAgC,CAAC,CAAC;wBAC/E,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBACnC,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;oBACxD,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAC1C,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EACtC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CACxD,CAAC;;wBAIF,KAAoB,IAAA,oBAAA,SAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA,CAAA,gBAAA,4BAAE;4BAA1C,IAAM,KAAK,WAAA;4BACd,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCAClC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACvB;yBACF;;;;;;;;;iBACF;;;;;;;;;YACD,KAAK,GAAG,SAAS,CAAC;SACnB;IACH,CAAC;IAOD,uCAAkB,GAAlB,UAAmB,IAAU,EAAE,YAAsB,EAAE,gBAAkC;QAGvF,IAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAoB,CAAC;QAC1F,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,GAAG;YACD,OAAO,GAAG,CAAC,CAAC;YAEZ,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC9D,IAAI,QAAQ,GAAgB,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE;oBACZ,IAAM,IAAI,GAAG,QAAQ,CAAC;oBACtB,IAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzD,IAAI,SAAS,GAAG,CAAC,CAAC;oBAClB,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,KACE,IAAI,CAAC,GAAG,QAAQ,CAAC,YAAY,EAC7B,CAAC,GAAG,aAAa,IAAI,QAAQ,EAC7B,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAC5C;wBACA,IAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBACxD,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC;wBACnB,IAAI,IAAI,CAAC,KAAK,EAAE;4BACd,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC;4BACnB,QAAQ,CAAC,aAAa,EAAE,CAAC;4BACzB,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;yBACzB;wBACD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBAC1D;oBAED,QAAQ,GAAG,IAAI,CAAC;oBAChB,KACE,IAAI,CAAC,GAAG,QAAQ,CAAC,YAAY,EAC7B,CAAC,GAAG,aAAa,IAAI,QAAQ,EAC7B,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAC5C;wBACA,IAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBACxD,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;qBAC7B;oBAGD,KAAK,IAAI,SAAS,CAAC;oBACnB,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;iBAC3B;gBACD,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;aAChC;YAGD,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;SAC1B,QAAQ,OAAO,GAAG,CAAC,EAAE;IACxB,CAAC;IACH,iBAAC;AAAD,CAAC,AA/LD,IA+LC;AA/LY,gCAAU;AAiMvB;IAME,iBAA4B,UAAkB,EAAS,QAAgB;QAA3C,eAAU,GAAV,UAAU,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAL7D,OAAE,GAAG,CAAC,CAAC;QACP,eAAU,GAAG,CAAC,CAAC;QACzB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,CAAC,CAAC;QACf,UAAK,GAAW,EAAE,CAAC;IACuD,CAAC;IAE3E,sBAAI,sBAAC;aAAL;YACE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,CAAC;aAED,UAAM,GAAW;YACf,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;YACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;;;OALA;IAOD,qBAAG,GAAH,UAAI,IAAU;QAGZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,cAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,0BAAO;AAyBpB;IAQE,oBAA4B,MAAgB,EAAkB,QAAkB;QAApD,WAAM,GAAN,MAAM,CAAU;QAAkB,aAAQ,GAAR,QAAQ,CAAU;QAPtE,OAAE,GAAG,CAAC,CAAC;QACP,cAAS,GAAG,CAAC,CAAC;QACxB,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,CAAC,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAClB,UAAK,GAAW,EAAE,CAAC;QAEjB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3B,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,sBAAI,yBAAC;aAAL;YACE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,CAAC;;;OAAA;IAED,yBAAI,GAAJ,UAAK,GAAW,EAAE,gBAAkC;;QAClD,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;;YACd,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;gBAA1B,IAAM,IAAI,WAAA;gBACb,IAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpD,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;gBACpC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;aAEjC;;;;;;;;;IACH,CAAC;IAED,sBAAI,gCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/D,CAAC;;;OAAA;IAED,+BAAU,GAAV,UAAW,IAAY,EAAE,KAAa;QACpC,IAAI,IAAI,IAAI,CAAC,EAAE;YACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IACH,CAAC;IAED,iCAAY,GAAZ,UAAa,gBAAkC;;QAC7C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;;YACnB,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;gBAA1B,IAAM,IAAI,WAAA;gBACb,IAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACjC,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;oBAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;iBAChC;aACF;;;;;;;;;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAQD,wBAAG,GAAH,UAAI,IAAU;QAGZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAkB1B,CAAC;IACH,iBAAC;AAAD,CAAC,AAlFD,IAkFC;AAlFY,gCAAU;AAoFvB;IAiBE,sBACkB,IAAU,EACV,YAA0B,EAC1B,WAA4B;QAA5B,4BAAA,EAAA,kBAA4B;QAF5B,SAAI,GAAJ,IAAI,CAAM;QACV,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAiB;QAlBrC,UAAK,GAAW,EAAE,CAAC;QAoBpB,IAAA,KAAA,OAA+C,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAA,EAAvF,KAAA,gBAAqB,EAApB,GAAG,QAAA,EAAE,IAAI,QAAA,EAAE,QAAQ,QAAA,EAAG,UAAU,QAAA,EAAE,KAAK,QAA+C,CAAC;QACjG,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAY,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAK7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAES,8BAAO,GAAjB;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,IAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACjE,IAAM,MAAM,GAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACtE,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3C,IAAM,OAAO,GAAG,IAAI,IAAI,CACtB,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EACvD,IAAI,CAAC,IAAI,EACT,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EACxG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACZ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACZ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACZ,QAAQ,EACR,IAAI,CACL,CAAC;QACF,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAElD,OAAO,CAAC,GAAG,CAAC,IAAI,oBAAQ,CAAC,IAAI,QAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE;QACD,IAAI,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+BAAQ,GAAR;;QAAS,eAAgB;aAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;YAAhB,0BAAgB;;QAOvB,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,IAAI,oCAAI,KAAK,WAAE;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAE3B,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAGjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAE7C,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;aAC3B;YAGK,IAAA,KAAA,OAAsB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAA,EAAzD,SAAS,QAAA,EAAE,MAAM,QAAwC,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,qDAAqD,CAAC,CAAC;;gBAExF,KAAuB,IAAA,6BAAA,SAAA,SAAS,CAAA,CAAA,oCAAA,2DAAE;oBAA7B,IAAM,QAAQ,sBAAA;oBACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,qEAAqE,CAAC,CAAC;oBAC1G,IAAI,IAAI,CAAC,WAAW;wBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC5D;;;;;;;;;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,IAAI,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aACpD;SACF;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AA3FD,IA2FC;AA3FY,oCAAY;AA6FzB;IAaE,sBAAY,MAAY;QAXf,SAAI,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QAYrC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,MAAM;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,QAAK,CAAC,OAAO,CAAC;SAC5B;QAED,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,6BAAM,GAAN,UAAO,OAAa;QAClB,OAAO,CAEL,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY;YACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,sCAAe,GAAf,UAAgB,OAAiB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;IACxG,CAAC;IAED,iCAAU,GAAV;;QACE,OAAO;YAEL,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,EAAE;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC;IAyBD,sCAAe,GAAf,UAAgB,IAAU;;QACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;gBAE1C,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAM,SAAS,GAAG,IAAI,CAAC;gBACvB,IAAI,QAAQ,GAAG,KAAK,EAAE;oBACpB,IAAM,MAAM,GAAG,IAAI,cAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrF,IAAA,KAAA,OAAkB,MAAM,CAAC,IAAI,IAAA,EAA5B,GAAG,QAAA,EAAE,QAAQ,QAAe,CAAC;oBAClC,KAAK,IAAI,GAAC,GAAG,KAAK,EAAE,GAAC,GAAG,QAAQ,EAAE,GAAC,EAAE,EAAE;wBACrC,KAAA,OAAkB,MAAM,CAAC,IAAI,IAAA,EAA5B,GAAG,QAAA,EAAE,QAAQ,QAAA,CAAgB;wBAC9B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;qBAC5D;iBACF;gBACD,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;aACtC;YACD,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC9B;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAWD,sBAAI,oCAAU;aAAd;YACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;gBAErD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aAKD,UAAe,GAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;;;OARA;IAUD,oCAAa,GAAb;QAAA,iBAsBC;QArBC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,KAAK;YACtD,IAAM,KAAK,GAAgC,EAAE,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAZ,CAAY,EAAE,IAAI,CAAC,EAA1C,CAA0C,CAAC,CAAC;QAClG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,KAAK;YACnC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK;YACrD,OAAO,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAT,CAAS,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAMD,sBAAI,qCAAW;aAAf;YACE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3E,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YACD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAI,oCAAU;aAAd;YACE,IAAI,CAAC,WAAW,CAAC;YACjB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAKD,sBAAI,6CAAmB;aAAvB;YACE,IAAI,CAAC,WAAW,CAAC;YACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;;;OAAA;IA5Kc,oBAAO,GAAG,CAAC,CAAC;IA0M7B,mBAAC;CAAA,AA3MD,IA2MC;AA3MY,oCAAY","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Line, Atom, CycleIterator, Space, Role, Cycle, CyclePosition, CycleCursor } from \"./\";\nimport { AtomIterator, DurationIterator, FlatAtom } from \"./iterators\";\n\ntype Fraction = TSU.Num.Fraction;\nconst ZERO = TSU.Num.Fraction.ZERO;\n\n// export interface Embelishment { refreshLayout(): void; }\n\ninterface BeatViewDelegate {\n // A way to create all beats for an entire Line in one go (instead of one by one)\n viewForBeat(beat: Beat): BeatView;\n}\n\nexport interface BeatView {\n readonly beat: Beat;\n readonly needsLayout: boolean;\n readonly minSize: TSU.Geom.Size;\n x: number;\n y: number;\n width: number;\n height: number;\n refreshLayout(): void;\n setStyles(config: any): void;\n // readonly embelishments: Embelishment[];\n}\n\nexport class Beat {\n private static idCounter = 0;\n layoutLine = -1;\n layoutColumn = -1;\n readonly uuid = Beat.idCounter++;\n // Should this be as flat Atoms or should we keep it as atoms and breakdown\n // later?\n readonly atoms: FlatAtom[] = [];\n constructor(\n public readonly index: number,\n public readonly role: Role,\n public readonly offset: Fraction,\n public readonly duration: Fraction,\n public readonly barIndex: number,\n public readonly beatIndex: number,\n public readonly instance: number,\n public readonly prevBeat: null | Beat,\n public nextBeat: null | Beat,\n ) {}\n\n debugValue(): any {\n return {\n index: this.index,\n role: this.role.name,\n offset: this.offset.toString(),\n duration: this.duration.toString(),\n barIndex: this.barIndex,\n beatIndex: this.beatIndex,\n instance: this.instance,\n atoms: this.atoms.map((a) => a.debugValue()),\n };\n }\n\n get endOffset(): Fraction {\n return this.offset.plus(this.duration);\n }\n\n get filled(): boolean {\n return this.remaining.isZero;\n }\n\n get remaining(): Fraction {\n return this.duration.minus(this.atoms.reduce((a, b) => a.plus(b.duration), ZERO));\n }\n\n add(atom: FlatAtom): boolean {\n if (this.remaining.cmp(atom.duration) < 0) {\n return false;\n }\n this.atoms.push(atom);\n return true;\n }\n\n ensureUniformSpaces(slotsPerBeat = 1): void {\n let lcm = 1;\n let gcd = 0;\n this.atoms.forEach((a, index) => {\n a.duration = a.duration.factorized;\n const currDen = a.duration.den;\n if (currDen != 1) {\n lcm *= currDen;\n if (gcd == 0) {\n gcd = a.duration.den;\n } else {\n gcd = TSU.Num.gcdof(gcd, currDen);\n lcm /= gcd;\n }\n }\n });\n\n // Easiest option is (without worrying about depths)\n // just adding this N number 1 / LCM sized spaces for\n // each note where N = (LCM / note.frac.den) - 1\n\n // eg in the case of something like (a beat with) the notes\n // A: 1/2, B: 1/4, C: 1/6\n // LCM (of dens) = 24\n // 12 (1/24) spaces, 6 (1/24)\n // A = (24 / 2) - 1 = 11 spaces after A\n // B = (24 / 4) - 1 = 5 spaces after B\n // C = (24 / 6) - 1 = 3 spaces after C\n // Total = 11 + 5 + 3 + 3 (for A + B + C) = 22 notes in the beat\n\n const baseDur = new TSU.Num.Fraction(1, lcm);\n let currOffset = this.offset;\n for (let i = 0; i < this.atoms.length; ) {\n const fa = this.atoms[i];\n const numSpaces = lcm == 1 ? fa.duration.num - 1 : lcm / fa.duration.den - 1;\n // reset its duration to 1 / LCM so we can add numSpaces after it\n fa.duration = baseDur;\n currOffset = currOffset.plus(baseDur);\n i++;\n for (let j = 0; j < numSpaces; j++, i++) {\n this.atoms.splice(\n i,\n 0,\n new FlatAtom(new Space(), {\n isContinuation: true,\n offset: currOffset.factorized,\n duration: baseDur,\n depth: fa.depth,\n }),\n );\n currOffset = currOffset.plus(baseDur);\n }\n }\n }\n}\n\n/**\n * Grouping of beats by their column based on the layout params.\n * The confusion is we have beats broken up and saved in columns\n * but we are loosing how a line is supposed to access it in its own way\n * we have beatsByRole for getting all beats for a role (in a line)\n * sequentially we have beatColumns for getting all beats in a particular\n * column across all lines and roles globally.\n *\n * What we want here is for a given line get all roles, their beats\n * in zipped way. eg for a Line with 3 roles and say 10 beats each\n * (with the breaks of 4, 1) we need:\n *\n * R1 B1 R1 B2 R1 B3 R1 B4\n * R2 B1 R2 B2 R2 B3 R2 B4\n * R3 B1 R3 B2 R3 B3 R3 B4\n *\n * R1 B5\n * R2 B5\n * R3 B5\n *\n * R1 B6 R1 B7 R1 B8 R1 B9\n * R2 B6 R2 B7 R2 B8 R2 B9\n * R3 B6 R3 B7 R3 B8 R3 B9\n *\n * R1 B10\n * R2 B10\n * R3 B10\n *\n *\n * Here we have 5 distinct beat columns:\n *\n * 1: R1B1, R2B1, R3B1, R1B6, R2B6, R3B6,\n * 2: R1B2, R2B2, R3B2, R1B7, R2B7, R3B7,\n * 3: R1B3, R2B3, R3B3, R1B8, R2B8, R3B8,\n * 4: R1B4, R2B4, R3B4, R1B9, R2B9, R3B9,\n * 5: R1B5, R2B5, R3B5, R1B10, R2B10, R3B10,\n *\n */\nexport class BeatLayout {\n // beatColumns[i][j] returns all beats in a particular layoutLine and\n // layoutColumn the purpose of beatColumns is to ensure horizontal alignment\n // of beats in a single column\n bcolNextList = new Map<string, Set<string>>();\n beatColumns = new Map<string, BeatColumn>();\n // bcolsStartingAt = new Map<string, BeatColumn[]>();\n // bcolsEndingAt = new Map<string, BeatColumn[]>();\n startingColumns: BeatColumn[] = [];\n\n // Mapping from beat -> BeatColumn where it resides\n columnForBeat = new Map<number, BeatColumn>();\n\n constructor(public readonly layoutParams: LayoutParams) {}\n\n /**\n * Gets the beat column of a given duration at the given offset.\n */\n getBeatColumn(offset: Fraction, duration: Fraction): BeatColumn {\n const key = BeatLayout.keyFor(offset, duration);\n let bcol = this.beatColumns.get(key) || null;\n if (!bcol) {\n bcol = new BeatColumn(offset, duration);\n this.beatColumns.set(key, bcol);\n if (bcol.offset.isZero) {\n // this is a \"starting\" column\n this.startingColumns.push(bcol);\n } else {\n const endOffset = offset.plus(duration);\n // Find all columns \"before\" this and add this as a neighbour to those\n // columsn before are such that their prev.offset + prev.duration == bcol.offset\n for (const other of this.beatColumns.values()) {\n if (other.offset.plus(other.duration).equals(offset)) {\n // mark us as a successor of other\n this.addSuccessor(other, bcol);\n } else if (other.offset.equals(endOffset)) {\n // mark other as a successor of us\n this.addSuccessor(bcol, other);\n }\n }\n\n // Similary find all columns who could \"next\" sets and add us to them\n }\n }\n return bcol;\n }\n\n protected static keyFor(offset: Fraction, duration: Fraction): string {\n return offset.factorized.toString() + \":\" + duration.factorized.toString();\n }\n\n protected addSuccessor(prev: BeatColumn, next: BeatColumn): void {\n TSU.assert(prev.offset.plus(prev.duration).equals(next.offset), \"BeatColumns are not adjacent to each other\");\n const prevKey = BeatLayout.keyFor(prev.offset, prev.duration);\n const nextKey = BeatLayout.keyFor(next.offset, next.duration);\n let nextset = this.bcolNextList.get(prevKey) || null;\n if (!nextset) {\n nextset = new Set<string>();\n this.bcolNextList.set(prevKey, nextset);\n }\n nextset.add(nextKey);\n }\n\n /**\n * Adds the beat to this layout and returns the BeatColumn to which this beat was added.\n */\n addBeat(beat: Beat): BeatColumn {\n // Get the beat column at this index (and line) and add to it.\n const lp = this.layoutParams;\n const [layoutLine, layoutColumn, rowOffset] = lp.getBeatLocation(beat);\n const bcol = this.getBeatColumn(rowOffset, beat.duration);\n\n bcol.add(beat);\n\n // TODO: see if beat exists in another column\n this.columnForBeat.set(beat.uuid, bcol);\n beat.layoutLine = layoutLine;\n beat.layoutColumn = layoutColumn;\n return bcol;\n }\n\n /**\n * Return all beat columns that start immediately after the given beat column.\n */\n neighborsOf(beatColumn: BeatColumn): BeatColumn[] {\n const out: BeatColumn[] = [];\n const endOffset = beatColumn.offset.plus(beatColumn.duration);\n for (const other of this.beatColumns.values()) {\n if (endOffset.equals(other.offset)) {\n out.push(other);\n }\n }\n return out;\n }\n\n readonly DEBUG = false;\n evalColumnSizes(beatViewDelegate: BeatViewDelegate): void {\n // Do a bread first traversal of the beat columns so those with earlier offsets will be\n // laidout and nudged so that later ones' offsets can be set only once.\n // TODO - should this be a priority queue - ie is there a need to sort these by\n // \"larger\" widths first?\n let queue: BeatColumn[] = [...this.startingColumns];\n const xForOffsets: TSU.StringMap<number> = {};\n while (queue.length > 0) {\n const nextQueue: BeatColumn[] = [];\n for (const bcol of queue) {\n const offset = bcol.offset.factorized;\n const colWidth = bcol.evalMaxWidth(beatViewDelegate);\n let currX = 0;\n if (!bcol.offset.isZero) {\n // this *must* be in xForOffsets as it would have been calculated by a previous bcol\n TSU.assert(offset.toString() in xForOffsets, \"Cannot find x for given offset\");\n currX = xForOffsets[offset.toString()];\n }\n bcol.setX(currX, beatViewDelegate);\n const endOffset = offset.plus(bcol.duration).factorized;\n xForOffsets[endOffset.toString()] = Math.max(\n xForOffsets[endOffset.toString()] || 0,\n currX + colWidth + bcol.paddingLeft + bcol.paddingRight,\n );\n // add all neighbours here\n // TODO - Use better lists of going through all beat cols\n // Also ensure we are adding in sorted order and avoiding duplicates\n for (const other of this.beatColumns.values()) {\n if (endOffset.equals(other.offset)) {\n nextQueue.push(other);\n }\n }\n }\n queue = nextQueue;\n }\n }\n\n // Spacing between each role in a single row\n roleSpacing = 10;\n\n // Spacing between each row (a row can consist of multiple roles).\n rowSpacing = 15;\n layoutBeatsForLine(line: Line, allRoleBeats: Beat[][], beatViewDelegate: BeatViewDelegate): void {\n // Instead of starting currLayoutLine at 0 - it should start at the line of the\n // first beat being rendered\n const lp = this.layoutParams;\n const currBeats = line.roles.map((l, index) => allRoleBeats[index][0]) as (Beat | null)[];\n let currY = this.roleSpacing;\n let numDone = 0;\n do {\n numDone = 0;\n // Lay one role at a time upto numBeatsInLine number of beats\n for (let currRole = 0; currRole < currBeats.length; currRole++) {\n let currBeat: Beat | null = currBeats[currRole];\n if (currBeat) {\n const temp = currBeat;\n const numBeatsInRow = lp.lineBreaks[currBeat.layoutLine];\n let maxHeight = 0;\n let currX = 0;\n for (\n let i = currBeat.layoutColumn;\n i < numBeatsInRow && currBeat;\n i++, currBeat = currBeat.nextBeat, numDone++\n ) {\n const beatView = beatViewDelegate.viewForBeat(currBeat);\n beatView.y = currY;\n if (this.DEBUG) {\n beatView.x = currX;\n beatView.refreshLayout();\n currX += beatView.width;\n }\n maxHeight = Math.max(maxHeight, beatView.minSize.height);\n }\n\n currBeat = temp;\n for (\n let i = currBeat.layoutColumn;\n i < numBeatsInRow && currBeat;\n i++, currBeat = currBeat.nextBeat, numDone++\n ) {\n const beatView = beatViewDelegate.viewForBeat(currBeat);\n beatView.height = maxHeight;\n }\n // Should line heights be \"fixed\"?\n // Set height of all views in this row to same height and Y\n currY += maxHeight;\n currY += this.roleSpacing;\n }\n currBeats[currRole] = currBeat;\n }\n\n // currLayoutLine = (currLayoutLine + 1) % lp.lineBreaks.length;\n currY += this.rowSpacing;\n } while (numDone > 0);\n }\n}\n\nexport class BeatRow {\n protected _y = 0;\n protected _maxHeight = 0;\n needsLayout = false;\n rowSpacing = 5;\n beats: Beat[] = [];\n constructor(public readonly layoutLine: number, public rowIndex: number) {}\n\n get y(): number {\n return this._y;\n }\n\n set y(val: number) {\n this._y = val;\n this.needsLayout = true;\n }\n\n add(beat: Beat): void {\n // Find line this view should be added to.\n // TODO - Should we check if this beat was already added to either this row or another row?\n this.beats.push(beat);\n this.needsLayout = true;\n }\n}\n\nexport class BeatColumn {\n protected _x = 0;\n protected _maxWidth = 0;\n needsLayout = false;\n atomSpacing = 5;\n paddingLeft = 15;\n paddingRight = 15;\n beats: Beat[] = [];\n constructor(public readonly offset: Fraction, public readonly duration: Fraction) {\n offset = offset.factorized;\n duration = duration.factorized;\n }\n\n get x(): number {\n return this._x;\n }\n\n setX(val: number, beatViewDelegate: BeatViewDelegate): void {\n this._x = val;\n for (const beat of this.beats) {\n const beatView = beatViewDelegate.viewForBeat(beat);\n beatView.x = val + this.paddingLeft;\n beatView.width = this._maxWidth;\n // console.log(\"ID, Setting x, width: \", beatView.beat.index, (beatView as any).x, (beatView as any).width);\n }\n }\n\n get maxWidth(): number {\n return this._maxWidth + this.paddingLeft + this.paddingRight;\n }\n\n setPadding(left: number, right: number): void {\n if (left >= 0) {\n this.paddingLeft = left;\n }\n if (right >= 0) {\n this.paddingRight = right;\n }\n }\n\n evalMaxWidth(beatViewDelegate: BeatViewDelegate): number {\n this._maxWidth = 0;\n for (const beat of this.beats) {\n const beatView = beatViewDelegate.viewForBeat(beat);\n // console.log( \"index, _minSize, refreshMinSize = \", beatView.beat.index, (beatView as any)._minSize, (beatView as any).refreshMinSize(),);\n const minSize = beatView.minSize;\n if (minSize.width > this._maxWidth) {\n this._maxWidth = minSize.width;\n }\n }\n return this._maxWidth;\n }\n\n /**\n * Adds a new beat to this column.\n * Returns true if the column's width has increased. This is an indicator\n * to the caller that a layout of all other views in this column is needed\n * so the refresh can be scheduled at some time.\n */\n add(beat: Beat): void {\n // Find line this view should be added to.\n // TODO - Should we check if this beat was already added?\n this.beats.push(beat);\n this.needsLayout = true;\n /*\n const beatView = this.viewForBeat(beat);\n beatView.add(atomView);\n\n const lineWidth = beatView.requiredWidth;\n if (lineWidth > this._maxWidth) {\n this._maxWidth = lineWidth;\n return beatView;\n // return true;\n } else {\n // Our width is already less than max width so apply layout\n // on this line only - ie the \"entire\" beat column does not need\n // an update.\n beatView.layout();\n }\n return null;\n */\n }\n}\n\nexport class BeatsBuilder {\n // All atoms divided into beats\n readonly beats: Beat[] = [];\n readonly startIndex: number;\n readonly beatOffset: Fraction;\n cycleIter: CycleIterator;\n atomIter: AtomIterator;\n durIter: DurationIterator;\n\n // Callback for when an atom is added to this role.\n onAtomAdded: (flatAtom: FlatAtom, beat: Beat) => void;\n\n // Callback for when a new beat is added\n onBeatAdded: (beat: Beat) => void;\n // Callback for when a beat has been filled\n onBeatFilled: (beat: Beat) => void;\n\n constructor(\n public readonly role: Role,\n public readonly layoutParams: LayoutParams,\n public readonly startOffset: Fraction = ZERO,\n ) {\n const [, [bar, beat, instance], beatOffset, index] = layoutParams.cycle.getPosition(startOffset);\n this.cycleIter = layoutParams.cycle.iterateBeats(bar, beat, instance);\n this.atomIter = new AtomIterator();\n this.durIter = new DurationIterator(this.atomIter);\n this.beatOffset = beatOffset;\n\n // evaluate the start beatindex - typically it would be 0 if things start at beginning\n // of a cycle. Butif the start offset is < 0 then the startIndex should also shift\n // accordingly\n this.startIndex = index;\n }\n\n protected addBeat(): Beat {\n const numBeats = this.beats.length;\n const lastBeat = numBeats == 0 ? null : this.beats[numBeats - 1];\n const nextCP: [CyclePosition, Fraction] = this.cycleIter.next().value;\n const apb = this.layoutParams.beatDuration;\n const newBeat = new Beat(\n lastBeat == null ? this.startIndex : lastBeat.index + 1,\n this.role,\n lastBeat == null ? this.startOffset.minus(this.beatOffset).timesNum(apb).factorized : lastBeat.endOffset,\n nextCP[1].timesNum(apb),\n nextCP[0][0],\n nextCP[0][1],\n nextCP[0][2],\n lastBeat,\n null,\n );\n if (lastBeat == null && this.beatOffset.isGT(ZERO)) {\n // Add spaces to fill up empty beats\n newBeat.add(new FlatAtom(new Space(this.beatOffset.timesNum(apb))));\n }\n if (lastBeat) lastBeat.nextBeat = newBeat;\n this.beats.push(newBeat);\n if (this.onBeatAdded) this.onBeatAdded(newBeat);\n return newBeat;\n }\n\n addAtoms(...atoms: Atom[]): void {\n // First add all atoms to the atom Iterator so we can\n // fetch them as FlatAtoms. This is needed because atoms\n // passed here could be unflatted (via groups) or much larger\n // than what can fit in the given role/bar etc. So this\n // flattening and windowing is needed before we add them\n // to the views - and this is done by the durationIterators.\n this.atomIter.push(...atoms);\n while (this.durIter.hasMore) {\n // get the last/current row and add a new one if it is full\n let currBeat = this.beats[this.beats.length - 1];\n\n // First add a row if last row is filled\n if (this.beats.length == 0 || currBeat.filled) {\n // what should be the beatlengths be here?\n currBeat = this.addBeat();\n }\n\n // For this beat get symbols in all roles\n const [flatAtoms, filled] = this.durIter.get(currBeat.remaining);\n TSU.assert(flatAtoms.length > 0, \"Atleast one element should have been available here\");\n // render the atoms now\n for (const flatAtom of flatAtoms) {\n TSU.assert(currBeat.add(flatAtom), \"Should return true as we are already using a duration iterator here\");\n if (this.onAtomAdded) this.onAtomAdded(flatAtom, currBeat);\n }\n if (currBeat.filled) {\n if (this.onBeatFilled) this.onBeatFilled(currBeat);\n }\n }\n }\n}\n\nexport class LayoutParams {\n private static counter = 0;\n readonly uuid = LayoutParams.counter++;\n beatDuration: number;\n cycle: Cycle;\n protected _lineBreaks: number[];\n private _rowStartOffsets: Fraction[];\n private _rowEndOffsets: Fraction[];\n private _rowDurations: Fraction[];\n private _totalLayoutDuration;\n private _beatLayouts: [CyclePosition, Fraction][][];\n private _totalBeats: number;\n\n constructor(config?: any) {\n config = config || {};\n this.beatDuration = config.beatDuration || 1;\n if (\"cycle\" in config) this.cycle = config.cycle;\n if (!this.cycle || this.cycle.duration.isZero) {\n this.cycle = Cycle.DEFAULT;\n }\n\n this._rowStartOffsets = [];\n this._rowEndOffsets = [];\n this._rowDurations = [];\n this._totalLayoutDuration = ZERO;\n this._totalBeats = 0;\n this._beatLayouts = [];\n this.lineBreaks = config.lineBreaks || config.layout || [];\n }\n\n equals(another: this): boolean {\n return (\n // super.equals(another) &&\n this.beatDuration == another.beatDuration &&\n this.cycle.equals(another.cycle) &&\n this.lineBreaksEqual(another._lineBreaks)\n );\n }\n\n lineBreaksEqual(another: number[]): boolean {\n return this._lineBreaks.length == another.length && this._lineBreaks.every((x, i) => x == another[i]);\n }\n\n debugValue(): any {\n return {\n // ...super.debugValue(),\n cycle: this.cycle?.debugValue(),\n beatDuration: this.beatDuration,\n lineBreaks: this._lineBreaks,\n };\n }\n\n /**\n * Returns the \"location\" of a beat within a layout.\n *\n * Lines are broken into beats of notes (which can be changed) and those beats\n * are aligned as per the specs in the LayoutParams (breaks).\n *\n * This methods returns the triple: [layoutLine, layoutColumn, rowOffset]\n * where\n *\n * layoutLine: The particular line in the layout break spec this index falls in. Note\n * that since lines can start with negative offsets, we can even return a\n * layoutLine that is towards the end and then go back to 0, eg 4, 0, 1, 2, 3, 4 ...\n * layoutColumn: The column within the layoutLine line where this beat falls.\n * rowOffset: The note offset of the beat from the start of the row/line\n * (not from the start of the cycle).\n *\n * Note the beatIndex can also be negative so we can return a beat starting from before\n * the cycle starting point.\n *\n * To calculate the \"real\" line globally simply do:\n *\n * realLine = [Math.floor(beatIndex / this.totalBeats) + layoutLine;\n */\n getBeatLocation(beat: Beat): [number, number, Fraction] {\n const modIndex = beat.index % this.totalBeats;\n let total = 0;\n for (let i = 0; i < this._lineBreaks.length; i++) {\n if (modIndex < total + this._lineBreaks[i]) {\n // TODO: What is the right offset here?\n let offset = ZERO;\n const startBeat = beat;\n if (modIndex > total) {\n const cursor = new CycleCursor(this.cycle, beat.barIndex, beat.beatIndex, beat.instance);\n let [pos, duration] = cursor.prev;\n for (let i = total; i < modIndex; i++) {\n [pos, duration] = cursor.prev;\n offset = offset.plus(duration.timesNum(this.beatDuration));\n }\n }\n return [i, modIndex - total, offset];\n }\n total += this._lineBreaks[i];\n }\n throw new Error(\"Invalid beat index: \" + beat.index);\n return [-1, -1, ZERO];\n }\n\n /**\n * Return the line layout - ie number of beats in each line - as a\n * repeating pattern.\n *\n * For example 4,2,4 indicates that the notes in our song should be\n * laid out 4 beats in line 1, 2 beats in line 2, 4 beats in line 3 and\n * 4 beats in line 4 and so on as long as there are more notes available\n * in this line.\n */\n get lineBreaks(): number[] {\n if (!this._lineBreaks || this._lineBreaks.length == 0) {\n // trigger a refresh\n this.lineBreaks = [this.cycle.beatCount];\n }\n return this._lineBreaks;\n }\n\n /**\n * Sets the line layout pattern.\n */\n set lineBreaks(val: number[]) {\n this._lineBreaks = val;\n this.refreshLayout();\n }\n\n refreshLayout(): void {\n const cycleIter = this.cycle.iterateBeats();\n const akb = this.beatDuration;\n this._beatLayouts = this.lineBreaks.map((numBeats, index) => {\n const beats: [CyclePosition, Fraction][] = [];\n // see what the beat lengths are here\n for (let i = 0; i < numBeats; i++) {\n const nextCP = cycleIter.next().value;\n nextCP[1] = nextCP[1].timesNum(akb);\n beats.push(nextCP);\n }\n return beats;\n });\n this._totalBeats = this.lineBreaks.reduce((a, b) => a + b, 0);\n this._rowDurations = this._beatLayouts.map((beats) => beats.reduce((x, y) => x.plus(y[1]), ZERO));\n this._rowDurations.forEach((rd, index) => {\n this._rowStartOffsets[index] = index == 0 ? ZERO : this._rowStartOffsets[index - 1].plus(rd);\n });\n this._rowEndOffsets = this._rowDurations.map((rd, index) => {\n return this._rowStartOffsets[index].plus(rd);\n });\n this._totalLayoutDuration = this._rowDurations.reduce((x, y) => x.plus(y), ZERO);\n }\n\n /**\n * Returns the number of beats in each line based on the line layout\n * after taking beatDuration into account.\n */\n get beatLayouts(): ReadonlyArray<ReadonlyArray<[CyclePosition, Fraction]>> {\n if (!this._beatLayouts || this._beatLayouts.length < this.lineBreaks.length) {\n this.refreshLayout();\n }\n return this._beatLayouts;\n }\n\n /**\n * Total duration of all beats across all lines in our line layout.\n */\n get totalBeats(): number {\n this.beatLayouts;\n return this._totalBeats;\n }\n\n /**\n * Total duration of all beats across all lines in our line layout.\n */\n get totalLayoutDuration(): Fraction {\n this.beatLayouts;\n return this._totalLayoutDuration;\n }\n\n /*\n layoutOffsetsFor(offset: Fraction, layoutLine = -1): [number, Fraction] {\n const m1 = offset.mod(this.totalLayoutDuration);\n\n // layoutLine = L such that layout[L].startOffset <= atom.offset % totalLayoutDuration < layout[L].endOffset\n // calculate layoutLine if not provided\n if (layoutLine < 0) {\n // this.beatLayouts should kick off eval of all row offsets, durations etc\n for (let i = 0; i < this.beatLayouts.length; i++) {\n let cmp = this._rowStartOffsets[i].cmp(m1);\n if (cmp >= 0) {\n cmp = m1.cmp(this._rowEndOffsets[i]);\n if (cmp < 0) {\n layoutLine = i;\n break;\n }\n }\n }\n }\n if (layoutLine < 0) {\n throw new Error(\"Atom offset falls outside beat layout range: \" + offset.toString());\n }\n\n // offset = atom.offset % totalLayoutDuration - rowOffset[layoutLine]\n const layoutOffset = m1.minus(this._rowStartOffsets[layoutLine]);\n return [layoutLine, layoutOffset];\n }\n */\n}\n"]}
|
package/lib/cjs/loader.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import * as TSU from "@panyam/tsutils";
|
|
1
2
|
import * as G from "galore";
|
|
2
3
|
import { BeatLayout, Beat } from "./layouts";
|
|
3
4
|
import { Notation } from "./notation";
|
|
4
|
-
export declare function load(codeText: string, config?: any): [Notation, Map<number, Beat[][]>, Map<number, BeatLayout>, G.ParseError[]];
|
|
5
|
+
export declare function load(codeText: string, config?: any): [Notation, Map<number, Beat[][]>, Map<number, BeatLayout>, G.ParseError[], TSU.StringMap<number>];
|
package/lib/cjs/loader.js
CHANGED
|
@@ -140,11 +140,20 @@ function load(codeText, config) {
|
|
|
140
140
|
}
|
|
141
141
|
finally { if (e_2) throw e_2.error; }
|
|
142
142
|
}
|
|
143
|
+
var buildTime = performance.now();
|
|
143
144
|
if (config.log) {
|
|
144
|
-
var buildTime = performance.now();
|
|
145
145
|
console.log("V4 Document, Parse Time: " + (parseTime - startTime) + "ms, Build Time: " + (buildTime - parseTime) + "ms");
|
|
146
146
|
}
|
|
147
|
-
return [
|
|
147
|
+
return [
|
|
148
|
+
notation,
|
|
149
|
+
beatsByLineRole,
|
|
150
|
+
beatLayouts,
|
|
151
|
+
errors,
|
|
152
|
+
{
|
|
153
|
+
parseTime: parseTime - startTime,
|
|
154
|
+
buildTime: buildTime - parseTime,
|
|
155
|
+
},
|
|
156
|
+
];
|
|
148
157
|
}
|
|
149
158
|
exports.load = load;
|
|
150
159
|
//# sourceMappingURL=loader.js.map
|
package/lib/cjs/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuC;AAGvC,qCAA2D;AAC3D,mCAAkC;AAClC,uCAAsC;AAEtC,SAAgB,IAAI,CAClB,QAAgB,EAChB,MAAgB;;IAAhB,uBAAA,EAAA,WAAgB;IAEhB,IAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,IAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,IAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,IAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,IAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;;QACpC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,QAAQ,CAAA,gBAAA;YAA5B,IAAM,GAAG,WAAA;YAAqB,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAAA;;;;;;;;;;QAGjE,KAAoB,IAAA,KAAA,SAAA,QAAQ,CAAC,MAAM,CAAA,gBAAA,4BAAE;YAAhC,IAAM,KAAK,WAAA;YACd,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;gBACxB,IAAM,IAAI,GAAG,KAAa,CAAC;gBAE3B,IAAM,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAEjB,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,mDAAmD,CAAC,CAAC;oBACtF,IAAI,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;oBAC5D,IAAI,UAAU,IAAI,IAAI,EAAE;wBACtB,UAAU,GAAG,IAAI,oBAAU,CAAC,YAAY,CAAC,CAAC;wBAC1C,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;qBAChD;oBACD,IAAM,SAAS,GAAG,EAAc,CAAC;oBACjC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAE1C,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;;wBACnE,KAAmB,IAAA,oBAAA,SAAA,IAAI,CAAC,KAAK,CAAA,CAAA,gBAAA,4BAAE;4BAA1B,IAAM,IAAI,WAAA;4BACb,IAAM,EAAE,GAAG,IAAI,sBAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;4BAC5D,EAAE,CAAC,QAAQ,OAAX,EAAE,2BAAa,IAAI,CAAC,KAAK,WAAE;4BAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;;gCAGzB,KAAmB,IAAA,oBAAA,SAAA,EAAE,CAAC,KAAK,CAAA,CAAA,gBAAA,4BAAE;oCAAxB,IAAM,IAAI,WAAA;oCACb,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;oCACpD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iCAC1B;;;;;;;;;yBACF;;;;;;;;;iBACF;aACF;SACF;;;;;;;;;IACD,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport * as G from \"galore\";\nimport { Line } from \"./core\";\nimport { BeatLayout, Beat, BeatsBuilder } from \"./layouts\";\nimport { Parser } from \"./parser\";\nimport { Notation } from \"./notation\";\n\nexport function load(\n codeText: string,\n config: any = {},\n): [Notation, Map<number, Beat[][]>, Map<number, BeatLayout>, G.ParseError[], TSU.StringMap<number>] {\n const beatsByLineRole = new Map<number, Beat[][]>();\n const beatLayouts = new Map<number, BeatLayout>();\n const errors: G.ParseError[] = [];\n const startTime = performance.now();\n const notation = new Notation();\n const parser = new Parser();\n parser.parse(codeText);\n const parseTime = performance.now();\n for (const cmd of parser.commands) cmd.applyToNotation(notation);\n\n // Create Line Beats\n for (const block of notation.blocks) {\n if (block.type == \"Line\") {\n const line = block as Line;\n // LP should exist by now\n const layoutParams = notation.layoutParamsForLine(line) || null;\n if (!line.isEmpty) {\n // Probably because this is an empty line and AddAtoms was not called\n TSU.assert(layoutParams != null, \"Layout params for a non empty line *should* exist\");\n let beatLayout = beatLayouts.get(layoutParams.uuid) || null;\n if (beatLayout == null) {\n beatLayout = new BeatLayout(layoutParams);\n beatLayouts.set(layoutParams.uuid, beatLayout);\n }\n const roleBeats = [] as Beat[][];\n beatsByLineRole.set(line.uuid, roleBeats);\n\n const lineOffset = line.offset.divbyNum(layoutParams.beatDuration);\n for (const role of line.roles) {\n const bb = new BeatsBuilder(role, layoutParams, lineOffset);\n bb.addAtoms(...role.atoms);\n roleBeats.push(bb.beats);\n\n // Add these to the beat layout too\n for (const beat of bb.beats) {\n beat.ensureUniformSpaces(layoutParams.beatDuration);\n beatLayout.addBeat(beat);\n }\n }\n }\n }\n }\n const buildTime = performance.now();\n if (config.log) {\n console.log(`V4 Document, Parse Time: ${parseTime - startTime}ms, Build Time: ${buildTime - parseTime}ms`);\n }\n return [\n notation,\n beatsByLineRole,\n beatLayouts,\n errors,\n {\n parseTime: parseTime - startTime,\n buildTime: buildTime - parseTime,\n },\n ];\n}\n"]}
|
package/lib/cjs/notation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notation.js","sourceRoot":"","sources":["../../src/notation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notation.js","sourceRoot":"","sources":["../../src/notation.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Cycle, Entity, Line } from \"./core\";\nimport { LayoutParams } from \"./layouts\";\n\nexport class RoleDef {\n name = \"\";\n notesOnly = false;\n index = 0;\n}\n\nexport type CmdParam = { key: TSU.Nullable<string>; value: any };\nexport abstract class Command extends Entity {\n // Commands that are auto generated are usually created by other commands\n autoGenerated = false;\n prevSibling: null | Command = null;\n nextSibling: null | Command = null;\n params: CmdParam[];\n index: number;\n\n constructor(params: CmdParam[] = []) {\n super();\n this.params = params;\n this.index = 0;\n this.validateParams();\n }\n\n /**\n * called to validate parameters.\n */\n validateParams(): void {\n //\n }\n\n get name(): string {\n return this.constructor.name;\n }\n\n get type(): string {\n return \"Command\";\n }\n\n debugValue(): any {\n return { name: this.name, index: this.index, params: this.params };\n }\n\n getParam(name: string): any {\n for (const param of this.params) {\n if (param.key == name) return param.value;\n }\n return null;\n }\n\n getParamAt(index: number): any {\n return index < this.params.length ? this.params[index].value : null;\n }\n abstract applyToNotation(notebook: Notation): void;\n}\n\nexport class RawBlock extends Entity {\n constructor(public content: string, public contentType: string = \"md\") {\n super();\n }\n\n debugValue(): any {\n return { ...super.debugValue(), content: this.content, contentType: this.contentType };\n }\n}\n\nexport class MetaData {\n constructor(public readonly key: string, public readonly value: string, public readonly params?: any) {\n params = params || {};\n }\n}\n\nexport class Notation extends Entity {\n private _unnamedLayoutParams: LayoutParams[] = [];\n private _namedLayoutParams = new Map<string, LayoutParams>();\n private _currRoleDef: TSU.Nullable<RoleDef> = null;\n roles: RoleDef[] = [];\n blocks: (Line | RawBlock)[] = [];\n private lpsForLine = new Map<number, LayoutParams>();\n currentAPB = 1;\n currentCycle: Cycle = Cycle.DEFAULT;\n currentBreaks: number[] = [];\n metadata = new Map<string, MetaData>();\n onMissingRole: (name: string) => RoleDef | null = (name) => this.newRoleDef(name, name == \"sw\");\n\n layoutParamsForLine(line: Line): null | LayoutParams {\n return this.lpsForLine.get(line.uuid) || null;\n }\n\n setLayoutParamsForLine(line: Line, layoutParams: LayoutParams): void {\n this.lpsForLine.set(line.uuid, layoutParams);\n }\n\n get unnamedLayoutParams(): ReadonlyArray<LayoutParams> {\n return this._unnamedLayoutParams;\n }\n\n get namedLayoutParams(): ReadonlyMap<string, LayoutParams> {\n return this._namedLayoutParams;\n }\n\n get type(): unknown {\n return \"Notation\";\n }\n\n addLine(line: Line): void {\n this.blocks.push(line);\n }\n\n removeLine(line: Line): number {\n const index = this.blocks.findIndex((l) => l == line);\n if (index >= 0) {\n this.blocks.splice(index, 1);\n }\n return index;\n }\n\n addRawBlock(raw: RawBlock): void {\n this.blocks.push(raw);\n this.resetLine();\n }\n\n addMetaData(meta: MetaData): void {\n if (!this.metadata.has(meta.key)) {\n // Add a new raw block here\n // set this by key so even if metadata changes we can\n // get latest value of it\n const raw = new RawBlock(meta.key, \"metadata\");\n this.addRawBlock(raw);\n }\n this.metadata.set(meta.key, meta);\n }\n\n debugValue(): any {\n return {\n ...super.debugValue,\n roles: this.roles,\n blocks: this.blocks.map((b) => b.debugValue()),\n currentAPB: this.currentAPB,\n currentCycle: this.currentCycle?.uuid,\n currentBreaks: this.currentBreaks,\n };\n }\n\n getRoleDef(name: string): TSU.Nullable<RoleDef> {\n name = name.trim().toLowerCase();\n if (name == \"\") {\n return this.roles[this.roles.length - 1] || null;\n }\n for (let i = 0; i < this.roles.length; i++) {\n const rd = this.roles[i];\n if (name == rd.name) return rd;\n }\n return null;\n }\n\n newRoleDef(name: string, notesOnly = false): RoleDef {\n name = name.trim().toLowerCase();\n if (name.trim() == \"\") {\n throw new Error(\"Role name cannot be empty\");\n }\n const roleDef = this.getRoleDef(name);\n if (roleDef != null) {\n throw new Error(\"Role already exists\");\n // roleDef.notesOnly = notesOnly;\n // return roleDef;\n }\n // create new and add\n const rd = new RoleDef();\n rd.name = name;\n rd.notesOnly = notesOnly;\n rd.index = this.roles.length;\n this.roles.push(rd);\n\n return rd;\n }\n\n get currRoleDef(): RoleDef | null {\n if (this._currRoleDef == null) {\n if (this.roles.length == 0) {\n return null;\n } else {\n this._currRoleDef = this.roles[this.roles.length - 1];\n }\n }\n return this._currRoleDef;\n }\n\n setCurrRole(name: string): void {\n name = name.trim().toLowerCase();\n if (name.trim() == \"\") {\n throw new Error(\"Role name cannot be empty\");\n }\n const roleDef = this.getRoleDef(name) || (this.onMissingRole ? this.onMissingRole(name) || null : null);\n if (roleDef == null) {\n throw new Error(\"Role not found: \" + name);\n }\n this._currRoleDef = roleDef;\n }\n\n // Gets the current line, creating it if needed\n private _currentLine: Line | null = null;\n get currentLine(): Line {\n if (this._currentLine == null) {\n return this.newLine();\n }\n return this._currentLine;\n }\n\n resetLine(): void {\n this._currentLine = null;\n }\n\n newLine(): Line {\n if (this._currentLine && this._currentLine.isEmpty) {\n // then remove it first instead of adding another\n // so we dont have a string of empty lines\n this.removeLine(this._currentLine);\n }\n this._currentLine = new Line();\n this.addLine(this._currentLine);\n return this._currentLine;\n }\n\n private _layoutParams: LayoutParams | null = null;\n resetLayoutParams(): void {\n this._layoutParams = null;\n this.resetLine();\n }\n\n get layoutParams(): LayoutParams {\n if (this._layoutParams == null) {\n // create it or find one that matches current params\n this._layoutParams = this.findUnnamedLayoutParams();\n if (this._layoutParams == null) {\n this._layoutParams = this.snapshotLayoutParams();\n this._unnamedLayoutParams.push(this._layoutParams);\n }\n }\n return this._layoutParams;\n }\n\n ensureNamedLayoutParams(name: string): LayoutParams {\n let lp = this._namedLayoutParams.get(name) || null;\n if (lp == null || this._layoutParams != lp) {\n // no change so go ahead\n if (lp == null) {\n // does not exist so create one by re-snapshotting it\n // and saving it\n lp = this.snapshotLayoutParams();\n this._namedLayoutParams.set(name, lp);\n } else {\n // copy named LPs attributes into our locals\n this.currentCycle = lp.cycle;\n this.currentAPB = lp.beatDuration;\n this.currentBreaks = lp.lineBreaks;\n }\n this._layoutParams = lp;\n this.resetLine(); // since layout params have changed\n }\n return this._layoutParams;\n }\n\n protected snapshotLayoutParams(): LayoutParams {\n return new LayoutParams({\n cycle: this.currentCycle,\n beatDuration: this.currentAPB,\n layout: this.currentBreaks,\n });\n }\n\n /**\n * Find a layout params that is currently _unnamed but matches one\n * by current set of layout attributes.\n */\n protected findUnnamedLayoutParams(): LayoutParams | null {\n return (\n this._unnamedLayoutParams.find((lp) => {\n return (\n lp.beatDuration == this.currentAPB &&\n this.currentCycle.equals(lp.cycle) &&\n lp.lineBreaksEqual(this.currentBreaks)\n );\n }) || null\n );\n }\n}\n"]}
|
package/lib/cjs/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport * as G from \"galore\";\nimport * as TLEX from \"tlex\";\nimport { Literal, AtomType, Note, Atom, Rest, Space, Syllable, Group } from \"./core\";\nimport { Command, CmdParam } from \"./notation\";\nimport {\n RawEmbedding,\n ApplyLayout,\n AddAtoms,\n SetCycle,\n SetBeatDuration,\n SetBreaks,\n ActivateRole,\n CreateRole,\n CreateLine,\n MetaData,\n} from \"./commands\";\n\n// TODO - Make this plugable from the client instead of hard coded\nimport * as carnatic from \"./carnatic\";\n\nconst ONE = TSU.Num.Fraction.ONE;\nconst TWO = ONE.timesNum(2);\n\n/**\n * V4 of our parser builds on V3 and has the following improvements:\n *\n * 1. Embedding Headings to demarcate sections so users dont have to use\n * explicit MD for headings.\n * 2. Unlike V3 here users break out *of* song instead instead break out \"into\"\n * song. So users spend more time writing notation and less worrying about\n * other things like headings etc.\n */\nconst [parser, itemGraph] = G.newParser(\n String.raw`\n %define IdentChar /[^%!@&\\^|\\[\\]={}()+\\-,;~: \\t\\f\\r\\n\\v\\\\\\.]/\n\n %token BSLASH \"\\\\\"\n %token OPEN_SQ \"[\"\n %token CLOSE_SQ \"]\"\n %token EQUALS \"=\"\n %token OPEN_PAREN \"(\"\n %token CLOSE_PAREN \")\"\n %token OPEN_BRACE \"{\"\n %token CLOSE_BRACE \"}\"\n %token SLASH \"/\"\n %token STAR \"*\"\n %token CARET \"^\"\n // %skip \"-\"\n %token COMMA \",\"\n %token SEMI_COLON \";\"\n %token COLON \":\"\n\n %token SINGLE_LINE_RAW_STRING />(.*)$/m { toSingleLineRawString }\n %token MULTI_LINE_RAW_STRING /r(#{0,})\"/ { toMultiLineRawString }\n\n %token EMBELISHMENT /~[^\\s]*/ { toEmbelishment }\n %token NUMBER /-?\\d+/ { toNumber }\n %token BOOLEAN /true|false/ { toBoolean }\n %token STRING /\"([^\"\\\\\\n]|\\\\.|\\\\\\n)*\"/ { toString }\n %token STRING /'([^'\\\\\\n]|\\\\.|\\\\\\n)*'/ { toString }\n %token DOTS_IDENT /(\\.+)({IdentChar}+)/ { toOctavedNote }\n %token IDENT_DOTS /({IdentChar}+)(\\.+)/ { toOctavedNote }\n %token IDENT_COLON /{IdentChar}+:/ { toRoleSelector }\n %token IDENT /{IdentChar}+/\n %token BSLASH_IDENT /\\\\{IDENT}/ { toCommandName }\n %token BSLASH_NUMBER /\\\\{NUMBER}/\n %token HYPHEN /-/\n %skip /[ \\t\\n\\f\\r]+/\n %skip_flex \"//.*$\"\n %skip /\\/\\*.*?\\*\\//\n\n Elements -> Elements Command Atoms { appendCommand } \n | Elements RoleSelector Atoms { appendRoleSelector } \n | Elements Embedding Atoms { insertEmbedding }\n | Atoms { appendAtoms }\n ;\n\n Embedding -> SINGLE_LINE_RAW_STRING | MULTI_LINE_RAW_STRING ;\n\n Command -> BSLASH_IDENT CommandParams ? { newCommand } ;\n CommandParams -> OPEN_PAREN ParamList ? CLOSE_PAREN { $2 } ;\n\n ParamList -> ParamList COMMA Param { concatParamList } ;\n ParamList -> Param { newParamList };\n Param -> ParamValue { newParam } ;\n Param -> ParamKey EQUALS ParamValue { newParam } ;\n ParamKey -> IDENT ;\n ParamValue -> ( STRING | Fraction | NUMBER | BOOLEAN ) ;\n\n RoleSelector -> IDENT_COLON ;\n\n Atoms -> Atoms Atom { concatAtoms } ;\n Atoms -> { newArray } ;\n\n Atom -> Leaf ;\n Atom -> Duration Leaf { applyDuration } ;\n Leaf -> Space | Lit | Group | Rest ;\n Rest -> HYPHEN { newRest };\n\n Space -> COMMA { newSpace } \n | SEMI_COLON { newDoubleSpace } \n | UNDER_SCORE { newSilentSpace } \n ;\n\n /*\n Lit -> DOTS_IDENT { litToAtom } \n | IDENT { litToAtom } \n | IDENT_DOTS { litToAtom } \n | STRING { litToAtom }\n | PRE_EMB Lit { litWithPreEmb }\n // | Lit POST_EMB { litWithPostEmb }\n ;\n */\n\n /* - An alternative representation to support both pre and post embelishment operators. */\n Lit -> Lit POST_EMB { litWithPostEmb }\n | PreEmbLit\n ;\n\n PreEmbLit -> LitToken \n | LitToken CARET NUMBER { litWithCaret }\n | LitToken CARET STAR { litWithCaret }\n | PRE_EMB PreEmbLit { litWithPreEmb }\n ;\n \n LitToken -> DOTS_IDENT { litToAtom }\n | IDENT { litToAtom }\n | IDENT_DOTS { litToAtom }\n | STRING { litToAtom }\n ;\n\n Group -> OPEN_SQ Atoms CLOSE_SQ { newGroup };\n\n Duration -> Fraction | NUMBER;\n Fraction -> NUMBER SLASH NUMBER { newFraction } ;\n `,\n {\n allowLeftRecursion: true,\n debug: \"\",\n type: \"lalr\",\n tokenHandlers: {\n toEmbelishment: (token: TLEX.Token, tape: TLEX.Tape, owner: Parser) => {\n const [emb, pre] = owner.parseEmbelishment(token.value);\n if (emb == null) {\n console.log(\"Skipping Embelishment: \", token.value);\n return null;\n }\n token.value = emb;\n token.tag = pre ? \"PRE_EMB\" : \"POST_EMB\";\n return token;\n },\n toCommandName: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n token.value = token.value.substring(1);\n return token;\n },\n toBoolean: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n token.value = token.value == \"true\";\n return token;\n },\n toNumber: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n token.value = parseInt(token.value);\n return token;\n },\n toString: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n token.value = token.value.substring(1, token.value.length - 1);\n return token;\n },\n toOctavedNote: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n if (token.tag == \"DOTS_IDENT\") {\n const octave = token.positions[1][1] - token.positions[1][0];\n const note = token.value.substring(octave);\n token.value = new Note(note, ONE, -octave);\n } else if (token.tag == \"IDENT_DOTS\") {\n const octave = token.positions[2][1] - token.positions[2][0];\n const note = token.value.substring(0, token.value.length - octave);\n token.value = new Note(note, ONE, octave);\n } else {\n throw new Error(\"Invalid token for converting to note: \" + token.tag);\n }\n return token;\n },\n toRoleSelector: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n token.value = token.value.substring(0, token.value.length - 1);\n return token;\n },\n toLineAnnotation: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n // skip the initial \"!\"\n token.value = token.value.substring(1);\n return token;\n },\n toSingleLineRawString: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n // skip the initial \">\"\n token.value = token.value.substring(1);\n return token;\n },\n toMultiLineRawString: (token: TLEX.Token, tape: TLEX.Tape, owner: any) => {\n // consume everything until \"#<N times> as start\n const hashes = tape.substring(token.positions[1][0], token.positions[1][1]);\n const endPat = '\"' + hashes;\n const startPos = tape.index;\n const endPos = TLEX.TapeHelper.advanceAfter(tape, endPat) - endPat.length;\n if (endPos < 0) {\n throw new Error(\"EOF expected while finding end of Raw String Literal: '\" + endPat + \"'\");\n }\n token.value = tape.substring(startPos, endPos);\n return token;\n },\n },\n },\n);\n\n/**\n * A notation doc is a list of lines that are found in a single document.\n *\n * Since our document (md or html etc) can contain multiple snippets\n * all these snippets are related\n */\nexport class Parser {\n readonly commands: Command[] = [];\n // readonly notation: Notation = new Notation();\n private runCommandFound = false;\n // readonly parseTree = new PTNodeList(\"Snippet\", null);\n\n protected ruleHandlers = {\n newFraction: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n if (children.length == 1) {\n return new TSU.Num.Fraction(children[0].value);\n } else {\n return new TSU.Num.Fraction(children[0].value, children[2].value);\n }\n },\n newGroup: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const out = new Group(TWO, ...children[1].value);\n out.durationIsMultiplier = true;\n return out;\n },\n litWithCaret: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const lit = Note.fromLit(children[0].value as Literal);\n const opnode = children[2];\n const shiftValue = opnode.sym.label == \"STAR\" ? true : opnode.value;\n lit.shift = shiftValue;\n return lit;\n },\n litWithPreEmb: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const emb = children[0];\n const lit = children[1].value as Literal;\n lit.embelishments.splice(0, 0, emb.value);\n return lit;\n },\n litWithPostEmb: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const lit = children[0].value as Literal;\n const emb = children[1];\n lit.embelishments.push(emb);\n return lit;\n },\n litToAtom: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const lit = children[0];\n if (lit.sym.label == \"DOTS_IDENT\" || lit.sym.label == \"IDENT_DOTS\") {\n return lit.value;\n } else if (lit.sym.label == \"IDENT\") {\n // Mark this as a Literal to be processed later\n return new Literal(lit.value);\n // return role.notesOnly ? new Note(lit.value) : new Syllable(lit.value);\n } else if (lit.sym.label == \"STRING\") {\n // const role = this.snippet.currRole;\n // if (role.notesOnly) throw new Error(\"Strings cannot appear in notes only mode\");\n return new Syllable(lit.value);\n } else {\n throw new Error(\"Invalid lit: \" + lit);\n }\n },\n newSpace: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return new Space();\n },\n newRest: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return new Rest();\n },\n newDoubleSpace: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return new Space(ONE.timesNum(2));\n },\n newSilentSpace: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return new Space(ONE, true);\n },\n applyDuration: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n let dur = children[0].value as TSU.Num.Fraction | number;\n const leaf = children[1].value as Atom;\n if (typeof dur === \"number\") {\n dur = ONE.timesNum(dur);\n }\n leaf.duration = dur;\n if (leaf.type == AtomType.GROUP) {\n (leaf as Group).durationIsMultiplier = true;\n }\n return leaf;\n },\n newArray: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n // create an array of values from all the values of child nodes\n return children.map((c) => c.value);\n },\n concatAtoms: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const atoms = children[0].value;\n const atom = children[1].value;\n atoms.push(atom);\n return atoms;\n },\n newParam: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n if (children.length == 1) {\n return { key: null, value: children[0].value };\n } else {\n return { key: children[0].value, value: children[2].value };\n }\n },\n newParamList: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return [children[0].value];\n },\n concatParamList: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const params = children[0].value;\n const newParam = children[2].value;\n params.push(newParam);\n return params;\n },\n newCommand: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n return this.createCommand(children[0].value, children[1].value);\n },\n appendAtoms: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const atoms = children[0].value as Atom[];\n if (atoms.length > 0) {\n this.addCommand(new AddAtoms(...atoms));\n }\n return null;\n },\n appendCommand: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const command = children[1].value as Command;\n this.addCommand(command);\n\n const atoms = children[2].value as Atom[];\n if (atoms.length > 0) {\n this.addCommand(new AddAtoms(...atoms));\n }\n return null;\n },\n appendRoleSelector: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n const roleName = children[1].value;\n const lName = roleName.toLowerCase().trim();\n this.addCommand(new ActivateRole([{ key: null, value: lName }]));\n\n const atoms = children[2].value as Atom[];\n if (atoms.length > 0) {\n this.addCommand(new AddAtoms(...atoms));\n }\n return null;\n },\n insertEmbedding: (rule: G.Rule, parent: G.PTNode, ...children: G.PTNode[]) => {\n // How to handle embeddings - these are just blocks\n // to escape out of song (most likely for some rendering of html/md etc)\n const rawVal = children[1].value;\n this.addCommand(new RawEmbedding([{ key: null, value: rawVal }]));\n const atoms = children[2].value as Atom[];\n if (atoms.length > 0) {\n this.addCommand(new AddAtoms(...atoms));\n }\n return null;\n },\n };\n\n constructor(config?: any) {\n config = config || {};\n }\n\n createCommand(name: string, params: CmdParam[]): Command {\n const lName = name.trim().toLowerCase();\n params = params || [];\n if (lName == \"line\") {\n return new CreateLine(params);\n } else if (lName == \"meta\") {\n return new MetaData(params);\n } else if (lName == \"role\") {\n return new CreateRole(params);\n } else if (lName == \"layout\") {\n return new ApplyLayout(params);\n } else if (lName == \"beatduration\") {\n return new SetBeatDuration(params);\n } else if (lName == \"breaks\") {\n return new SetBreaks(params);\n } else if (lName == \"cycle\") {\n return new SetCycle(params);\n } else {\n // Try to set this as the current role\n throw new Error(\"Invalid command: \" + lName);\n }\n }\n\n addCommand(cmd: Command): void {\n cmd.index = this.commands.length;\n this.commands.push(cmd);\n }\n\n parse(input: string): any {\n const ptree = parser.parse(input, {\n tokenizerContext: this,\n ruleHandlers: this.ruleHandlers,\n });\n return ptree;\n }\n\n parseEmbelishment(value: string): [any, boolean] {\n return carnatic.parseEmbelishment(value);\n }\n}\n"]}
|
package/lib/cjs/shapes.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export declare abstract class Shape {
|
|
|
18
18
|
protected abstract updateBounds(x: null | number, y: null | number, w: null | number, h: null | number): [number | null, number | null, number | null, number | null];
|
|
19
19
|
resetMinSize(): void;
|
|
20
20
|
setBounds(x: number | null, y: number | null, w: number | null, h: number | null, applyLayout?: boolean): [number | null, number | null, number | null, number | null];
|
|
21
|
+
get hasX(): boolean;
|
|
22
|
+
get hasY(): boolean;
|
|
23
|
+
get hasWidth(): boolean;
|
|
24
|
+
get hasHeight(): boolean;
|
|
21
25
|
get x(): number;
|
|
22
26
|
set x(x: number | null);
|
|
23
27
|
get y(): number;
|
package/lib/cjs/shapes.js
CHANGED
|
@@ -169,11 +169,37 @@ var Shape = (function () {
|
|
|
169
169
|
this.refreshLayout();
|
|
170
170
|
return [nx, ny, nw, nh];
|
|
171
171
|
};
|
|
172
|
+
Object.defineProperty(Shape.prototype, "hasX", {
|
|
173
|
+
get: function () {
|
|
174
|
+
return this._x != null && !isNaN(this._x);
|
|
175
|
+
},
|
|
176
|
+
enumerable: false,
|
|
177
|
+
configurable: true
|
|
178
|
+
});
|
|
179
|
+
Object.defineProperty(Shape.prototype, "hasY", {
|
|
180
|
+
get: function () {
|
|
181
|
+
return this._y != null && !isNaN(this._y);
|
|
182
|
+
},
|
|
183
|
+
enumerable: false,
|
|
184
|
+
configurable: true
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(Shape.prototype, "hasWidth", {
|
|
187
|
+
get: function () {
|
|
188
|
+
return this._width != null && !isNaN(this._width);
|
|
189
|
+
},
|
|
190
|
+
enumerable: false,
|
|
191
|
+
configurable: true
|
|
192
|
+
});
|
|
193
|
+
Object.defineProperty(Shape.prototype, "hasHeight", {
|
|
194
|
+
get: function () {
|
|
195
|
+
return this._height != null && !isNaN(this._height);
|
|
196
|
+
},
|
|
197
|
+
enumerable: false,
|
|
198
|
+
configurable: true
|
|
199
|
+
});
|
|
172
200
|
Object.defineProperty(Shape.prototype, "x", {
|
|
173
201
|
get: function () {
|
|
174
|
-
|
|
175
|
-
return this._x;
|
|
176
|
-
return 0;
|
|
202
|
+
return this._x || 0;
|
|
177
203
|
},
|
|
178
204
|
set: function (x) {
|
|
179
205
|
this.setBounds(x == null ? NaN : x, null, null, null);
|
|
@@ -245,8 +271,10 @@ var ElementShape = (function (_super) {
|
|
|
245
271
|
return [x, y, w, h];
|
|
246
272
|
};
|
|
247
273
|
ElementShape.prototype.refreshLayout = function () {
|
|
248
|
-
|
|
249
|
-
|
|
274
|
+
if (this.hasX)
|
|
275
|
+
this.element.setAttribute("x", "" + this._x);
|
|
276
|
+
if (this.hasY)
|
|
277
|
+
this.element.setAttribute("y", "" + this._y);
|
|
250
278
|
};
|
|
251
279
|
return ElementShape;
|
|
252
280
|
}(Shape));
|
package/lib/cjs/shapes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/shapes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuC;AAQvC;IAAA;QAEW,YAAO,GAAW,KAAK,CAAC,SAAS,EAAE,CAAC;QAMnC,OAAE,GAAkB,IAAI,CAAC;QACzB,OAAE,GAAkB,IAAI,CAAC;QACzB,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAkB,IAAI,CAAC;QAG9B,gBAAW,GAAiB,IAAI,CAAC;QAC3C,aAAQ,GAAY,EAAE,CAAC;IA8OzB,CAAC;IAxOC,sBAAI,0BAAO;aAAX;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;aAEvC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAKD,wBAAQ,GAAR,UAAS,KAAY,EAAE,KAAU;QAAV,sBAAA,EAAA,SAAS,CAAC;QAE/B,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAGzB,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC;IAKD,2BAAW,GAAX,UAAY,KAAY;QACtB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAChC;QACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC;IAKD,gCAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;IA6BD,4BAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,GAAG,IAAgC,CAAC;IACnD,CAAC;IAeD,yBAAS,GAAT,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,WAAmB;QAAnB,4BAAA,EAAA,mBAAmB;QAEnB,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM;gBACL,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACb;SACF;QACD,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM;gBACL,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACb;SACF;QACD,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB;SACF;QACD,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAClB;SACF;QACK,IAAA,KAAA,OAAmB,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,EAA/C,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAAiC,CAAC;QACvD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM;gBACL,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;aACd;SACF;QACD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM;gBACL,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;aACd;SACF;QACD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAClB;SACF;QACD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;aACnB;SACF;QACD,IAAI,WAAW;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAmBD,sBAAI,oBAAC;aAAL;YACE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,CAAC;QACX,CAAC;aAKD,UAAM,CAAgB;YAIpB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;;;OAVA;IAeD,sBAAI,oBAAC;aAAL;YACE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,CAAC;QACX,CAAC;aAKD,UAAM,CAAgB;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;;;OAPA;IASD,sBAAI,wBAAK;aAAT;YACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC;aAED,UAAU,CAAgB;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;;;OAJA;IAMD,sBAAI,yBAAM;aAAV;YACE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;aAED,UAAW,CAAgB;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;;;OAJA;IAaD,6BAAa,GAAb;IAEA,CAAC;IA3Pc,eAAS,GAAG,CAAC,CAAC;IA4P/B,YAAC;CAAA,AA7PD,IA6PC;AA7PqB,sBAAK;AA+P3B;IAA2C,gCAAK;IAAhD;;IAAkD,CAAC;IAAD,mBAAC;AAAD,CAAC,AAAnD,CAA2C,KAAK,GAAG;AAA7B,oCAAY;AAElC;IAAkC,gCAAK;IACrC,sBAA4B,OAA2B;QAAvD,YACE,iBAAO,SACR;QAF2B,aAAO,GAAP,OAAO,CAAoB;;IAEvD,CAAC;IAES,qCAAc,GAAxB;QACE,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAES,mCAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,oCAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACH,mBAAC;AAAD,CAAC,AAtBD,CAAkC,KAAK,GAsBtC;AAtBY,oCAAY;AAwBzB;IAAuC,4BAAK;IAa1C,kBAAmB,QAAkB;QAArC,YACE,iBAAO,SACR;QAFkB,cAAQ,GAAR,QAAQ,CAAU;QAXrC,WAAK,GAAG,CAAC,CAAC;QACV,eAAS,GAAG,CAAC,CAAC;;IAYd,CAAC;IAWS,iCAAc,GAAxB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAES,+BAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAI,4BAAM;aAAV;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5B,CAAC;;;OAAA;IAED,0BAAO,GAAP;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAA0C,CAAC;QAC7E,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE;YAC9E,QAAQ,GAAG,QAAQ,CAAC,aAA0C,CAAC;SAChE;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACH,eAAC;AAAD,CAAC,AAlDD,CAAuC,KAAK,GAkD3C;AAlDqB,4BAAQ"}
|
|
1
|
+
{"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/shapes.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { FlatAtom } from \"./iterators\";\n\n/**\n * Base class of all renderable objects for caching things like bounding boxes etc.\n * We do this since a lot of the property setters dont change bounding boxes but\n * bounding box reads are a bit slow in general.\n */\nexport abstract class Shape {\n private static idCounter = 0;\n readonly shapeId: number = Shape.idCounter++;\n /**\n * Note that x and y coordinates are not always the x and y coordinates of the bounding box.\n * Eg a circle's x and y coordinates are its center point and not the top left corner\n * These \"main\" coordinates are referred as control coordinates.\n */\n protected _x: number | null = null;\n protected _y: number | null = null;\n protected _width: number | null = null;\n protected _height: number | null = null;\n // protected _bbox: TSU.Geom.Rect;\n protected _minSize: TSU.Geom.Size;\n protected parentShape: Shape | null = null;\n children: Shape[] = [];\n\n /**\n * Sizes can have a minimum size.\n * This is usually the size of the bounding box.\n */\n get minSize(): TSU.Geom.Size {\n if (!this._minSize) {\n this._minSize = this.refreshMinSize();\n // this.xChanged = this.yChanged = this.widthChanged = this.heightChanged = false;\n }\n return this._minSize;\n }\n\n /**\n * Add a child shape.\n */\n addShape(child: Shape, index = -1): void {\n // Orphan it first\n child.removeFromParent();\n\n // Then add it\n if (index >= 0) {\n this.children.splice(index, 0, child);\n } else {\n this.children.push(child);\n }\n child.parentShape = this;\n }\n\n /**\n * Remove a child from our children list if it exists.\n */\n removeShape(child: Shape): void {\n const index = this.children.indexOf(child);\n if (index >= 0) {\n this.children.splice(index, 1);\n }\n child.parentShape = null;\n }\n\n /**\n * Remove ourselves from our parent.\n */\n removeFromParent(): void {\n if (this.parentShape) {\n this.parentShape.removeShape(this);\n }\n }\n\n /**\n * Returns the unioned bounding box of all child shapes.\n */\n /*\n protected childrenBBox(): TSU.Geom.Rect | null {\n let bbox: TSU.Geom.Rect | null = null;\n for (let i = this.children.length - 1; i >= 0; i--) {\n if (bbox == null) bbox = TSU.Geom.Rect.from(this.children[i].bbox);\n else bbox = bbox.union(this.children[i].bbox);\n }\n return bbox;\n }\n */\n\n /**\n * refreshBBox is called by the Shape when it knows the bbox it is tracking\n * cannot be trusted and has to be refreshed by calling native methods.\n */\n protected abstract refreshMinSize(): TSU.Geom.Size;\n // protected abstract refreshBBox(): TSU.Geom.Rect;\n protected abstract updateBounds(\n x: null | number,\n y: null | number,\n w: null | number,\n h: null | number,\n ): [number | null, number | null, number | null, number | null];\n\n resetMinSize(): void {\n this._minSize = null as unknown as TSU.Geom.Size;\n }\n /*\n resetBBox(): void {\n this._bbox = null as unknown as TSU.Geom.Rect;\n }\n */\n\n /**\n * Sets the x or y coordinate of this shape in coordinate system within its\n * parent.\n *\n * Note that null and NaN are valid values and mean the following:\n * null - Dont change the value. Passed to \"ignore\" effects.\n * NaN - Ensure the value is set to null so that the bounding box specific coord is used going forward.\n */\n setBounds(\n x: number | null,\n y: number | null,\n w: number | null,\n h: number | null,\n applyLayout = false,\n ): [number | null, number | null, number | null, number | null] {\n if (x != null) {\n if (isNaN(x)) {\n this._x = null;\n } else {\n this._x = x;\n }\n }\n if (y != null) {\n if (isNaN(y)) {\n this._y = null;\n } else {\n this._y = y;\n }\n }\n if (w != null) {\n if (isNaN(w)) {\n this._width = null;\n } else {\n this._width = w;\n }\n }\n if (h != null) {\n if (isNaN(h)) {\n this._height = null;\n } else {\n this._height = h;\n }\n }\n const [nx, ny, nw, nh] = this.updateBounds(x, y, w, h);\n if (nx != null) {\n if (isNaN(nx)) {\n this._x = null;\n } else {\n this._x = nx;\n }\n }\n if (ny != null) {\n if (isNaN(ny)) {\n this._y = null;\n } else {\n this._y = ny;\n }\n }\n if (nw != null) {\n if (isNaN(nw)) {\n this._width = null;\n } else {\n this._width = nw;\n }\n }\n if (nh != null) {\n if (isNaN(nh)) {\n this._height = null;\n } else {\n this._height = nh;\n }\n }\n if (applyLayout) this.refreshLayout();\n // this.resetBBox();\n return [nx, ny, nw, nh];\n }\n\n /**\n * Gets the bounding box of this shape in the coordinate system within\n * the parent.\n */\n /*\n protected get bbox2(): TSU.Geom.Rect {\n if (!this._bbox) {\n this._bbox = this.refreshBBox().union(this.childrenBBox());\n // this.xChanged = this.yChanged = this.widthChanged = this.heightChanged = false;\n }\n return this._bbox;\n }\n */\n\n get hasX(): boolean {\n return this._x != null && !isNaN(this._x);\n }\n\n get hasY(): boolean {\n return this._y != null && !isNaN(this._y);\n }\n\n get hasWidth(): boolean {\n return this._width != null && !isNaN(this._width);\n }\n\n get hasHeight(): boolean {\n return this._height != null && !isNaN(this._height);\n }\n\n /**\n * Gets the x coordinate within the parent's coordinate system.\n */\n get x(): number {\n return this._x || 0;\n }\n\n /**\n * Sets the x coordinate within the parent's coordinate system.\n */\n set x(x: number | null) {\n // Here a manual x is being set - how does this interfere with the bounding box?\n // We should _x to the new value to indicate a manual value was set.\n // and reset bbox so that based on this x a new bbox may need to be calculated\n this.setBounds(x == null ? NaN : x, null, null, null);\n }\n\n /**\n * Gets the y coordinate within the parent's coordinate system.\n */\n get y(): number {\n if (this._y != null) return this._y;\n return 0; // this.bbox.y;\n }\n\n /**\n * Sets the y coordinate within the parent's coordinate system.\n */\n set y(y: number | null) {\n this.setBounds(null, y == null ? NaN : y, null, null);\n }\n\n get width(): number {\n if (this._width != null) return this._width;\n return 0; // this.bbox.width;\n }\n\n set width(w: number | null) {\n this.setBounds(null, null, w == null ? NaN : w, null);\n }\n\n get height(): number {\n if (this._height != null) return this._height;\n return 0; // this.bbox.height;\n }\n\n set height(h: number | null) {\n this.setBounds(null, null, null, h == null ? NaN : h);\n }\n\n /**\n * This is called when bounds or other properties of a shape have changed to\n * give the shape an opportunity to layout the children. For shapes\n * with no children this is a no-op. It is expected the Shape will keep track\n * of all changes so it can apply them all in in one go in this method - A\n * form of \"commit\"ing the layout transaction.\n */\n refreshLayout(): void {\n // throw new Error(\"Implement this\");\n }\n}\n\nexport abstract class Embelishment extends Shape {}\n\nexport class ElementShape extends Shape {\n constructor(public readonly element: SVGGraphicsElement) {\n super();\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n return TSU.DOM.svgBBox(this.element);\n }\n\n protected updateBounds(\n x: null | number,\n y: null | number,\n w: null | number,\n h: null | number,\n ): [number | null, number | null, number | null, number | null] {\n return [x, y, w, h];\n }\n\n refreshLayout(): void {\n if (this.hasX) this.element.setAttribute(\"x\", \"\" + this._x);\n if (this.hasY) this.element.setAttribute(\"y\", \"\" + this._y);\n }\n}\n\nexport abstract class AtomView extends Shape {\n glyph: ElementShape;\n depth = 0;\n roleIndex = 0;\n\n // LayoutMetrics for the AtomView so all atomviews laid out on the\n // same baseline will show up aligned vertically\n baseline: number;\n ascent: number;\n descent: number;\n capHeight: number;\n leading: number;\n\n constructor(public flatAtom: FlatAtom) {\n super();\n }\n\n /**\n * Creates views needed for this AtomView.\n */\n abstract createElements(parent: SVGGraphicsElement): void;\n abstract refreshLayout(): void;\n\n /**\n * By default the glyph's bbox is our bbox.\n */\n protected refreshMinSize(): TSU.Geom.Size {\n return this.glyph.minSize;\n }\n\n protected updateBounds(\n x: null | number,\n y: null | number,\n w: null | number,\n h: null | number,\n ): [number | null, number | null, number | null, number | null] {\n return this.glyph.setBounds(x, y, w, h);\n }\n\n get viewId(): number {\n return this.flatAtom.uuid;\n }\n\n embRoot(): SVGGraphicsElement {\n let rootElem = this.glyph.element.parentElement as any as SVGGraphicsElement;\n while (rootElem && (rootElem.tagName == \"tspan\" || rootElem.tagName == \"text\")) {\n rootElem = rootElem.parentElement as any as SVGGraphicsElement;\n }\n return rootElem;\n }\n}\n"]}
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Cycle, Bar, Atom, Space, Group, Syllable } from \"./core\";\nconst ONE = TSU.Num.Fraction.ONE;\n\n/**\n * Convert a cycle given as a string into the bars representing\n * each of its cycle bars.\n */\nexport function cycleStrToBarsStrs(cycleStr: string): string[] {\n return cycleStr\n .replace(/\\|+/g, \"|\")\n .split(\"|\")\n .map((x) => x.trim())\n .filter((x) => x.length > 0);\n}\n\n/**\n * Parse a tala pattern string.\n */\nexport function parseCycle(cycleStr: string): Cycle {\n return new Cycle({\n bars: cycleStrToBarsStrs(cycleStr).map(parseBar),\n });\n}\n\n/**\n * Parse a cycle part string into beat lengths.\n */\nexport function parseBar(barStr: string): Bar {\n const bars = barStr.replace(/\\s+/g, \" \").split(\" \");\n const cp = new Bar();\n if (bars.length == 1) {\n for (let i = 0; i < barStr.length; i++) {\n let count = 0;\n const ch = barStr[i];\n if (ch == \",\") {\n count = 1;\n } else {\n const num = parseInt(ch);\n if (num) {\n count = num;\n }\n }\n while (count > 0) {\n cp.beatLengths.push(ONE);\n count--;\n }\n }\n } else {\n for (let i = 0; i < bars.length; i++) {\n if (/^,+$/.test(bars[i])) {\n cp.beatLengths.push(TSU.Num.Frac(bars[i].length));\n } else {\n const num = parseInt(bars[i]);\n if (num) cp.beatLengths.push(TSU.Num.Frac(num));\n }\n }\n }\n return cp;\n}\n\nexport function parseSyllable(value: string): Atom {\n const notes = [] as Atom[];\n // Only \"_\" make a difference here\n for (let i = 0; i < value.length; ) {\n let ch = value[i];\n if (ch == \"_\") {\n notes.push(new Space(ONE, true));\n i++;\n } else if (ch == \",\") {\n notes.push(new Space(ONE, false));\n i++;\n } else {\n let syll = \"\";\n while (i < value.length && ch != \",\" && ch != \"_\") {\n syll += ch;\n i++;\n ch = value[i];\n }\n notes.push(new Syllable(syll));\n }\n }\n if (notes.length == 1) return notes[0];\n return new Group(ONE, ...notes);\n}\n\nexport function parseProperty(line: string): [string, string] {\n const bars = line.split(\"=\").map((x) => x.trim());\n if (bars.length < 2) {\n throw new Error(\"Properties must be of type <key> = <value>\");\n }\n const key = bars[0];\n const value = bars[1];\n return [key, value];\n}\n"]}
|
|
@@ -9,7 +9,7 @@ export declare abstract class LeafAtomView extends AtomView {
|
|
|
9
9
|
protected postSpacingSpan: SVGTSpanElement;
|
|
10
10
|
protected rootShape: ElementShape;
|
|
11
11
|
abstract get glyphLabel(): string;
|
|
12
|
-
|
|
12
|
+
protected refreshMinSize(): TSU.Geom.Size;
|
|
13
13
|
protected updateBounds(x: null | number, y: null | number, w: null | number, h: null | number): [number | null, number | null, number | null, number | null];
|
|
14
14
|
refreshLayout(): void;
|
|
15
15
|
protected addEmbelishment(slot: Embelishment[], emb: Embelishment): void;
|