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.
Files changed (49) hide show
  1. package/lib/cjs/carnatic/atomviews.d.ts +1 -1
  2. package/lib/cjs/carnatic/atomviews.js +15 -19
  3. package/lib/cjs/carnatic/atomviews.js.map +1 -1
  4. package/lib/cjs/carnatic/beatviews.d.ts +0 -1
  5. package/lib/cjs/carnatic/beatviews.js +10 -17
  6. package/lib/cjs/carnatic/beatviews.js.map +1 -1
  7. package/lib/cjs/carnatic/embelishments.js +5 -1
  8. package/lib/cjs/carnatic/embelishments.js.map +1 -1
  9. package/lib/cjs/carnatic/gamakas.js.map +1 -1
  10. package/lib/cjs/carnatic/index.js.map +1 -1
  11. package/lib/cjs/commands.js.map +1 -1
  12. package/lib/cjs/core.js.map +1 -1
  13. package/lib/cjs/index.js.map +1 -1
  14. package/lib/cjs/iterators.js.map +1 -1
  15. package/lib/cjs/layouts.js.map +1 -1
  16. package/lib/cjs/loader.d.ts +2 -1
  17. package/lib/cjs/loader.js +11 -2
  18. package/lib/cjs/loader.js.map +1 -1
  19. package/lib/cjs/notation.js.map +1 -1
  20. package/lib/cjs/parser.js.map +1 -1
  21. package/lib/cjs/shapes.d.ts +4 -0
  22. package/lib/cjs/shapes.js +33 -5
  23. package/lib/cjs/shapes.js.map +1 -1
  24. package/lib/cjs/utils.js.map +1 -1
  25. package/lib/esm/carnatic/atomviews.d.ts +1 -1
  26. package/lib/esm/carnatic/atomviews.js +15 -19
  27. package/lib/esm/carnatic/atomviews.js.map +1 -1
  28. package/lib/esm/carnatic/beatviews.d.ts +0 -1
  29. package/lib/esm/carnatic/beatviews.js +10 -17
  30. package/lib/esm/carnatic/beatviews.js.map +1 -1
  31. package/lib/esm/carnatic/embelishments.js +5 -1
  32. package/lib/esm/carnatic/embelishments.js.map +1 -1
  33. package/lib/esm/carnatic/gamakas.js.map +1 -1
  34. package/lib/esm/carnatic/index.js.map +1 -1
  35. package/lib/esm/commands.js.map +1 -1
  36. package/lib/esm/core.js.map +1 -1
  37. package/lib/esm/index.js.map +1 -1
  38. package/lib/esm/iterators.js.map +1 -1
  39. package/lib/esm/layouts.js.map +1 -1
  40. package/lib/esm/loader.d.ts +2 -1
  41. package/lib/esm/loader.js +11 -2
  42. package/lib/esm/loader.js.map +1 -1
  43. package/lib/esm/notation.js.map +1 -1
  44. package/lib/esm/parser.js.map +1 -1
  45. package/lib/esm/shapes.d.ts +4 -0
  46. package/lib/esm/shapes.js +33 -5
  47. package/lib/esm/shapes.js.map +1 -1
  48. package/lib/esm/utils.js.map +1 -1
  49. package/package.json +1 -1
@@ -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
- get minSize(): TSU.Geom.Size;
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;
@@ -72,24 +72,18 @@ var LeafAtomView = (function (_super) {
72
72
  _this.bottomSlot = [];
73
73
  return _this;
74
74
  }
75
- Object.defineProperty(LeafAtomView.prototype, "minSize", {
76
- get: function () {
77
- var out = __assign({}, (this.rootShape || this.glyph).minSize);
78
- var totalWidth = this.leftSlot.reduce(function (a, b) { return a + b.minSize.width; }, 0) +
79
- this.rightSlot.reduce(function (a, b) { return a + b.minSize.width; }, 0) +
80
- this.leftSlot.length +
81
- this.rightSlot.length;
82
- var totalHeight = this.topSlot.reduce(function (a, b) { return a + b.minSize.height; }, 0) +
83
- this.bottomSlot.reduce(function (a, b) { return a + b.minSize.height; }, 0);
84
- out.width += totalWidth;
85
- out.height += totalHeight;
86
- if (this.postSpacingSpan)
87
- out.width += this.postSpacingSpan.getBBox().width;
88
- return out;
89
- },
90
- enumerable: false,
91
- configurable: true
92
- });
75
+ LeafAtomView.prototype.refreshMinSize = function () {
76
+ var out = __assign({}, (this.rootShape || this.glyph).minSize);
77
+ var totalWidth = this.leftSlot.reduce(function (a, b) { return a + b.minSize.width; }, 0) +
78
+ this.rightSlot.reduce(function (a, b) { return a + b.minSize.width; }, 0) +
79
+ this.leftSlot.length +
80
+ this.rightSlot.length;
81
+ var totalHeight = this.topSlot.reduce(function (a, b) { return a + b.minSize.height; }, 0) +
82
+ this.bottomSlot.reduce(function (a, b) { return a + b.minSize.height; }, 0);
83
+ out.width += totalWidth;
84
+ out.height += totalHeight;
85
+ return out;
86
+ };
93
87
  LeafAtomView.prototype.updateBounds = function (x, y, w, h) {
94
88
  return [x, y, NaN, NaN];
95
89
  };
@@ -118,8 +112,8 @@ var LeafAtomView = (function (_super) {
118
112
  }
119
113
  var glyphRoot = this.rootShape || this.glyph;
120
114
  glyphRoot.x = currX;
121
- currX += glyphRoot.minSize.width;
122
115
  glyphRoot.refreshLayout();
116
+ currX += glyphRoot.minSize.width;
123
117
  try {
124
118
  for (var _g = __values(this.rightSlot), _h = _g.next(); !_h.done; _h = _g.next()) {
125
119
  var emb = _h.value;
@@ -173,6 +167,7 @@ var LeafAtomView = (function (_super) {
173
167
  finally { if (e_4) throw e_4.error; }
174
168
  }
175
169
  }
170
+ this.resetMinSize();
176
171
  };
177
172
  LeafAtomView.prototype.addEmbelishment = function (slot, emb) {
178
173
  slot.push(emb);
@@ -250,6 +245,7 @@ var LeafAtomView = (function (_super) {
250
245
  }
251
246
  this.createPostSpacingElement();
252
247
  }
248
+ this.resetMinSize();
253
249
  };
254
250
  LeafAtomView.prototype.createGlyphRoot = function (parent) {
255
251
  this.rootShape = new shapes_1.ElementShape(TSU.DOM.createSVGNode("tspan", {
@@ -1 +1 @@
1
- {"version":3,"file":"atomviews.js","sourceRoot":"","sources":["../../../src/carnatic/atomviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atomviews.js","sourceRoot":"","sources":["../../../src/carnatic/atomviews.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Literal, AtomType, Note, Space, Syllable } from \"../core\";\nimport { AtomView, Embelishment, ElementShape } from \"../shapes\";\nimport { FlatAtom } from \"../iterators\";\nimport {\n OctaveIndicator,\n Kampitham,\n Nokku,\n Spuritham,\n Prathyagatham,\n Orikkai,\n Odukkal,\n Raavi,\n Kandippu,\n Vaali,\n Jaaru,\n} from \"./embelishments\";\nimport { GamakaType } from \"./gamakas\";\n\nexport abstract class LeafAtomView extends AtomView {\n leftSlot: Embelishment[] = [];\n topSlot: Embelishment[] = [];\n rightSlot: Embelishment[] = [];\n bottomSlot: Embelishment[] = [];\n\n // Spaces required before and after to accomodate for left and right slots\n protected postSpacingSpan: SVGTSpanElement;\n // Sometimes this.element may not be the root element if we need spacings\n // the rootElement is the top of the chain\n protected rootShape: ElementShape;\n\n abstract get glyphLabel(): string;\n\n protected refreshMinSize(): TSU.Geom.Size {\n const out = { ...(this.rootShape || this.glyph).minSize };\n const totalWidth =\n this.leftSlot.reduce((a, b) => a + b.minSize.width, 0) +\n this.rightSlot.reduce((a, b) => a + b.minSize.width, 0) +\n this.leftSlot.length + // Padding of 1\n this.rightSlot.length; // Padding of 1\n const totalHeight =\n this.topSlot.reduce((a, b) => a + b.minSize.height, 0) +\n this.bottomSlot.reduce((a, b) => a + b.minSize.height, 0);\n out.width += totalWidth;\n out.height += totalHeight;\n // if (this.postSpacingSpan) out.width += this.postSpacingSpan.getBBox().width;\n return out;\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, NaN, NaN];\n }\n\n refreshLayout(): void {\n // TODO - move this code out to refreshLayout?\n // set the glyphs Y first so we can layout others\n const x = this.x;\n const y = this.y;\n this.glyph.setBounds(null, y, null, null, true);\n\n // now layout leftSlots\n let currX = x;\n let currY = y;\n if (currX != null) {\n // place left embelishments\n for (const emb of this.leftSlot) {\n emb.x = currX;\n emb.refreshLayout();\n currX += emb.minSize.width + 1;\n }\n\n // now place the glyph\n const glyphRoot = this.rootShape || this.glyph;\n glyphRoot.x = currX;\n glyphRoot.refreshLayout();\n currX += glyphRoot.minSize.width;\n\n // And right embelishments\n for (const emb of this.rightSlot) {\n emb.x = currX;\n emb.refreshLayout();\n currX += emb.minSize.width + 1;\n }\n }\n\n // layout top and bottom if x or y has changed\n if (currX != null || currY != null) {\n const gminSize = this.glyph.minSize;\n\n // top embelishments\n const glyphX = this.glyph.x;\n const glyphY = this.glyph.y;\n currY = glyphY - 1;\n for (const emb of this.topSlot) {\n const bb = emb.minSize;\n emb.setBounds(glyphX + (gminSize.width - bb.width) / 2, currY - bb.height, null, null, true);\n currY = emb.y;\n }\n\n // bottom embelishments\n currY = glyphY + gminSize.height + 2;\n for (const emb of this.bottomSlot) {\n const bb = emb.minSize;\n emb.setBounds(glyphX + (gminSize.width - bb.width) / 2, currY, null, null, true);\n currY = emb.y + bb.height;\n }\n }\n this.resetMinSize();\n }\n\n protected addEmbelishment(slot: Embelishment[], emb: Embelishment): void {\n slot.push(emb);\n this.addShape(emb);\n }\n\n /**\n * Orders embelishments and creates their views.\n */\n orderEmbelishments(): void {\n const atom = this.flatAtom.atom;\n if (atom.type != AtomType.SYLLABLE && atom.type != AtomType.NOTE) {\n return;\n }\n const lit = atom as Literal;\n if (lit.embelishments.length == 0) return;\n for (const emb of lit.embelishments) {\n switch (emb.type) {\n case GamakaType.Kampitham:\n this.addEmbelishment(this.topSlot, new Kampitham(this));\n break;\n case GamakaType.Nokku:\n this.addEmbelishment(this.topSlot, new Nokku(this));\n break;\n case GamakaType.Spuritham:\n this.addEmbelishment(this.topSlot, new Spuritham(this));\n break;\n case GamakaType.Prathyagatham:\n this.addEmbelishment(this.topSlot, new Prathyagatham(this));\n break;\n case GamakaType.Orikkai:\n this.addEmbelishment(this.topSlot, new Orikkai(this));\n break;\n case GamakaType.Odukkal:\n this.addEmbelishment(this.topSlot, new Odukkal(this));\n break;\n case GamakaType.Aahaatam_Raavi:\n this.addEmbelishment(this.topSlot, new Raavi(this));\n break;\n case GamakaType.Aahaatam_Kandippu:\n this.addEmbelishment(this.topSlot, new Kandippu(this));\n break;\n case GamakaType.Vaali:\n this.addEmbelishment(this.topSlot, new Vaali(this));\n break;\n case GamakaType.Jaaru_Eetra:\n case GamakaType.Jaaru_Irakka:\n this.addEmbelishment(this.leftSlot, new Jaaru(emb, this));\n break;\n }\n }\n }\n\n needsRootElement(): boolean {\n return this.rightSlot.length > 0 || this.flatAtom.atom.beforeRest;\n }\n\n createElements(parent: SVGGraphicsElement): void {\n // Create the glyph element first before anything\n // this allows embelishments to get early access to this element\n if (this.needsRootElement()) {\n this.createGlyphRoot(parent);\n }\n this.createGlyphElement(this.rootShape?.element || parent);\n\n // Order embelishments (without creating any views)\n this.orderEmbelishments();\n if (this.needsRootElement()) {\n // create as 2 sub span elements\n if (!this.rootShape) {\n this.createGlyphRoot(parent);\n // move the element into the parent\n this.moveGlyphToRoot();\n }\n\n this.createPostSpacingElement();\n }\n this.resetMinSize();\n }\n\n protected createGlyphRoot(parent: SVGGraphicsElement): void {\n this.rootShape = new ElementShape(\n TSU.DOM.createSVGNode(\"tspan\", {\n doc: document,\n parent: parent,\n attrs: {\n depth: this.flatAtom.depth || 0,\n atomid: this.flatAtom.atom.uuid,\n id: \"atomViewRoot\" + this.flatAtom.atom.uuid,\n },\n }),\n );\n }\n\n protected createPostSpacingElement(): void {\n this.postSpacingSpan = TSU.DOM.createSVGNode(\"tspan\", {\n doc: document,\n parent: this.rootShape.element,\n attrs: {\n depth: this.flatAtom.depth || 0,\n atomid: this.flatAtom.atom.uuid,\n id: \"postSpacing\" + this.flatAtom.atom.uuid,\n },\n text: this.flatAtom.atom.beforeRest ? \" - \" : \" \",\n });\n }\n\n protected moveGlyphToRoot(): void {\n this.rootShape.element.appendChild(this.glyph.element);\n }\n\n protected createGlyphElement(parent: SVGGraphicsElement): void {\n const atom = this.flatAtom.atom;\n this.glyph = new ElementShape(\n TSU.DOM.createSVGNode(\"tspan\", {\n doc: document,\n parent: parent,\n attrs: {\n depth: this.flatAtom.depth || 0,\n atomid: atom.uuid,\n id: \"atom\" + atom.uuid,\n },\n text: this.glyphLabel, // + (note.beforeRest ? \" - \" : \" \"),\n }),\n );\n }\n}\n\nexport function createAtomView(parent: SVGGraphicsElement, atom: FlatAtom): AtomView {\n let out: AtomView;\n switch (atom.atom.type) {\n // Dealing with leaf atoms\n case AtomType.SPACE:\n out = new SpaceView(atom);\n break;\n case AtomType.SYLLABLE:\n out = new SyllableView(atom);\n break;\n case AtomType.NOTE:\n out = new NoteView(atom);\n break;\n default:\n // We should never get a group as we are iterating\n // at leaf atom levels\n throw new Error(\"Invalid atom type: \" + atom.atom.type);\n }\n out.createElements(parent);\n return out;\n}\n\nclass SpaceView extends LeafAtomView {\n get glyphLabel(): string {\n return this.space.isSilent ? \" \" : \",\";\n }\n\n get space(): Space {\n return this.flatAtom.atom as Space;\n }\n}\n\nclass NoteView extends LeafAtomView {\n protected shiftElement: SVGTSpanElement;\n get glyphLabel(): string {\n return this.note.value;\n }\n\n needsRootElement(): boolean {\n return this.note.shift == true || this.note.shift != 0 || super.needsRootElement();\n }\n\n protected createGlyphElement(parent: SVGGraphicsElement): void {\n super.createGlyphElement(parent);\n if (this.note.shift == true || this.note.shift != 0) {\n this.shiftElement = TSU.DOM.createSVGNode(\"tspan\", {\n doc: document,\n parent: this.rootShape.element,\n attrs: {\n depth: this.flatAtom.depth || 0,\n atomid: this.note.uuid,\n id: \"noteShift\" + this.note.uuid,\n \"baseline-shift\": \"sub\",\n },\n text: (this.note.shift == true ? \"*\" : this.note.shift) + \" \",\n });\n }\n }\n\n protected moveGlyphToRoot(): void {\n super.moveGlyphToRoot();\n if (this.shiftElement) {\n this.rootShape.element.appendChild(this.shiftElement);\n }\n }\n\n orderEmbelishments(): void {\n const note = this.note;\n // create the embelishments if needed\n if (note.octave > 0) {\n this.topSlot.push(new OctaveIndicator(this, note));\n } else if (this.note.octave < 0) {\n this.bottomSlot.push(new OctaveIndicator(this, note));\n }\n super.orderEmbelishments();\n }\n\n get note(): Note {\n return this.flatAtom.atom as Note;\n }\n}\n\nclass SyllableView extends LeafAtomView {\n get glyphLabel(): string {\n return this.syllable.value;\n }\n\n get syllable(): Syllable {\n return this.flatAtom.atom as Syllable;\n }\n}\n"]}
@@ -16,6 +16,5 @@ export declare class BeatView extends Shape implements BeatViewBase {
16
16
  protected updateBounds(x: null | number, y: null | number, w: null | number, h: null | number): [number | null, number | null, number | null, number | null];
17
17
  setStyles(config: any): void;
18
18
  refreshLayout(): void;
19
- get minSize(): TSU.Geom.Size;
20
19
  get embelishments(): Embelishment[];
21
20
  }
@@ -114,7 +114,15 @@ var BeatView = (function (_super) {
114
114
  return _this;
115
115
  }
116
116
  BeatView.prototype.refreshMinSize = function () {
117
- return TSU.DOM.svgBBox(this.groupElement);
117
+ var _this = this;
118
+ var totalWidth = 0;
119
+ var maxHeight = 0;
120
+ this.atomViews.forEach(function (av, index) {
121
+ var ms = av.minSize;
122
+ totalWidth += ms.width + _this.atomSpacing;
123
+ maxHeight = Math.max(maxHeight, ms.height);
124
+ });
125
+ return new TSU.Geom.Size(totalWidth, maxHeight);
118
126
  };
119
127
  BeatView.prototype.updateBounds = function (x, y, w, h) {
120
128
  return [x, y, w, h];
@@ -148,23 +156,8 @@ var BeatView = (function (_super) {
148
156
  }
149
157
  finally { if (e_2) throw e_2.error; }
150
158
  }
151
- this.needsLayout = false;
159
+ this.resetMinSize();
152
160
  };
153
- Object.defineProperty(BeatView.prototype, "minSize", {
154
- get: function () {
155
- var _this = this;
156
- var totalWidth = 0;
157
- var maxHeight = 0;
158
- this.atomViews.forEach(function (av, index) {
159
- var ms = av.minSize;
160
- totalWidth += ms.width + _this.atomSpacing;
161
- maxHeight = Math.max(maxHeight, ms.height);
162
- });
163
- return new TSU.Geom.Size(totalWidth, maxHeight);
164
- },
165
- enumerable: false,
166
- configurable: true
167
- });
168
161
  Object.defineProperty(BeatView.prototype, "embelishments", {
169
162
  get: function () {
170
163
  if (!this._embelishments) {
@@ -1 +1 @@
1
- {"version":3,"file":"beatviews.js","sourceRoot":"","sources":["../../../src/carnatic/beatviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beatviews.js","sourceRoot":"","sources":["../../../src/carnatic/beatviews.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Cycle, AtomType, Syllable, Note, Literal } from \"../core\";\nimport { BeatView as BeatViewBase, Beat } from \"../layouts\";\nimport { AtomView, Embelishment, Shape } from \"../shapes\";\nimport { createAtomView } from \"./atomviews\";\nimport { BeatStartLines, BeatEndLines } from \"./embelishments\";\n\nexport class BeatView extends Shape implements BeatViewBase {\n protected atomSpacing: number;\n needsLayout = true;\n private _embelishments: Embelishment[];\n private atomViews: AtomView[] = [];\n groupElement: SVGGElement;\n textElement: SVGTextElement;\n constructor(public readonly beat: Beat, rootElement: Element, public readonly cycle: Cycle, config?: any) {\n super();\n this.atomSpacing = 5;\n this.groupElement = TSU.DOM.createSVGNode(\"g\", {\n parent: rootElement,\n attrs: {\n beatId: beat.uuid,\n id: \"beatGroup\" + beat.uuid,\n roleName: beat.role.name,\n layoutLine: beat.layoutLine,\n layoutColumn: beat.layoutColumn,\n beatIndex: beat.index,\n },\n });\n this.textElement = TSU.DOM.createSVGNode(\"text\", {\n parent: this.groupElement,\n attrs: {\n class: \"roleAtomsText\",\n // y: \"0%\",\n style: \"dominant-baseline: hanging\",\n beatId: beat.uuid,\n id: \"beatText\" + beat.uuid,\n roleName: beat.role.name,\n layoutLine: beat.layoutLine,\n layoutColumn: beat.layoutColumn,\n beatIndex: beat.index,\n },\n }) as SVGTextElement;\n\n // create the children\n for (const flatAtom of beat.atoms) {\n if (flatAtom.atom.type == AtomType.LITERAL) {\n const lit = flatAtom.atom as Literal;\n // convert to note or syllable here\n if (beat.role.defaultToNotes) {\n flatAtom.atom = Note.fromLit(lit);\n } else {\n flatAtom.atom = Syllable.fromLit(lit);\n }\n // carry over rest info\n flatAtom.atom.beforeRest = lit.beforeRest;\n }\n const atomView = createAtomView(this.textElement, flatAtom);\n atomView.depth = flatAtom.depth;\n this.atomViews.push(atomView);\n }\n\n this.setStyles(config || {});\n }\n\n // protected refreshMinSize(): TSU.Geom.Size { return TSU.DOM.svgBBox(this.groupElement); }\n protected refreshMinSize(): TSU.Geom.Size {\n let totalWidth = 0;\n let maxHeight = 0;\n this.atomViews.forEach((av, index) => {\n const ms = av.minSize;\n totalWidth += ms.width + this.atomSpacing;\n maxHeight = Math.max(maxHeight, ms.height);\n });\n return new TSU.Geom.Size(totalWidth, maxHeight);\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 setStyles(config: any): void {\n if (\"atomSpacing\" in config) this.atomSpacing = config.atomSpacing;\n this.needsLayout = true;\n }\n\n refreshLayout(): void {\n this.groupElement.setAttribute(\"transform\", \"translate(\" + this.x + \",\" + this.y + \")\");\n // if (this.widthChanged) {\n // All our atoms have to be laid out between startX and endX\n // old way of doing where we just set dx between atom views\n // this worked when atomviews were single glyphs. But\n // as atomViews can be complex (eg with accents and pre/post\n // spaces etc) explicitly setting x/y may be important\n let currX = 0;\n const currY = 0; // null; // this.y; // + 10;\n this.atomViews.forEach((av, index) => {\n av.setBounds(currX, currY, null, null, true);\n currX += this.atomSpacing + av.minSize.width;\n });\n this.resetMinSize();\n for (const e of this.embelishments) e.refreshLayout();\n this.resetMinSize();\n }\n\n get embelishments(): Embelishment[] {\n if (!this._embelishments) {\n this._embelishments = [];\n const beat = this.beat;\n // TODO - Should this be the group's parent element?\n const rootElement = this.textElement.parentElement as any as SVGGraphicsElement;\n if (beat.beatIndex == 0 && beat.barIndex == 0 && beat.instance == 0) {\n // first beat in bar - Do a BarStart\n const emb = new BeatStartLines(this, rootElement);\n this._embelishments = [emb];\n } else {\n const cycle = this.cycle;\n const bar = cycle.bars[beat.barIndex];\n // TODO - ensure that we are in the last instance of this beat\n // since for now we dont have a way of specifying kalai this wont fail\n if (beat.beatIndex == bar.beatCount - 1) {\n if (beat.barIndex == cycle.bars.length - 1) {\n // last beat in last bar so - do a thalam end (2 lines)\n const emb = new BeatEndLines(this, rootElement, 2);\n this._embelishments = [emb];\n } else {\n // end of a bar so single line end\n const emb = new BeatEndLines(this, rootElement);\n this._embelishments = [emb];\n }\n }\n }\n }\n return this._embelishments;\n }\n}\n"]}
@@ -95,7 +95,11 @@ var OctaveIndicator = (function (_super) {
95
95
  return _this;
96
96
  }
97
97
  OctaveIndicator.prototype.refreshMinSize = function () {
98
- return TSU.Geom.Rect.from(this.dotsElem.getBBox());
98
+ var numDots = Math.abs(this.note.octave);
99
+ return {
100
+ width: this.dotRadius * 2 * numDots + (numDots - 1) * this.dotSpacing,
101
+ height: this.dotRadius * 2,
102
+ };
99
103
  };
100
104
  OctaveIndicator.prototype.updateBounds = function (x, y, w, h) {
101
105
  if (x == null)
@@ -1 +1 @@
1
- {"version":3,"file":"embelishments.js","sourceRoot":"","sources":["../../../src/carnatic/embelishments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embelishments.js","sourceRoot":"","sources":["../../../src/carnatic/embelishments.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuC;AAGvC,oCAAmD;AAMnD;IAAmD,wCAAY;IAC7D,8BAA4B,QAAkB;QAA9C,YACE,iBAAO,SACR;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,2BAAC;AAAD,CAAC,AAJD,CAAmD,qBAAY,GAI9D;AAJqB,oDAAoB;AAM1C;IAAqC,mCAAoB;IAKvD,yBAA4B,QAAkB,EAAkB,IAAU;QAA1E,YACE,kBAAM,QAAQ,CAAC,SA2BhB;QA5B2B,cAAQ,GAAR,QAAQ,CAAU;QAAkB,UAAI,GAAJ,IAAI,CAAM;QAJ1E,eAAS,GAAG,CAAC,CAAC;QACd,gBAAU,GAAG,GAAG,CAAC;QAKf,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE;YACzC,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACL,KAAK,EAAE,KAAI,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,UAAU;gBACrE,MAAM,EAAE,KAAI,CAAC,SAAS,GAAG,CAAC;gBAC1B,MAAM,EAAE,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;aAClD;SACF,CAAC,CAAC;QACH,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAC9B,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAI,CAAC,QAAQ;gBACrB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE;oBACN,EAAE,EAAE,CAAC;oBACL,CAAC,EAAE,KAAI,CAAC,SAAS;oBACjB,MAAM,EAAE,OAAO;oBACf,cAAc,EAAE,GAAG;iBACpB;aACF,CAAC,CAAC;YACH,EAAE,IAAI,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC;SACzD;;IACH,CAAC;IAES,wCAAc,GAAxB;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU;YACrE,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC;SAC3B,CAAC;IACJ,CAAC;IAES,sCAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAI1B,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,uCAAa,GAAb;QACE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC;IACH,sBAAC;AAAD,CAAC,AA5DD,CAAqC,oBAAoB,GA4DxD;AA5DY,0CAAe;AA+D5B;IAAuC,qCAAoB;IAEzD,2BAA4B,KAAa,EAAkB,QAAkB;QAA7E,YACE,kBAAM,QAAQ,CAAC,SAWhB;QAZ2B,WAAK,GAAL,KAAK,CAAQ;QAAkB,cAAQ,GAAR,QAAQ,CAAU;QAE3E,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE;YAC7C,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;gBACjD,mBAAmB,EAAE,SAAS;aAC/B;SACF,CAAC,CAAC;;IACL,CAAC;IAES,0CAAc,GAAxB;QACE,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAES,wCAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,yCAAa,GAAb;QACE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACH,wBAAC;AAAD,CAAC,AAjCD,CAAuC,oBAAoB,GAiC1D;AAjCY,8CAAiB;AAmC9B;IAAoC,kCAAY;IAI9C,wBAA4B,MAAgB,EAAkB,WAA+B;QAA7F,YACE,iBAAO,SAUR;QAX2B,YAAM,GAAN,MAAM,CAAU;QAAkB,iBAAW,GAAX,WAAW,CAAoB;QAH7F,gBAAU,GAAG,EAAE,CAAC;QAKd,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE;YACxC,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,KAAI,CAAC,WAAW;YACxB,KAAK,EAAE;gBACL,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,GAAG;gBACnB,KAAK,EAAE,gBAAgB;aACxB;SACF,CAAC,CAAC;;IACL,CAAC;IAES,uCAAc,GAAxB;QACE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,sCAAa,GAAb;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,IAAM,CAAC,GAAG,CAAC,CAAC;QACZ,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAES,qCAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IACH,qBAAC;AAAD,CAAC,AAxCD,CAAoC,qBAAY,GAwC/C;AAxCY,wCAAc;AA0C3B;IAAkC,gCAAY;IAI5C,sBAA4B,MAAgB,EAAkB,WAA+B,EAAE,MAAU;QAAV,uBAAA,EAAA,UAAU;QAAzG,YACE,iBAAO,SAgBR;QAjB2B,YAAM,GAAN,MAAM,CAAU;QAAkB,iBAAW,GAAX,WAAW,CAAoB;QAH7F,iBAAW,GAAG,CAAC,CAAC;QA8BhB,gBAAU,GAAG,EAAE,CAAC;QAzBd,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAI,CAAC,KAAK,CAAC,IAAI,CACb,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC5B,GAAG,EAAE,QAAQ;gBAEb,MAAM,EAAE,KAAI,CAAC,WAAW;gBACxB,KAAK,EAAE;oBACL,MAAM,EAAE,OAAO;oBACf,cAAc,EAAE,GAAG;oBACnB,KAAK,EAAE,cAAc;iBACtB;aACF,CAAC,CACH,CAAC;SACH;;IACH,CAAC;IAES,qCAAc,GAAxB;QACE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAES,qCAAc,GAAxB,UAAyB,CAAgB,EAAE,CAAgB;QACzD,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IAID,oCAAa,GAAb;;QACE,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,IAAM,CAAC,GAAG,CAAC,CAAC;QACZ,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;;YACd,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;gBAA1B,IAAM,IAAI,WAAA;gBACb,IAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5B,KAAK,IAAI,CAAC,CAAC;aACZ;;;;;;;;;;YACD,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;gBAA1B,IAAM,IAAI,WAAA;gBACb,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACvC;;;;;;;;;IACH,CAAC;IAES,mCAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AA1DD,CAAkC,qBAAY,GA0D7C;AA1DY,oCAAY;AA6DzB;IAA+B,6BAAiB;IAC9C,mBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,gBAAC;AAAD,CAAC,AAJD,CAA+B,iBAAiB,GAI/C;AAJY,8BAAS;AAMtB;IAA2B,yBAAiB;IAC1C,eAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,YAAC;AAAD,CAAC,AAJD,CAA2B,iBAAiB,GAI3C;AAJY,sBAAK;AAMlB;IAAmC,iCAAiB;IAClD,uBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,oBAAC;AAAD,CAAC,AAJD,CAAmC,iBAAiB,GAInD;AAJY,sCAAa;AAK1B;IAA+B,6BAAiB;IAC9C,mBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,gBAAC;AAAD,CAAC,AAJD,CAA+B,iBAAiB,GAI/C;AAJY,8BAAS;AAKtB;IAA2B,yBAAiB;IAC1C,eAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,YAAC;AAAD,CAAC,AAJD,CAA2B,iBAAiB,GAI3C;AAJY,sBAAK;AAKlB;IAA8B,4BAAiB;IAC7C,kBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,eAAC;AAAD,CAAC,AAJD,CAA8B,iBAAiB,GAI9C;AAJY,4BAAQ;AAMrB;IAA2B,yBAAiB;IAC1C,eAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,YAAC;AAAD,CAAC,AAJD,CAA2B,iBAAiB,GAI3C;AAJY,sBAAK;AAKlB;IAA6B,2BAAiB;IAC5C,iBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,cAAC;AAAD,CAAC,AAJD,CAA6B,iBAAiB,GAI7C;AAJY,0BAAO;AAKpB;IAA6B,2BAAiB;IAC5C,iBAA4B,QAAkB;QAA9C,YACE,kBAAM,GAAG,EAAE,QAAQ,CAAC,SACrB;QAF2B,cAAQ,GAAR,QAAQ,CAAU;;IAE9C,CAAC;IACH,cAAC;AAAD,CAAC,AAJD,CAA6B,iBAAiB,GAI7C;AAJY,0BAAO;AAMpB;IAA2B,yBAAoB;IAE7C,eAA4B,KAAkB,EAAkB,QAAkB;QAAlF,YACE,kBAAM,QAAQ,CAAC,SAchB;QAf2B,WAAK,GAAL,KAAK,CAAa;QAAkB,cAAQ,GAAR,QAAQ,CAAU;QAIhF,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE;YAC5C,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;gBACjD,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,aAAa;gBACnB,CAAC,EAAE,KAAI,CAAC,aAAa,EAAE;aACxB;SACF,CAAC,CAAC;;IACL,CAAC;IAED,6BAAa,GAAb,UAAc,CAAK;QAAL,kBAAA,EAAA,KAAK;QACjB,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACxB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;YACnB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;SACb;aAAM;YACL,CAAC,IAAI,EAAE,CAAC;YACR,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;SACb;QACD,OAAO,CAAC,OAAK,CAAC,SAAI,CAAG,EAAE,OAAK,EAAE,SAAI,CAAC,SAAI,EAAE,SAAI,EAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAES,8BAAc,GAAxB;QACE,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAES,4BAAY,GAAtB,UACE,CAAgB,EAChB,CAAgB,EAChB,CAAgB,EAChB,CAAgB;QAEhB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,6BAAa,GAAb;QACE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACH,YAAC;AAAD,CAAC,AAnDD,CAA2B,oBAAoB,GAmD9C;AAnDY,sBAAK","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Note } from \"../core\";\nimport { BeatView } from \"../layouts\";\nimport { AtomView, Embelishment } from \"../shapes\";\nimport { JaaruGamaka } from \"./gamakas\";\n\n/**\n * Embelishments specifically \"around\" a single atom view.\n */\nexport abstract class AtomViewEmbelishment extends Embelishment {\n constructor(public readonly atomView: AtomView) {\n super();\n }\n}\n\nexport class OctaveIndicator extends AtomViewEmbelishment {\n dotRadius = 1;\n dotSpacing = 2.5;\n dotsElem: SVGGElement;\n\n constructor(public readonly noteView: AtomView, public readonly note: Note) {\n super(noteView);\n const rootElem = this.noteView.embRoot();\n const numDots = Math.abs(note.octave);\n this.dotsElem = TSU.DOM.createSVGNode(\"g\", {\n doc: document,\n parent: rootElem,\n attrs: {\n width: this.dotRadius * 2 * numDots + (numDots - 1) * this.dotSpacing,\n height: this.dotRadius * 2,\n source: \"atom\" + this.noteView.flatAtom.atom.uuid,\n },\n });\n let cx = 0;\n for (let i = 0; i < numDots; i++) {\n TSU.DOM.createSVGNode(\"circle\", {\n doc: document,\n parent: this.dotsElem,\n attrs: {\n cx: cx,\n cy: 0,\n r: this.dotRadius,\n stroke: \"black\",\n \"stroke-width\": \"1\",\n },\n });\n cx += this.dotRadius + this.dotRadius + this.dotSpacing;\n }\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n const numDots = Math.abs(this.note.octave);\n return {\n width: this.dotRadius * 2 * numDots + (numDots - 1) * this.dotSpacing,\n height: this.dotRadius * 2,\n };\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 if (x == null) x = this.x;\n if (y == null) y = this.y;\n // cannot set w/h\n // this.bbox.x = x;\n // this.bbox.y = y;\n return [x, y, null, null];\n }\n\n refreshLayout(): void {\n this.dotsElem.setAttribute(\"transform\", \"translate(\" + this.x + \",\" + this.y + \")\");\n }\n}\n\n////////// Carnatic embelishments\nexport class LabelEmbelishment extends AtomViewEmbelishment {\n labelElem: SVGTextElement;\n constructor(public readonly label: string, public readonly atomView: AtomView) {\n super(atomView);\n const rootElem = this.atomView.embRoot();\n this.labelElem = TSU.DOM.createSVGNode(\"text\", {\n doc: document,\n parent: rootElem,\n text: label,\n attrs: {\n source: \"atom\" + this.atomView.flatAtom.atom.uuid,\n \"dominant-baseline\": \"hanging\",\n },\n });\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n return TSU.DOM.svgBBox(this.labelElem);\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 this.labelElem.setAttribute(\"x\", \"\" + this.x);\n this.labelElem.setAttribute(\"y\", \"\" + this.y);\n }\n}\n\nexport class BeatStartLines extends Embelishment {\n barSpacing = 10;\n protected line: SVGLineElement;\n\n constructor(public readonly source: BeatView, public readonly rootElement: SVGGraphicsElement) {\n super();\n this.line = TSU.DOM.createSVGNode(\"line\", {\n doc: document,\n parent: this.rootElement,\n attrs: {\n stroke: \"black\",\n \"stroke-width\": \"1\",\n class: \"bar-start-line\",\n },\n });\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n return new TSU.Geom.Rect(0, 0, 0, 0);\n }\n\n refreshLayout(): void {\n const line = this.line;\n const x = -this.barSpacing;\n line.setAttribute(\"x1\", \"\" + x);\n line.setAttribute(\"x2\", \"\" + x);\n const y = 0;\n const h = this.source.height;\n line.setAttribute(\"y1\", \"\" + y);\n line.setAttribute(\"y2\", \"\" + (y + h));\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, null, h];\n }\n}\n\nexport class BeatEndLines extends Embelishment {\n lineSpacing = 2;\n protected lines: SVGLineElement[];\n\n constructor(public readonly source: BeatView, public readonly rootElement: SVGGraphicsElement, nLines = 1) {\n super();\n this.lines = [];\n for (let i = 0; i < nLines; i++) {\n this.lines.push(\n TSU.DOM.createSVGNode(\"line\", {\n doc: document,\n // parent: l2g,\n parent: this.rootElement,\n attrs: {\n stroke: \"black\",\n \"stroke-width\": \"1\",\n class: \"bar-end-line\",\n },\n }),\n );\n }\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n return new TSU.Geom.Rect(0, 0, 0, 0);\n }\n\n protected updatePosition(x: null | number, y: null | number): [number | null, number | null] {\n return [x, y];\n }\n\n barSpacing = 15;\n\n refreshLayout(): void {\n const x = this.source.width + this.barSpacing;\n const y = 0;\n const h = this.source.height;\n let currX = x;\n for (const line of this.lines) {\n const lx = \"\" + currX;\n line.setAttribute(\"x1\", lx);\n line.setAttribute(\"x2\", lx);\n currX += 4;\n }\n for (const line of this.lines) {\n line.setAttribute(\"y1\", \"\" + y);\n line.setAttribute(\"y2\", \"\" + (y + h));\n }\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 [null, null, null, null];\n }\n}\n\n/// Carnatic Embelishments\nexport class Kampitham extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"~\", atomView);\n }\n}\n\nexport class Nokku extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"w\", atomView);\n }\n}\n\nexport class Prathyagatham extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"∵\", atomView);\n }\n}\nexport class Spuritham extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"∴\", atomView);\n }\n}\nexport class Raavi extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"^\", atomView);\n }\n}\nexport class Kandippu extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"✓\", atomView);\n }\n}\n\nexport class Vaali extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"⌒\", atomView);\n }\n}\nexport class Odukkal extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"x\", atomView);\n }\n}\nexport class Orikkai extends LabelEmbelishment {\n constructor(public readonly atomView: AtomView) {\n super(\"γ\", atomView);\n }\n}\n\nexport class Jaaru extends AtomViewEmbelishment {\n pathElem: SVGPathElement;\n constructor(public readonly jaaru: JaaruGamaka, public readonly atomView: AtomView) {\n super(atomView);\n // TODO - Create the \"fancier\" view\n // for now represent this with just a slant line (like a slash)\n const rootElem = this.atomView.embRoot();\n this.pathElem = TSU.DOM.createSVGNode(\"path\", {\n doc: document,\n parent: rootElem,\n attrs: {\n source: \"atom\" + this.atomView.flatAtom.atom.uuid,\n stroke: \"black\",\n fill: \"transparent\",\n d: this.pathAttribute(),\n },\n });\n }\n\n pathAttribute(x = 0): string {\n const avbbox = this.atomView.minSize;\n let y2 = 0;\n const h2 = avbbox.height / 2;\n const x2 = x + h2;\n let y = this.atomView.y;\n if (this.jaaru.ascending) {\n y += avbbox.height;\n y2 = y - h2;\n } else {\n y -= h2;\n y2 = y + h2;\n }\n return [`M ${x} ${y}`, `Q ${x2} ${y} ${x2} ${y2}`].join(\" \");\n }\n\n protected refreshMinSize(): TSU.Geom.Size {\n return TSU.DOM.svgBBox(this.pathElem);\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, null, null, null];\n }\n\n refreshLayout(): void {\n this.pathElem.setAttribute(\"d\", this.pathAttribute(this.x));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gamakas.js","sourceRoot":"","sources":["../../../src/carnatic/gamakas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gamakas.js","sourceRoot":"","sources":["../../../src/carnatic/gamakas.ts"],"names":[],"mappings":"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","sourcesContent":["import { Note } from \"../core\";\n\nexport enum GamakaType {\n // Kampitam (~)\n // The oscilation between 2 notes - eg p , S..n S..n S..n\n Kampitham = \"Kampitham\",\n\n // Nokku (w)\n Nokku = \"Nokku\",\n\n // Spuritham (∴ / u+2234) - Stress on the second note of a jantai\n Spuritham = \"Spuritham\",\n\n // Prathyagatham (∵ / u+2235) - Similar to reverse of Spuritham (in descending order)\n Prathyagatham = \"Prathyagatham\",\n\n // Raavi (^)\n Aahaatam_Raavi = \"Raavi\",\n\n // Kandippu (✓)\n // eg - Shankarabharanam's S. ,,, n , P ,,, - where the n is subtle\n Aahaatam_Kandippu = \"Kandippu\",\n\n // Vali (⌒ - U+2312)\n Vaali = \"Vaali\",\n\n // Odukkal (x):\n // A veena gamakam where the note itself is stretched more to get the next\n // note effect (instead of plucking the next note itself).\n // Not possible where plucking of strings is not possible.\n // On voice etc it just will sound like an Eetra Jaaru.\n Odukkal = \"Odukkal\",\n\n // (/) Ascension from one note to another - eg S / P\n Jaaru_Eetra = \"EetraJaaru\",\n\n // (\\) Descending from one note to another - eg P \\ S\n Jaaru_Irakka = \"IrakkaJaaru\",\n\n // Orikkai (γ)\n // eg S~~ RN N~~S.D D~~~NP\n Orikkai = \"Orikkai\",\n}\n\nexport class Gamaka {\n constructor(public readonly type: GamakaType) {}\n debugValue(): any {\n return { type: this.type };\n }\n}\n\nexport class JaaruGamaka extends Gamaka {\n constructor(public readonly ascending = true, public readonly startingNote: null | Note = null) {\n super(ascending ? GamakaType.Jaaru_Eetra : GamakaType.Jaaru_Irakka);\n }\n\n debugValue(): any {\n const out = { ...super.debugValue(), ascending: this.ascending };\n if (this.startingNote) out[\"startingNote\"] = this.startingNote.debugValue();\n return out;\n }\n}\n\nexport function parseEmbelishment(value: string): [any, boolean] {\n value = value.substring(1);\n if (value == \"\") {\n return [new Gamaka(GamakaType.Kampitham), true];\n } else if (value == \"^\") {\n return [new Gamaka(GamakaType.Aahaatam_Raavi), true];\n } else if (value == \"~\") {\n return [new Gamaka(GamakaType.Vaali), true];\n } else if (value == \"w\" || value == \"W\") {\n return [new Gamaka(GamakaType.Nokku), true];\n } else if (value == \"∴\" || value == \":-\") {\n return [new Gamaka(GamakaType.Spuritham), true];\n } else if (value == \"∵\" || value == \"-:\") {\n return [new Gamaka(GamakaType.Prathyagatham), true];\n } else if (value == \"✓\" || value == \"./\" || value == \".\\\\\") {\n return [new Gamaka(GamakaType.Aahaatam_Kandippu), true];\n } else if (value.endsWith(\"/\")) {\n value = value.substring(0, value.length - 1).trim();\n return [new JaaruGamaka(true, value.length > 0 ? new Note(value) : null), true];\n } else if (value.endsWith(\"\\\\\")) {\n value = value.substring(0, value.length - 1);\n return [new JaaruGamaka(false, value.length > 0 ? new Note(value) : null), true];\n } else if (value == \"x\") {\n return [new Gamaka(GamakaType.Odukkal), true];\n } else if (value == \"γ\" || value == \"Y\") {\n return [new Gamaka(GamakaType.Orikkai), true];\n }\n throw new Error(\"Invalid carnatic embelishment: \" + value);\n // return null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/carnatic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/carnatic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC","sourcesContent":["export * from \"./gamakas\";\nexport * from \"./atomviews\";\nexport * from \"./beatviews\";\nexport * from \"./embelishments\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuC;AAEvC,iCAAqC;AACrC,uCAA2E;AAE3E;IAAkC,gCAAO;IAAzC;;IASA,CAAC;IARC,sBAAI,qCAAW;aAAf;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAED,sCAAe,GAAf,UAAgB,QAAkB;QAChC,IAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACH,mBAAC;AAAD,CAAC,AATD,CAAkC,kBAAO,GASxC;AATY,oCAAY;AAWzB;IAA8B,4BAAO;IAArC;;IAmBA,CAAC;IAjBC,kCAAe,GAAf,UAAgB,QAAkB;QAEhC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,sBAAI,0BAAI;aAAR;YACE,IAAM,GAAG,GAAG,IAAI,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC;;;OAAA;IAED,sBAAI,yBAAG;aAAP;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAI,2BAAK;aAAT;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AAnBD,CAA8B,kBAAO,GAmBpC;AAnBY,4BAAQ;AAqBrB;IAAkC,gCAAO;IAAzC;;IAWA,CAAC;IATC,sCAAe,GAAf,UAAgB,QAAkB;QAEhC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEtC,CAAC;IAED,sBAAI,kCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IACH,mBAAC;AAAD,CAAC,AAXD,CAAkC,kBAAO,GAWxC;AAXY,oCAAY;AAazB;IAA8B,4BAAO;IAInC;QAAY,eAAgB;aAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;YAAhB,0BAAgB;;QAA5B,YACE,iBAAO,SAGR;QAFC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;;IACjB,CAAC;IAED,6BAAU,GAAV;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAE,EAAd,CAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,kCAAe,GAAf,UAAgB,QAAkB;;QAChC,IAAI,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;QACnC,IAAI,OAAO,IAAI,IAAI,EAAE;YAEnB,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAE3C;QAED,IAAM,SAAS,GAAG,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;SAC9E;aAAM;YACL,GAAG,CAAC,MAAM,CACR,SAAS,IAAI,QAAQ,CAAC,YAAY,EAClC,uEAAuE,CACxE,CAAC;SACH;QACD,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAA,KAAA,QAAQ,CAAC,WAAW,CAAA,CAAC,QAAQ,0BAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,UAAK,SAAS,WAAE;IAC/E,CAAC;IACH,eAAC;AAAD,CAAC,AAtCD,CAA8B,kBAAO,GAsCpC;AAtCY,4BAAQ;AAwCrB;IAAgC,8BAAO;IAAvC;;IAwBA,CAAC;IAvBC,oCAAe,GAAf,UAAgB,QAAkB;QAIhC,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,sBAAI,8BAAM;aAAV;YACE,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;;;OAAA;IAED,sBAAI,kCAAU;aAAd;YACE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC1E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBACpC;aACF;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;;;OAAA;IACH,iBAAC;AAAD,CAAC,AAxBD,CAAgC,kBAAO,GAwBtC;AAxBY,gCAAU;AA0BvB;IAAgC,8BAAO;IAAvC;;IAWA,CAAC;IAVC,oCAAe,GAAf,UAAgB,QAAkB;QAEhC,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAI,iCAAS;aAAb;YACE,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC;QACxE,CAAC;;;OAAA;IACH,iBAAC;AAAD,CAAC,AAXD,CAAgC,kBAAO,GAWtC;AAXY,gCAAU;AAavB;IAAiD,sCAAO;IAAxD;;IAA0D,CAAC;IAAD,yBAAC;AAAD,CAAC,AAA3D,CAAiD,kBAAO,GAAG;AAArC,gDAAkB;AAuDxC;IAAiC,+BAAO;IAAxC;;IAWA,CAAC;IAVC,oCAAc,GAAd;QACE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;IACH,CAAC;IAED,qCAAe,GAAf,UAAgB,QAAkB;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnC,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACH,kBAAC;AAAD,CAAC,AAXD,CAAiC,kBAAO,GAWvC;AAXY,kCAAW;AAgBxB;IAA+B,6BAAkB;IAAjD;;IAuBA,CAAC;IAtBC,sBAAI,8BAAO;aAAX;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAe,EAAnB,CAAmB,CAAC,CAAC;QACvD,CAAC;;;OAAA;IAKD,kCAAc,GAAd;;;YACE,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA,4BAAE;gBAA5B,IAAM,KAAK,WAAA;gBACd,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;iBAC9D;gBACD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;iBAC9D;aACF;;;;;;;;;IACH,CAAC;IAED,mCAAe,GAAf,UAAgB,QAAkB;QAChC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IACH,gBAAC;AAAD,CAAC,AAvBD,CAA+B,kBAAkB,GAuBhD;AAvBY,8BAAS;AAyBtB;IAA8B,4BAAkB;IAAhD;;IAQA,CAAC;IAPC,kCAAe,GAAf,UAAgB,QAAkB;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEnC,IAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QAChC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IACH,eAAC;AAAD,CAAC,AARD,CAA8B,kBAAkB,GAQ/C;AARY,4BAAQ;AAUrB;IAAqC,mCAAkB;IAAvD;;IAeA,CAAC;IAdC,wCAAc,GAAd;QACE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;IACH,CAAC;IAED,sBAAI,yCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9B,CAAC;;;OAAA;IAED,yCAAe,GAAf,UAAgB,QAAkB;QAChC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IACH,sBAAC;AAAD,CAAC,AAfD,CAAqC,kBAAkB,GAetD;AAfY,0CAAe"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\nimport { Atom } from \"./core\";\nimport { parseCycle } from \"./utils\";\nimport { Command, RawBlock, Notation, MetaData as Meta } from \"./notation\";\n\nexport class RawEmbedding extends Command {\n get rawContents(): string {\n return this.getParamAt(0);\n }\n\n applyToNotation(notation: Notation): void {\n const raw = new RawBlock(this.rawContents);\n notation.addRawBlock(raw);\n }\n}\n\nexport class MetaData extends Command {\n // Called when running in execution mode\n applyToNotation(notation: Notation): void {\n // Create the role - ensure that we have a role\n notation.addMetaData(this.meta);\n }\n\n get meta(): Meta {\n const out = new Meta(this.key, this.value);\n return out;\n }\n\n get key(): string {\n return this.getParamAt(0);\n }\n\n get value(): string {\n return this.getParamAt(1);\n }\n}\n\nexport class ActivateRole extends Command {\n // Called when running in execution mode\n applyToNotation(notation: Notation): void {\n // Create the role - ensure that we have a role\n notation.setCurrRole(this.roleName);\n // const line = notation.ensureLine();\n }\n\n get roleName(): string {\n return this.getParamAt(0);\n }\n}\n\nexport class AddAtoms extends Command {\n index: number;\n atoms: Atom[];\n\n constructor(...atoms: Atom[]) {\n super();\n this.atoms = atoms;\n this.index = 0;\n }\n\n debugValue(): any {\n return {\n name: this.name,\n index: this.index,\n atoms: this.atoms.map((a) => a.debugValue()),\n };\n }\n\n applyToNotation(notation: Notation): void {\n let roleDef = notation.currRoleDef;\n if (roleDef == null) {\n // By default create a role for swaras\n roleDef = notation.newRoleDef(\"Sw\", true);\n // throw new Error(\"Current role is invalid\");\n }\n // Ensure a line exists\n const lpForLine = notation.layoutParamsForLine(notation.currentLine);\n if (lpForLine == null) {\n notation.setLayoutParamsForLine(notation.currentLine, notation.layoutParams);\n } else {\n TSU.assert(\n lpForLine == notation.layoutParams,\n \"Layout parameters have changed so a new line should have been started\",\n );\n }\n const finalised = this.atoms;\n notation.currentLine.addAtoms(roleDef.name, roleDef.notesOnly, ...finalised);\n }\n}\n\nexport class CreateLine extends Command {\n applyToNotation(notation: Notation): void {\n // We are not calling a newLine here just to avoid\n // a series of \\line commands creating wasteful empty lines\n // TODO - how do we consider offsets in line create\n const line = notation.newLine();\n line.offset = this.offset;\n line.marginText = this.marginText;\n }\n\n get offset(): TSU.Num.Fraction {\n let offset = this.getParam(\"offset\") || TSU.Num.Fraction.ZERO;\n if (typeof offset === \"number\") offset = new TSU.Num.Fraction(offset);\n return offset;\n }\n\n get marginText(): string {\n if (this.params.length > 0) {\n if (this.params[0].key == null && typeof this.params[0].value === \"string\") {\n return this.params[0].value.trim();\n }\n }\n return this.getParam(\"marginText\") || \"\";\n }\n}\n\nexport class CreateRole extends Command {\n applyToNotation(notation: Notation): void {\n // Create the role\n const name = this.getParamAt(0);\n notation.newRoleDef(name, this.notesOnly);\n }\n\n get notesOnly(): boolean {\n const notesOnly = this.getParam(\"notes\");\n return notesOnly == \"true\" || notesOnly == \"yes\" || notesOnly == true;\n }\n}\n\nexport abstract class LayoutParamCommand extends Command {}\n\n/**\n * Saves the current layout with the given name.\n * Typically users can change layout params (currently cycle, APB and line layout)\n * with the \\cycle, \\layout and \\beatDuration commands. Each time these are\n * changed, the current layout params is set to null. So the next time layout\n * params are needed we look at saved layout params and search by by the unique\n * combination of cycle, apb and line layout. This prevetns users from creating\n * too many layouts with the same config. Each layout is associated with an\n * AtomLayout instance.\n *\n * For example consider this:\n *\n * \\apb(4)\n * \\breaks(4)\n * \\cycle(\"|4|2|2|\")\n * \\apb(5)\n * \\breaks(3)\n *\n * In all these cases LayoutParams are *not* created. Instead they are reset to null.\n *\n *\n * When we do an AddAtoms command, this is where a LineView is created and along with this\n * a layoutParams is created taking the latest state of the layout params resulting an\n * LP (instance id = 1) of (layout = 3, cycle = \"4|2|2\", apb = 5)\n *\n * Now after this say we had the following commands:\n *\n * \\cycle(x)\n * \\cycle(|4|2|2)\n * \\apb(10)\n * \\apb(5)\n *\n * Sw: a b c\n *\n * Here again since the LP was set to null, \"creating\" layout params results in returning\n * the LP created previously (at the end of these commands the cycle, apb and layout params\n * are the same).\n *\n * eg doing\n *\n * \\layout(\"layout1\")\n *\n * This ensures that a *new* LP instance is created (even if another one exists with the same\n * apb, cycle, layout combo). This allows us to group different sectiosn that are identical\n * in layout but to be processed by different atom layouts.\n *\n * To use a saved layout simply do:\n *\n * \\layout(\"layout\")\n *\n * Note the use and saving commands are same - as we cannot override existing\n * layouts so referring to it the first time creates and saves it too\n */\nexport class ApplyLayout extends Command {\n validateParams(): void {\n if (this.params.length != 1 || typeof this.params[0].value !== \"string\") {\n throw new Error(\"layout command must contain one string argument\");\n }\n }\n\n applyToNotation(notation: Notation): void {\n const value = this.params[0].value;\n notation.ensureNamedLayoutParams(value);\n }\n}\n\n/**\n * Allows use (and creation) of layouts.\n */\nexport class SetBreaks extends LayoutParamCommand {\n get pattern(): number[] {\n return this.params.map((cmd) => cmd.value as number);\n }\n\n /**\n * called to validate parameters.\n */\n validateParams(): void {\n for (const param of this.params) {\n if (param.key != null) {\n throw new Error(\"Breaks command cannot have keyword params\");\n }\n if (typeof param.value !== \"number\") {\n throw new Error(\"Breaks command must be a list of integers\");\n }\n }\n }\n\n applyToNotation(notation: Notation): void {\n notation.currentBreaks = this.pattern;\n notation.resetLayoutParams();\n }\n}\n\nexport class SetCycle extends LayoutParamCommand {\n applyToNotation(notation: Notation): void {\n const value = this.params[0].value;\n // TODO - move the parsing to validation\n const cycle = parseCycle(value);\n notation.currentCycle = cycle;\n notation.resetLayoutParams();\n }\n}\n\nexport class SetBeatDuration extends LayoutParamCommand {\n validateParams(): void {\n if (this.params.length != 1 || typeof this.params[0].value !== \"number\") {\n throw new Error(\"beatDuration command must contain one number\");\n }\n }\n\n get beatDuration(): number {\n return this.params[0].value;\n }\n\n applyToNotation(notation: Notation): void {\n notation.currentAPB = this.beatDuration;\n notation.resetLayoutParams();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TSU from \"@panyam/tsutils\";\n\ntype Fraction = TSU.Num.Fraction;\nconst ZERO = TSU.Num.Fraction.ZERO;\nconst ONE = TSU.Num.Fraction.ONE;\n\nexport class Entity {\n private static counter = 0;\n readonly uuid = Entity.counter++;\n metadata: TSU.StringMap<any>;\n parent: TSU.Nullable<Entity> = null;\n\n constructor(config: any = null) {\n config = config || {};\n this.metadata = config.metadata || {};\n }\n\n debugValue(): any {\n if (Object.keys(this.metadata).length > 0) return { metadata: this.metadata, type: this.type };\n else return { type: this.type };\n }\n\n children(): Entity[] {\n return [];\n }\n\n get childCount(): number {\n return this.children().length;\n }\n\n addChild(child: Entity, index = -1): this {\n if (index < 0) {\n this.children().push(child);\n } else {\n this.children().splice(index, 0, child);\n }\n return this;\n }\n\n childAt(index: number): Entity {\n return this.children()[index];\n }\n\n indexOfChild(entity: Entity): number {\n let i = 0;\n for (const child of this.children()) {\n if (child == entity) return i;\n i++;\n }\n return -1;\n }\n\n removeChildAt(index: number): Entity {\n const children = this.children();\n const out = children[index];\n children.splice(index, 1);\n return out;\n }\n\n setChildAt(index: number, entity: Entity): this {\n this.children()[index] = entity;\n return this;\n }\n\n setMetadata(key: string, value: any): this {\n this.metadata[key] = value;\n return this;\n }\n\n getMetadata(key: string, recurse = true): any {\n if (key in this.metadata) {\n return this.metadata[key];\n }\n if (recurse && this.parent) {\n return this.parent.getMetadata(key);\n }\n return null;\n }\n\n /**\n * Returns the type of this Entity.\n */\n get type(): unknown {\n return this.constructor.name;\n }\n\n toString(): string {\n return `Entity(id = ${this.uuid})`;\n }\n\n equals(another: this, expect = false): boolean {\n if (this.type != another.type) return false;\n // check metadata too\n return true;\n }\n\n clone(): this {\n const out = this.newInstance();\n this.copyTo(out);\n return out;\n }\n\n copyTo(another: this): void {\n another.metadata = { ...this.metadata };\n }\n\n protected newInstance(): this {\n return new (this.constructor as any)();\n }\n}\n\nexport abstract class TimedEntity extends Entity {\n // Duration of this entity in beats.\n // By default entities durations are readonly\n abstract get duration(): Fraction;\n\n equals(another: this): boolean {\n return super.equals(another) && this.duration.equals(another.duration);\n }\n}\n\nexport enum AtomType {\n NOTE = \"Note\",\n LITERAL = \"Literal\",\n SYLLABLE = \"Syllable\",\n SPACE = \"Space\",\n GROUP = \"Group\",\n LABEL = \"Label\",\n REST = \"Rest\",\n}\n\nexport abstract class Atom extends TimedEntity {\n protected _duration: Fraction;\n nextSibling: TSU.Nullable<Atom> = null;\n prevSibling: TSU.Nullable<Atom> = null;\n\n constructor(duration = ONE) {\n super();\n this._duration = duration || ONE;\n }\n\n debugValue(): any {\n return this.duration.isOne\n ? super.debugValue()\n : { ...super.debugValue(), duration: this.duration.factorized.toString() };\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.duration = new TSU.Num.Fraction(this.duration.num, this.duration.den);\n }\n\n get duration(): Fraction {\n return this._duration;\n }\n\n set duration(d: Fraction) {\n this._duration = d;\n }\n}\n\nexport abstract class LeafAtom extends Atom {\n // Tells if this atom is followed by a rest\n beforeRest = false;\n\n debugValue(): any {\n return this.beforeRest ? { ...super.debugValue(), beforeRest: true } : super.debugValue();\n }\n}\n\nexport class Rest extends LeafAtom {\n // rests are zero length - why not just use 0 length silent spaces?\n constructor() {\n super(ZERO);\n }\n}\n\n/**\n * Spaces are used to denote either silence or continuations of previous notes.\n */\nexport class Space extends LeafAtom {\n /**\n * Tells if this is a silent space or a continuation of previous note.\n */\n isSilent = false;\n\n constructor(duration = ONE, isSilent = false) {\n super(duration);\n this.isSilent = isSilent;\n }\n\n debugValue(): any {\n return { ...super.debugValue(), isSilent: this.isSilent };\n }\n\n toString(): string {\n return `Space(${this.duration}-${this.isSilent})`;\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.isSilent = this.isSilent;\n }\n\n equals(another: this): boolean {\n return super.equals(another) && this.isSilent == another.isSilent;\n }\n}\n\nexport class Literal extends LeafAtom {\n /**\n * The value of this Syllable.\n */\n embelishments: any[] = [];\n\n constructor(public value: string, duration = ONE) {\n super(duration);\n }\n\n debugValue(): any {\n const out = { ...super.debugValue(), value: this.value };\n if (this.embelishments.length > 0) {\n out.embs = this.embelishments.map((e) => (\"debugValue\" in e ? e.debugValue() : e));\n }\n return out;\n }\n\n toString(): string {\n return `Lit(${this.duration}-${this.value})`;\n }\n\n equals(another: this): boolean {\n return super.equals(another) && this.value == another.value;\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.value = this.value;\n }\n}\n\nexport class Syllable extends Literal {\n static fromLit(lit: Literal): Syllable {\n if (lit.type == AtomType.SYLLABLE) return lit as Syllable;\n const out = new Syllable(lit.value, lit.duration);\n out.embelishments = lit.embelishments;\n return out;\n }\n\n toString(): string {\n return `Syll(${this.duration}-${this.value})`;\n }\n}\n\nexport class Note extends Literal {\n /**\n * Which octave is the note in. Can be +ve or -ve to indicate higher or lower octaves.\n */\n octave = 0;\n\n /**\n * How is the note shifted - ie by shifted towards major or minore by # of semi-tones.\n */\n shift: number | boolean = 0;\n\n constructor(value: string, duration = ONE, octave = 0, shift = 0) {\n super(value, duration);\n this.octave = octave;\n this.shift = shift;\n }\n\n static fromLit(lit: Literal): Note {\n if (lit.type == AtomType.NOTE) return lit as Note;\n const out = new Note(lit.value, lit.duration);\n out.embelishments = lit.embelishments;\n return out;\n }\n\n debugValue(): any {\n const out = { ...super.debugValue() };\n if (this.octave != 0) out.octave = this.octave;\n if (this.shift != 0) out.shift = this.shift;\n return out;\n }\n\n toString(): string {\n return `Note(${this.duration}-${this.value}-${this.octave})`;\n }\n\n equals(another: this): boolean {\n return super.equals(another) && this.octave == another.octave && this.shift == another.shift;\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.octave = this.octave;\n another.shift = this.shift;\n }\n}\n\nexport class Group extends Atom {\n /**\n * This indicates whether our duration is static or linear to number of\n * atoms in this group.\n */\n durationIsMultiplier = false;\n readonly atoms: TSU.Lists.ValueList<Atom> = new TSU.Lists.ValueList<Atom>();\n\n constructor(duration = ONE, ...atoms: Atom[]) {\n super(duration);\n this.addAtoms(...atoms);\n }\n\n get duration(): Fraction {\n if (this.durationIsMultiplier) {\n return this.totalChildDuration.divby(this._duration);\n } else {\n return this._duration;\n }\n }\n\n set duration(d: Fraction) {\n this._duration = d;\n }\n\n debugValue(): any {\n const out = { ...super.debugValue(), atoms: Array.from(this.atoms.values(), (a) => a.debugValue()) };\n if (this.durationIsMultiplier) out.durationIsMultiplier = true;\n return out;\n }\n\n get totalChildDuration(): Fraction {\n let out = ZERO;\n this.atoms.forEach((atom) => (out = out.plus(atom.duration)));\n return out;\n }\n\n /** Entities can have children and thus siblings and parents. */\n equals(another: this, expect = false): boolean {\n if (!super.equals(another)) return false;\n return this.atoms.equals(another.atoms, (a1, a2) => a1.equals(a2));\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n this.atoms.forEach((atom) => another.atoms.add(atom.clone()));\n }\n\n addAtoms(...atoms: Atom[]): this {\n for (const atom of atoms) {\n if (atom.type == AtomType.REST) {\n const last = this.atoms.last;\n if (last && last.type != AtomType.GROUP && last.type != AtomType.LABEL) {\n (last as LeafAtom).beforeRest = true;\n }\n } else {\n atom.parent = this;\n this.atoms.add(atom);\n }\n }\n return this;\n }\n}\n\nexport type CyclePosition = [number, number, number];\nexport type CycleIterator = Generator<[CyclePosition, Fraction]>;\n\nexport class CycleCursor {\n constructor(public readonly cycle: Cycle, public barIndex = 0, public beatIndex = 0, public instance = 0) {}\n\n get next(): [CyclePosition, Fraction] {\n const currBar = this.cycle.bars[this.barIndex];\n const result: [CyclePosition, Fraction] = [\n [this.barIndex, this.beatIndex, this.instance],\n currBar.beatLengths[this.beatIndex],\n ];\n this.instance++;\n if (!currBar.beatCounts[this.beatIndex] || this.instance >= currBar.beatCounts[this.beatIndex]) {\n this.instance = 0;\n this.beatIndex++;\n if (this.beatIndex >= currBar.beatLengths.length) {\n this.beatIndex = 0;\n this.barIndex++;\n if (this.barIndex >= this.cycle.bars.length) {\n this.barIndex = 0;\n }\n }\n }\n return result;\n }\n\n get prev(): [CyclePosition, Fraction] {\n const currBar = this.cycle.bars[this.barIndex];\n const result: [CyclePosition, Fraction] = [\n [this.barIndex, this.beatIndex, this.instance],\n currBar.beatLengths[this.beatIndex],\n ];\n // TODO - result should be set *after* decrementing if we had already\n // done a \"next\" before this otherwise user may have to do a prev twice\n this.instance--;\n if (this.instance < 0) {\n this.beatIndex--;\n if (this.beatIndex < 0) {\n this.barIndex--;\n if (this.barIndex < 0) {\n this.barIndex = this.cycle.bars.length - 1;\n }\n this.beatIndex = this.cycle.bars[this.barIndex].beatCount - 1;\n }\n this.instance = (this.cycle.bars[this.barIndex].beatCounts[this.beatIndex] || 1) - 1;\n }\n return result;\n }\n}\n\nexport class Bar extends TimedEntity {\n name: string;\n // Length/Duration of each beat.\n beatLengths: Fraction[] = [];\n\n // How many times should a beat be repeated - the Kalai!\n beatCounts: number[] = [];\n\n constructor(config: any = null) {\n super((config = config || {}));\n this.name = config.name || \"\";\n for (const bl of config.beatLengths || []) {\n if (typeof bl === \"number\") {\n this.beatLengths.push(TSU.Num.Frac(bl));\n } else {\n this.beatLengths.push(bl);\n }\n }\n for (const bc of config.beatCounts || []) {\n this.beatCounts.push(bc);\n }\n while (this.beatCounts.length < this.beatLengths.length) {\n this.beatCounts.push(1);\n }\n }\n\n debugValue(): any {\n return { ...super.debugValue(), name: name, beatLengths: this.beatLengths };\n }\n\n equals(another: this): boolean {\n if (!super.equals(another)) return false;\n if (this.beatLengths.length != another.beatLengths.length) return false;\n if (this.beatCounts.length != another.beatCounts.length) return false;\n for (let i = 0; i < this.beatLengths.length; i++) {\n if (!this.beatLengths[i].equals(another.beatLengths[i])) return false;\n }\n for (let i = 0; i < this.beatCounts.length; i++) {\n if (this.beatCounts[i] != another.beatCounts[i]) return false;\n }\n return true;\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.name = this.name;\n another.beatLengths = [...this.beatLengths];\n another.beatCounts = [...this.beatCounts];\n }\n\n get beatCount(): number {\n return this.beatLengths.length;\n }\n\n get totalBeatCount(): number {\n let out = 0;\n for (let i = 0; i < this.beatLengths.length; i++) {\n out += this.beatCounts[i] || 1;\n }\n return out;\n }\n\n /**\n * Total duration (of time) across all beats in this bar.\n */\n get duration(): Fraction {\n let total = ZERO;\n for (let i = 0; i < this.beatLengths.length; i++) {\n total = total.plus(this.beatLengths[i].timesNum(this.beatCounts[i] || 1));\n }\n return total;\n }\n}\n\n// Describes the cycle pattern\nexport class Cycle extends TimedEntity {\n name: string;\n bars: Bar[];\n\n static readonly DEFAULT = new Cycle({\n name: \"Adi Thalam\",\n bars: [\n new Bar({ name: \"Laghu\", beatLengths: [1, 1, 1, 1] }),\n new Bar({ name: \"Dhrutam\", beatLengths: [1, 1] }),\n new Bar({ name: \"Dhrutam\", beatLengths: [1, 1] }),\n ],\n });\n\n constructor(config: null | { name?: string; bars?: Bar[] } = null) {\n super((config = config || {}));\n this.name = config.name || \"\";\n this.bars = config.bars || [];\n }\n\n debugValue(): any {\n return { ...super.debugValue(), name: name, bars: this.bars.map((p) => p.debugValue()) };\n }\n\n children(): Entity[] {\n return this.bars;\n }\n\n equals(another: this): boolean {\n if (!super.equals(another)) {\n return false;\n }\n if (this.bars.length != another.bars.length) return false;\n for (let i = 0; i < this.bars.length; i++) {\n if (!this.bars[i].equals(another.bars[i])) return false;\n }\n return true;\n }\n\n /**\n * Given a global beat index returns four values [cycle,bar,beat,instance] where:\n *\n * cycle - The nth cycle in which the beat lies. Since the global beat\n * index can be greater the number of beats in this cycle this\n * allows us to wrap around. Similarly if beatindex is less than\n * 0 then we can also go behind a cycle.\n * bar - The mth bar in the nth cycle which the offset exists\n * beat - The beat within the mth bar in the nth cycle where the\n * offset lies\n * instance - The beat instance where the offset lies.\n * startOffset - Offset of the beat at this global index.\n */\n getAtIndex(globalIndex: number): [number, CyclePosition, Fraction] {\n let cycle = 0;\n while (globalIndex < 0) {\n globalIndex += this.totalBeatCount;\n cycle--;\n }\n if (globalIndex >= this.totalBeatCount) {\n cycle = Math.floor(globalIndex / this.totalBeatCount);\n }\n globalIndex = globalIndex % this.totalBeatCount;\n let offset = ZERO;\n for (let barIndex = 0; barIndex < this.bars.length; barIndex++) {\n const bar = this.bars[barIndex];\n if (globalIndex >= bar.totalBeatCount) {\n globalIndex -= bar.totalBeatCount;\n offset = offset.plus(bar.duration);\n } else {\n // this is the bar!\n for (let beatIndex = 0; beatIndex < bar.beatCount; beatIndex++) {\n const beatLength = bar.beatLengths[beatIndex];\n const beatCount = bar.beatCounts[beatIndex] || 1;\n if (globalIndex >= beatCount) {\n globalIndex -= beatCount;\n offset = offset.plus(beatLength.timesNum(beatCount));\n } else {\n // this is it\n const instance = globalIndex;\n return [cycle, [barIndex, beatIndex, instance], offset.plus(beatLength.timesNum(instance))];\n }\n }\n }\n }\n throw new Error(\"Should not be here!\");\n }\n\n /**\n * Given a global offset returns five values [cycle, bar,beat,instance,offset] where:\n *\n * cycle - The nth cycle in which the beat lies. Since the global offset can be\n * greater the duration of the cycle this allows us to wrap around.\n * Similarly if globalOffset is less than 0 then we can also go behind a cycle.\n * bar - The mth bar in the nth cycle which the offset exists\n * beat - The beat within the mth bar in the nth cycle where the offset lies\n * instance - The beat instance where the offset lies.\n * startOffset - The note offset within the beat where the global offset lies.\n * globalIndex - The beat index within the entire cycle and not just within the bar.\n */\n getPosition(globalOffset: Fraction): [number, CyclePosition, Fraction, number] {\n const duration = this.duration;\n let cycleNum = 0;\n if (globalOffset.isLT(ZERO)) {\n while (globalOffset.isLT(ZERO)) {\n cycleNum--;\n globalOffset = globalOffset.plus(duration);\n }\n } else if (globalOffset.isGTE(duration)) {\n const realOffset = globalOffset.mod(duration);\n globalOffset = globalOffset.minus(realOffset).divby(duration);\n TSU.assert(globalOffset.isWhole);\n cycleNum = globalOffset.floor;\n globalOffset = realOffset;\n }\n\n // here globalOffset is positive and >= 0 and < this.duration\n let globalIndex = 0;\n for (let barIndex = 0; barIndex < this.bars.length; barIndex++) {\n const bar = this.bars[barIndex];\n const barDuration = bar.duration;\n if (globalOffset.isGTE(barDuration)) {\n globalOffset = globalOffset.minus(barDuration);\n } else {\n // this is the bar!\n for (let beatIndex = 0; beatIndex < bar.beatCount; beatIndex++) {\n const beatLength = bar.beatLengths[beatIndex];\n const beatCount = bar.beatCounts[beatIndex] || 1;\n for (let instance = 0; instance < beatCount; instance++, globalIndex++) {\n if (globalOffset.isGTE(beatLength)) {\n globalOffset = globalOffset.minus(beatLength);\n } else {\n // this is it\n return [cycleNum, [barIndex, beatIndex, instance], globalOffset, globalIndex];\n }\n }\n }\n }\n globalIndex += bar.totalBeatCount;\n }\n\n throw new Error(\"Should not be here!\");\n }\n\n *iterateBeats(startBar = 0, startBeat = 0, startInstance = 0): CycleIterator {\n let barIndex = startBar;\n let beatIndex = startBeat;\n let instanceIndex = startInstance;\n while (true) {\n const currBar = this.bars[barIndex];\n yield [[barIndex, beatIndex, instanceIndex], currBar.beatLengths[beatIndex]];\n instanceIndex++;\n if (!currBar.beatCounts[beatIndex] || instanceIndex >= currBar.beatCounts[beatIndex]) {\n instanceIndex = 0;\n beatIndex++;\n if (beatIndex >= currBar.beatLengths.length) {\n beatIndex = 0;\n barIndex++;\n if (barIndex >= this.bars.length) {\n barIndex = 0;\n }\n }\n }\n }\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.name = this.name;\n another.bars = this.bars.map((x) => x.clone());\n }\n\n get beatCount(): number {\n let out = 0;\n for (const bar of this.bars) out += bar.beatCount;\n return out;\n }\n\n get totalBeatCount(): number {\n let out = 0;\n for (const bar of this.bars) out += bar.totalBeatCount;\n return out;\n }\n\n /**\n * Total duration (of time) across all bars in this cycle.\n */\n get duration(): Fraction {\n return this.bars.reduce((x, y) => x.plus(y.duration), ZERO);\n }\n}\n\nexport class Line extends Entity {\n // Line can have atoms starting \"before\" the cycle. The offset tells how many notes\n // before or after the cycle this line's atoms start at.\n offset: Fraction = ZERO;\n roles: Role[] = [];\n\n // This is a very hacky solution to doing left side pre-margin text typically found\n // in notations - eg line X of a pallavi has this. This makes vertical space less wasteful\n // A better solution is inter-beat annotation but it is very complex and ambiguous for now\n marginText = \"\";\n\n get isEmpty(): boolean {\n for (const r of this.roles) if (!r.isEmpty) return false;\n return true;\n }\n\n debugValue(): any {\n const out = {\n ...super.debugValue(),\n roles: this.roles.map((r) => r.debugValue()),\n // layoutParams: this.layoutParams?.uuid,\n };\n if (!this.offset.isZero) {\n out.offset = this.offset.toString();\n }\n return out;\n }\n\n copyTo(another: this): void {\n super.copyTo(another);\n another.roles = this.roles.map((r) => r.clone());\n }\n\n addAtoms(roleName: string, defaultToNotes: boolean, ...atoms: Atom[]): this {\n const role = this.ensureRole(roleName, defaultToNotes);\n role.addAtoms(...atoms);\n return this;\n }\n\n ensureRole(roleName: string, defaultToNotes: boolean): Role {\n // Ensure we have this many roles\n let ri = this.roles.findIndex((r) => r.name == roleName);\n if (ri < 0) {\n ri = this.roles.length;\n const role = new Role(this, roleName);\n role.defaultToNotes = defaultToNotes;\n this.roles.push(role);\n }\n return this.roles[ri];\n }\n\n /**\n * Returns the maximum duration of all roles in this line.\n */\n get duration(): Fraction {\n let max = ZERO;\n for (const role of this.roles) {\n max = TSU.Num.Fraction.max(role.duration, max);\n }\n return max;\n }\n}\n\nexport class Role extends Entity {\n defaultToNotes = true;\n atoms: Atom[] = [];\n\n constructor(public readonly line: Line, public readonly name: string) {\n super();\n }\n\n get isEmpty(): boolean {\n return this.atoms.length == 0;\n }\n\n debugValue(): any {\n return { name: this.name, atoms: this.atoms.map((a) => a.debugValue()) };\n }\n\n addAtoms(...atoms: Atom[]): void {\n let last: null | Atom = null;\n for (const atom of atoms) {\n if (atom.type == AtomType.REST) {\n if (last && last.type != AtomType.GROUP && last.type != AtomType.LABEL) {\n (last as LeafAtom).beforeRest = true;\n }\n } else {\n this.atoms.push(atom);\n }\n last = atom;\n }\n }\n\n copyTo(another: Role): void {\n another.addAtoms(...this.atoms);\n }\n\n /**\n * Duration for this role.\n */\n get duration(): Fraction {\n return this.atoms.reduce((a, b) => a.plus(b.duration), ZERO);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,iDAAiC;AACjC,uDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,iDAAiC;AACjC,uDAAuC","sourcesContent":["export * from \"./core\";\nexport * from \"./iterators\";\nexport * from \"./layouts\";\nexport * from \"./notation\";\nexport * from \"./parser\";\nexport * from \"./shapes\";\nexport * from \"./loader\";\nexport * as Utils from \"./utils\";\nexport * as Carnatic from \"./carnatic\";\n"]}