notations 0.0.46 → 0.0.49

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 (113) hide show
  1. package/lib/cjs/beats.d.ts +34 -69
  2. package/lib/cjs/beats.js +178 -439
  3. package/lib/cjs/beats.js.map +1 -1
  4. package/lib/cjs/beatutils.d.ts +3 -0
  5. package/lib/cjs/beatutils.js +64 -0
  6. package/lib/cjs/beatutils.js.map +1 -0
  7. package/lib/cjs/beatview.d.ts +18 -0
  8. package/lib/cjs/beatview.js +62 -0
  9. package/lib/cjs/beatview.js.map +1 -0
  10. package/lib/cjs/carnatic/LineView.d.ts +2 -7
  11. package/lib/cjs/carnatic/LineView.js +13 -31
  12. package/lib/cjs/carnatic/LineView.js.map +1 -1
  13. package/lib/cjs/carnatic/NotationView.d.ts +8 -7
  14. package/lib/cjs/carnatic/NotationView.js +76 -153
  15. package/lib/cjs/carnatic/NotationView.js.map +1 -1
  16. package/lib/cjs/carnatic/atomviews.js +149 -287
  17. package/lib/cjs/carnatic/atomviews.js.map +1 -1
  18. package/lib/cjs/carnatic/beatviews.d.ts +4 -13
  19. package/lib/cjs/carnatic/beatviews.js +23 -118
  20. package/lib/cjs/carnatic/beatviews.js.map +1 -1
  21. package/lib/cjs/carnatic/embelishments.d.ts +1 -1
  22. package/lib/cjs/carnatic/embelishments.js +189 -283
  23. package/lib/cjs/carnatic/embelishments.js.map +1 -1
  24. package/lib/cjs/carnatic/gamakas.js +15 -47
  25. package/lib/cjs/carnatic/gamakas.js.map +1 -1
  26. package/lib/cjs/commands.js +111 -271
  27. package/lib/cjs/commands.js.map +1 -1
  28. package/lib/cjs/core.d.ts +14 -1
  29. package/lib/cjs/core.js +291 -477
  30. package/lib/cjs/core.js.map +1 -1
  31. package/lib/cjs/cycle.js +175 -367
  32. package/lib/cjs/cycle.js.map +1 -1
  33. package/lib/cjs/entity.js +48 -102
  34. package/lib/cjs/entity.js.map +1 -1
  35. package/lib/cjs/grids.d.ts +125 -0
  36. package/lib/cjs/grids.js +550 -0
  37. package/lib/cjs/grids.js.map +1 -0
  38. package/lib/cjs/iterators.js +96 -234
  39. package/lib/cjs/iterators.js.map +1 -1
  40. package/lib/cjs/layouts.d.ts +1 -1
  41. package/lib/cjs/layouts.js +62 -98
  42. package/lib/cjs/layouts.js.map +1 -1
  43. package/lib/cjs/loader.d.ts +2 -2
  44. package/lib/cjs/loader.js +23 -123
  45. package/lib/cjs/loader.js.map +1 -1
  46. package/lib/cjs/notation.d.ts +0 -3
  47. package/lib/cjs/notation.js +139 -241
  48. package/lib/cjs/notation.js.map +1 -1
  49. package/lib/cjs/parser.d.ts +2 -0
  50. package/lib/cjs/parser.js +225 -214
  51. package/lib/cjs/parser.js.map +1 -1
  52. package/lib/cjs/shapes.js +149 -283
  53. package/lib/cjs/shapes.js.map +1 -1
  54. package/lib/cjs/utils.d.ts +8 -0
  55. package/lib/cjs/utils.js +60 -55
  56. package/lib/cjs/utils.js.map +1 -1
  57. package/lib/esm/beats.d.ts +34 -69
  58. package/lib/esm/beats.js +172 -438
  59. package/lib/esm/beats.js.map +1 -1
  60. package/lib/esm/beatutils.d.ts +3 -0
  61. package/lib/esm/beatutils.js +37 -0
  62. package/lib/esm/beatutils.js.map +1 -0
  63. package/lib/esm/beatview.d.ts +18 -0
  64. package/lib/esm/beatview.js +35 -0
  65. package/lib/esm/beatview.js.map +1 -0
  66. package/lib/esm/carnatic/LineView.d.ts +2 -7
  67. package/lib/esm/carnatic/LineView.js +12 -31
  68. package/lib/esm/carnatic/LineView.js.map +1 -1
  69. package/lib/esm/carnatic/NotationView.d.ts +8 -7
  70. package/lib/esm/carnatic/NotationView.js +74 -152
  71. package/lib/esm/carnatic/NotationView.js.map +1 -1
  72. package/lib/esm/carnatic/atomviews.js +144 -284
  73. package/lib/esm/carnatic/atomviews.js.map +1 -1
  74. package/lib/esm/carnatic/beatviews.d.ts +4 -13
  75. package/lib/esm/carnatic/beatviews.js +21 -94
  76. package/lib/esm/carnatic/beatviews.js.map +1 -1
  77. package/lib/esm/carnatic/embelishments.d.ts +1 -1
  78. package/lib/esm/carnatic/embelishments.js +187 -296
  79. package/lib/esm/carnatic/embelishments.js.map +1 -1
  80. package/lib/esm/carnatic/gamakas.js +14 -48
  81. package/lib/esm/carnatic/gamakas.js.map +1 -1
  82. package/lib/esm/commands.js +100 -271
  83. package/lib/esm/commands.js.map +1 -1
  84. package/lib/esm/core.d.ts +14 -1
  85. package/lib/esm/core.js +287 -484
  86. package/lib/esm/core.js.map +1 -1
  87. package/lib/esm/cycle.js +172 -367
  88. package/lib/esm/cycle.js.map +1 -1
  89. package/lib/esm/entity.js +48 -104
  90. package/lib/esm/entity.js.map +1 -1
  91. package/lib/esm/grids.d.ts +125 -0
  92. package/lib/esm/grids.js +517 -0
  93. package/lib/esm/grids.js.map +1 -0
  94. package/lib/esm/iterators.js +93 -235
  95. package/lib/esm/iterators.js.map +1 -1
  96. package/lib/esm/layouts.d.ts +1 -1
  97. package/lib/esm/layouts.js +60 -97
  98. package/lib/esm/layouts.js.map +1 -1
  99. package/lib/esm/loader.d.ts +2 -2
  100. package/lib/esm/loader.js +20 -120
  101. package/lib/esm/loader.js.map +1 -1
  102. package/lib/esm/notation.d.ts +0 -3
  103. package/lib/esm/notation.js +135 -242
  104. package/lib/esm/notation.js.map +1 -1
  105. package/lib/esm/parser.d.ts +2 -0
  106. package/lib/esm/parser.js +220 -210
  107. package/lib/esm/parser.js.map +1 -1
  108. package/lib/esm/shapes.js +148 -288
  109. package/lib/esm/shapes.js.map +1 -1
  110. package/lib/esm/utils.d.ts +8 -0
  111. package/lib/esm/utils.js +55 -51
  112. package/lib/esm/utils.js.map +1 -1
  113. package/package.json +18 -17
@@ -1,24 +1,10 @@
1
1
  import * as TSU from "@panyam/tsutils";
2
2
  import { Line, Atom, Role } from "./";
3
3
  import { CycleIterator } from "./cycle";
4
- import { FlatAtom, WindowIterator } from "./iterators";
4
+ import { WindowIterator } from "./iterators";
5
5
  import { LayoutParams } from "./layouts";
6
+ import { GridModel, GridCell, ColAlign, GridLayoutGroup } from "./grids";
6
7
  declare type Fraction = TSU.Num.Fraction;
7
- interface BeatViewDelegate {
8
- viewForBeat(beat: Beat): BeatView;
9
- }
10
- export interface BeatView {
11
- readonly beat: Beat;
12
- readonly needsLayout: boolean;
13
- readonly minSize: TSU.Geom.Size;
14
- readonly bbox: TSU.Geom.Rect;
15
- x: number;
16
- y: number;
17
- width: number;
18
- height: number;
19
- refreshLayout(): void;
20
- setStyles(config: any): void;
21
- }
22
8
  export declare class Beat {
23
9
  readonly index: number;
24
10
  readonly role: Role;
@@ -30,9 +16,9 @@ export declare class Beat {
30
16
  readonly prevBeat: null | Beat;
31
17
  nextBeat: null | Beat;
32
18
  private static idCounter;
19
+ readonly uuid: number;
33
20
  layoutLine: number;
34
21
  layoutColumn: number;
35
- readonly uuid: number;
36
22
  atom: Atom;
37
23
  protected atomIsPlaceholder: boolean;
38
24
  constructor(index: number, role: Role, offset: Fraction, duration: Fraction, barIndex: number, beatIndex: number, instance: number, prevBeat: null | Beat, nextBeat: null | Beat);
@@ -41,56 +27,6 @@ export declare class Beat {
41
27
  get filled(): boolean;
42
28
  get remaining(): Fraction;
43
29
  add(atom: Atom): boolean;
44
- ensureUniformSpaces(atoms: FlatAtom[], slotsPerBeat?: number): void;
45
- }
46
- export declare class BeatLayout {
47
- readonly layoutParams: LayoutParams;
48
- bcolNextList: Map<string, Set<string>>;
49
- beatColumns: Map<string, BeatColumn>;
50
- startingColumns: BeatColumn[];
51
- columnForBeat: Map<number, BeatColumn>;
52
- constructor(layoutParams: LayoutParams);
53
- getBeatColumn(offset: Fraction, duration: Fraction): BeatColumn;
54
- protected static keyFor(offset: Fraction, duration: Fraction): string;
55
- protected addSuccessor(prev: BeatColumn, next: BeatColumn): void;
56
- addBeat(beat: Beat): BeatColumn;
57
- neighborsOf(beatColumn: BeatColumn): BeatColumn[];
58
- readonly DEBUG = false;
59
- evalColumnSizes(beatViewDelegate: BeatViewDelegate): void;
60
- roleSpacing: number;
61
- rowSpacing: number;
62
- layoutBeatsForLine(line: Line, allRoleBeats: Beat[][], beatViewDelegate: BeatViewDelegate): void;
63
- }
64
- export declare class BeatRow {
65
- readonly layoutLine: number;
66
- rowIndex: number;
67
- protected _y: number;
68
- protected _maxHeight: number;
69
- needsLayout: boolean;
70
- rowSpacing: number;
71
- beats: Beat[];
72
- constructor(layoutLine: number, rowIndex: number);
73
- get y(): number;
74
- set y(val: number);
75
- add(beat: Beat): void;
76
- }
77
- export declare class BeatColumn {
78
- readonly offset: Fraction;
79
- readonly duration: Fraction;
80
- protected _x: number;
81
- protected _maxWidth: number;
82
- needsLayout: boolean;
83
- atomSpacing: number;
84
- paddingLeft: number;
85
- paddingRight: number;
86
- beats: Beat[];
87
- constructor(offset: Fraction, duration: Fraction);
88
- get x(): number;
89
- setX(val: number, beatViewDelegate: BeatViewDelegate): void;
90
- get maxWidth(): number;
91
- setPadding(left: number, right: number): void;
92
- evalMaxWidth(beatViewDelegate: BeatViewDelegate): number;
93
- add(beat: Beat): void;
94
30
  }
95
31
  export declare class BeatsBuilder {
96
32
  readonly role: Role;
@@ -104,8 +40,37 @@ export declare class BeatsBuilder {
104
40
  onAtomAdded: (atom: Atom, beat: Beat) => void;
105
41
  onBeatAdded: (beat: Beat) => void;
106
42
  onBeatFilled: (beat: Beat) => void;
107
- constructor(role: Role, layoutParams: LayoutParams, startOffset?: Fraction);
108
- protected addBeat(): Beat;
43
+ constructor(role: Role, layoutParams: LayoutParams, startOffset?: Fraction, ...atoms: Atom[]);
109
44
  addAtoms(...atoms: Atom[]): void;
45
+ protected addBeat(): Beat;
46
+ }
47
+ export declare class BeatColumn extends ColAlign {
48
+ readonly offset: Fraction;
49
+ readonly endOffset: Fraction;
50
+ readonly markerType: number;
51
+ atomSpacing: number;
52
+ readonly key: string;
53
+ constructor(offset: Fraction, endOffset: Fraction, markerType: number);
54
+ static keyFor(offset: Fraction, endOffset: Fraction, markerType?: number): string;
55
+ }
56
+ export declare class BeatColDAG {
57
+ readonly layoutGroup: GridLayoutGroup;
58
+ beatColumns: Map<string, BeatColumn>;
59
+ constructor(layoutGroup: GridLayoutGroup);
60
+ getBeatColumn(offset: Fraction, endOffset: Fraction, markerType?: number): BeatColumn;
61
+ protected ensureBeatColumn(offset: Fraction, endOffset: Fraction, markerType?: number): [BeatColumn, boolean];
62
+ }
63
+ declare type LineId = number;
64
+ declare type LPID = number;
65
+ export declare class GlobalBeatLayout {
66
+ gridModelsForLine: Map<number, GridModel>;
67
+ roleBeatsForLine: Map<number, Beat[][]>;
68
+ beatColDAGsByLP: Map<number, BeatColDAG>;
69
+ readonly gridLayoutGroup: GridLayoutGroup;
70
+ getGridModelForLine(lineid: LineId): GridModel;
71
+ protected beatColDAGForLP(lpid: LPID): BeatColDAG;
72
+ addLine(line: Line): void;
73
+ protected lineToRoleBeats(line: Line, gridModel: GridModel): Beat[][];
74
+ protected addBeat(beat: Beat, gridModel: GridModel): GridCell;
110
75
  }
111
76
  export {};