smoosic 1.0.24 → 1.0.26

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 (189) hide show
  1. package/build/smoosic.js +1 -1
  2. package/package.json +1 -1
  3. package/release/smoosic.js +1 -1
  4. package/release/styles/ribbon.css +5 -10
  5. package/src/application/exports.ts +1 -0
  6. package/src/styles/ribbon.css +5 -10
  7. package/types/src/application/application.d.ts +102 -102
  8. package/types/src/application/common.d.ts +74 -74
  9. package/types/src/application/configuration.d.ts +74 -74
  10. package/types/src/application/dom.d.ts +8 -8
  11. package/types/src/application/dynamicInit.d.ts +1 -1
  12. package/types/src/application/eventHandler.d.ts +78 -78
  13. package/types/src/application/exports.d.ts +494 -493
  14. package/types/src/application/generateVexTests.d.ts +10 -10
  15. package/types/src/application/keyCommands.d.ts +90 -90
  16. package/types/src/common/bootstrap.bundle.d.ts +1138 -1138
  17. package/types/src/common/htmlHelpers.d.ts +105 -105
  18. package/types/src/common/jszip.d.ts +2 -2
  19. package/types/src/common/midi-parser.d.ts +38 -38
  20. package/types/src/common/promiseHelpers.d.ts +30 -30
  21. package/types/src/common/serializationHelpers.d.ts +29 -29
  22. package/types/src/common/textformatter.d.ts +140 -140
  23. package/types/src/common/vex.d.ts +222 -222
  24. package/types/src/render/audio/musicCursor.d.ts +25 -25
  25. package/types/src/render/audio/oscillator.d.ts +98 -98
  26. package/types/src/render/audio/player.d.ts +141 -141
  27. package/types/src/render/audio/samples.d.ts +56 -56
  28. package/types/src/render/sui/configuration.d.ts +12 -12
  29. package/types/src/render/sui/formatter.d.ts +151 -151
  30. package/types/src/render/sui/layoutDebug.d.ts +43 -43
  31. package/types/src/render/sui/mapper.d.ts +116 -116
  32. package/types/src/render/sui/piano.d.ts +46 -46
  33. package/types/src/render/sui/renderState.d.ts +88 -88
  34. package/types/src/render/sui/scoreRender.d.ts +93 -93
  35. package/types/src/render/sui/scoreView.d.ts +267 -267
  36. package/types/src/render/sui/scoreViewOperations.d.ts +594 -594
  37. package/types/src/render/sui/scroller.d.ts +34 -34
  38. package/types/src/render/sui/svgHelpers.d.ts +85 -85
  39. package/types/src/render/sui/svgPageMap.d.ts +318 -318
  40. package/types/src/render/sui/textEdit.d.ts +310 -310
  41. package/types/src/render/sui/textRender.d.ts +189 -189
  42. package/types/src/render/sui/tracker.d.ts +90 -90
  43. package/types/src/render/vex/glyphDimensions.d.ts +23 -23
  44. package/types/src/render/vex/smoAdapter.d.ts +46 -46
  45. package/types/src/render/vex/toVex.d.ts +13 -13
  46. package/types/src/render/vex/vxMeasure.d.ts +95 -95
  47. package/types/src/render/vex/vxNote.d.ts +55 -55
  48. package/types/src/render/vex/vxSystem.d.ts +64 -64
  49. package/types/src/smo/data/common.d.ts +220 -220
  50. package/types/src/smo/data/measure.d.ts +510 -510
  51. package/types/src/smo/data/measureModifiers.d.ts +506 -506
  52. package/types/src/smo/data/music.d.ts +438 -438
  53. package/types/src/smo/data/note.d.ts +485 -485
  54. package/types/src/smo/data/noteModifiers.d.ts +590 -590
  55. package/types/src/smo/data/partInfo.d.ts +162 -162
  56. package/types/src/smo/data/score.d.ts +395 -395
  57. package/types/src/smo/data/scoreModifiers.d.ts +433 -433
  58. package/types/src/smo/data/scoreText.d.ts +277 -277
  59. package/types/src/smo/data/staffModifiers.d.ts +767 -767
  60. package/types/src/smo/data/systemStaff.d.ts +238 -238
  61. package/types/src/smo/data/tuplet.d.ts +146 -146
  62. package/types/src/smo/midi/midiToSmo.d.ts +198 -198
  63. package/types/src/smo/midi/smoToMidi.d.ts +23 -23
  64. package/types/src/smo/mxml/smoToXml.d.ts +165 -165
  65. package/types/src/smo/mxml/xmlHelpers.d.ts +140 -140
  66. package/types/src/smo/mxml/xmlState.d.ts +257 -257
  67. package/types/src/smo/mxml/xmlToSmo.d.ts +92 -92
  68. package/types/src/smo/xform/beamers.d.ts +46 -46
  69. package/types/src/smo/xform/copypaste.d.ts +99 -99
  70. package/types/src/smo/xform/operations.d.ts +127 -127
  71. package/types/src/smo/xform/roadmap.d.ts +70 -70
  72. package/types/src/smo/xform/selections.d.ts +153 -153
  73. package/types/src/smo/xform/tickDuration.d.ts +155 -155
  74. package/types/src/smo/xform/tickMap.d.ts +34 -34
  75. package/types/src/smo/xform/undo.d.ts +142 -142
  76. package/types/src/smo/xform/updateAudio.d.ts +9 -9
  77. package/types/src/styles/font_metrics/Commissioner-Medium-Metrics.d.ts +871 -871
  78. package/types/src/styles/font_metrics/ConcertOne-Regular.d.ts +871 -871
  79. package/types/src/styles/font_metrics/Merriweather-Regular.d.ts +871 -871
  80. package/types/src/styles/font_metrics/arial_metrics.d.ts +870 -870
  81. package/types/src/styles/font_metrics/ssp-sans-metrics.d.ts +871 -871
  82. package/types/src/styles/font_metrics/ssp-serif-metrics.d.ts +871 -871
  83. package/types/src/styles/font_metrics/times_metrics.d.ts +870 -870
  84. package/types/src/ui/buttons/button.d.ts +95 -95
  85. package/types/src/ui/buttons/collapsable.d.ts +42 -42
  86. package/types/src/ui/buttons/display.d.ts +23 -23
  87. package/types/src/ui/buttons/ribbon.d.ts +76 -76
  88. package/types/src/ui/common.d.ts +45 -45
  89. package/types/src/ui/composable/draggable.d.ts +12 -12
  90. package/types/src/ui/configuration.d.ts +31 -31
  91. package/types/src/ui/dialogs/adapter.d.ts +107 -107
  92. package/types/src/ui/dialogs/addMeasure.d.ts +20 -20
  93. package/types/src/ui/dialogs/arpeggio.d.ts +2 -2
  94. package/types/src/ui/dialogs/articulation.d.ts +2 -2
  95. package/types/src/ui/dialogs/audioSettings.d.ts +32 -32
  96. package/types/src/ui/dialogs/chordChange.d.ts +35 -35
  97. package/types/src/ui/dialogs/clefChange.d.ts +2 -2
  98. package/types/src/ui/dialogs/components/baseComponent.d.ts +158 -158
  99. package/types/src/ui/dialogs/components/button.d.ts +54 -54
  100. package/types/src/ui/dialogs/components/buttonArray.d.ts +101 -101
  101. package/types/src/ui/dialogs/components/checkdrop.d.ts +27 -27
  102. package/types/src/ui/dialogs/components/dragText.d.ts +27 -27
  103. package/types/src/ui/dialogs/components/dropdown.d.ts +78 -78
  104. package/types/src/ui/dialogs/components/fileDownload.d.ts +28 -28
  105. package/types/src/ui/dialogs/components/fontComponent.d.ts +32 -32
  106. package/types/src/ui/dialogs/components/noteText.d.ts +98 -98
  107. package/types/src/ui/dialogs/components/pitch.d.ts +95 -95
  108. package/types/src/ui/dialogs/components/rocker.d.ts +66 -66
  109. package/types/src/ui/dialogs/components/staffComponents.d.ts +77 -77
  110. package/types/src/ui/dialogs/components/textCheck.d.ts +38 -38
  111. package/types/src/ui/dialogs/components/textInPlace.d.ts +90 -90
  112. package/types/src/ui/dialogs/components/textInput.d.ts +58 -58
  113. package/types/src/ui/dialogs/components/tie.d.ts +41 -41
  114. package/types/src/ui/dialogs/components/toggle.d.ts +53 -53
  115. package/types/src/ui/dialogs/components/tree.d.ts +46 -46
  116. package/types/src/ui/dialogs/customTuplets.d.ts +25 -25
  117. package/types/src/ui/dialogs/dialog.d.ts +201 -201
  118. package/types/src/ui/dialogs/durations.d.ts +2 -2
  119. package/types/src/ui/dialogs/dynamics.d.ts +37 -37
  120. package/types/src/ui/dialogs/endings.d.ts +61 -61
  121. package/types/src/ui/dialogs/factory.d.ts +15 -15
  122. package/types/src/ui/dialogs/fileDialogs.d.ts +4 -4
  123. package/types/src/ui/dialogs/fonts.d.ts +2 -2
  124. package/types/src/ui/dialogs/globalLayout.d.ts +2 -2
  125. package/types/src/ui/dialogs/gracenote.d.ts +2 -2
  126. package/types/src/ui/dialogs/hairpin.d.ts +35 -35
  127. package/types/src/ui/dialogs/instrument.d.ts +3 -3
  128. package/types/src/ui/dialogs/keySignature.d.ts +33 -33
  129. package/types/src/ui/dialogs/library.d.ts +70 -70
  130. package/types/src/ui/dialogs/lyric.d.ts +39 -39
  131. package/types/src/ui/dialogs/measureFormat.d.ts +52 -52
  132. package/types/src/ui/dialogs/microtones.d.ts +2 -2
  133. package/types/src/ui/dialogs/noteHead.d.ts +2 -2
  134. package/types/src/ui/dialogs/ornament.d.ts +2 -2
  135. package/types/src/ui/dialogs/pageLayout.d.ts +2 -2
  136. package/types/src/ui/dialogs/partInfo.d.ts +2 -2
  137. package/types/src/ui/dialogs/pedalMarking.d.ts +35 -35
  138. package/types/src/ui/dialogs/pitch.d.ts +2 -2
  139. package/types/src/ui/dialogs/preferences.d.ts +2 -2
  140. package/types/src/ui/dialogs/scoreId.d.ts +2 -2
  141. package/types/src/ui/dialogs/scoreView.d.ts +2 -2
  142. package/types/src/ui/dialogs/slur.d.ts +57 -57
  143. package/types/src/ui/dialogs/staffGroup.d.ts +2 -2
  144. package/types/src/ui/dialogs/tabNote.d.ts +32 -32
  145. package/types/src/ui/dialogs/tabStave.d.ts +43 -43
  146. package/types/src/ui/dialogs/tempo.d.ts +50 -50
  147. package/types/src/ui/dialogs/textBlock.d.ts +61 -61
  148. package/types/src/ui/dialogs/textBracket.d.ts +35 -35
  149. package/types/src/ui/dialogs/tie.d.ts +41 -41
  150. package/types/src/ui/dialogs/timeSignature.d.ts +34 -34
  151. package/types/src/ui/dialogs/transposeScore.d.ts +2 -2
  152. package/types/src/ui/dialogs/volta.d.ts +40 -40
  153. package/types/src/ui/eventSource.d.ts +63 -63
  154. package/types/src/ui/exceptions.d.ts +12 -12
  155. package/types/src/ui/fileio/fileInput.d.ts +12 -12
  156. package/types/src/ui/fileio/library.d.ts +40 -40
  157. package/types/src/ui/fileio/xhrLoader.d.ts +18 -18
  158. package/types/src/ui/help.d.ts +22 -22
  159. package/types/src/ui/i18n/language.d.ts +37 -37
  160. package/types/src/ui/i18n/language_ar.d.ts +5 -5
  161. package/types/src/ui/i18n/language_de.d.ts +1 -1
  162. package/types/src/ui/i18n/language_en.d.ts +18 -18
  163. package/types/src/ui/i18n/translationEditor.d.ts +14 -14
  164. package/types/src/ui/keyBindings/default/editorKeys.d.ts +7 -7
  165. package/types/src/ui/keyBindings/default/trackerKeys.d.ts +7 -7
  166. package/types/src/ui/menus/beams.d.ts +13 -13
  167. package/types/src/ui/menus/edit.d.ts +8 -8
  168. package/types/src/ui/menus/file.d.ts +26 -26
  169. package/types/src/ui/menus/help.d.ts +8 -8
  170. package/types/src/ui/menus/keySignature.d.ts +13 -13
  171. package/types/src/ui/menus/language.d.ts +12 -12
  172. package/types/src/ui/menus/manager.d.ts +57 -57
  173. package/types/src/ui/menus/measure.d.ts +8 -8
  174. package/types/src/ui/menus/menu.d.ts +136 -136
  175. package/types/src/ui/menus/note.d.ts +8 -8
  176. package/types/src/ui/menus/partSelection.d.ts +19 -19
  177. package/types/src/ui/menus/parts.d.ts +50 -50
  178. package/types/src/ui/menus/score.d.ts +20 -20
  179. package/types/src/ui/menus/staffModifier.d.ts +21 -21
  180. package/types/src/ui/menus/text.d.ts +8 -8
  181. package/types/src/ui/menus/timeSignature.d.ts +12 -12
  182. package/types/src/ui/menus/tuplets.d.ts +13 -13
  183. package/types/src/ui/menus/voices.d.ts +8 -8
  184. package/types/src/ui/modalDialogs.d.ts +1 -1
  185. package/types/src/ui/navigation.d.ts +15 -15
  186. package/types/src/ui/qwerty.d.ts +41 -41
  187. package/types/src/ui/ribbonLayout/default/defaultRibbon.d.ts +15 -15
  188. package/types/src/ui/ribbonLayout/default/tabletRibbon.d.ts +22 -22
  189. package/types/typedoc.d.ts +158 -158
@@ -1,140 +1,140 @@
1
- import { FontInfo } from '../common/vex';
2
- /**
3
- * @internal
4
- */
5
- export interface FontGlyph {
6
- xMin: number;
7
- xMax: number;
8
- yMin: number;
9
- yMax: number;
10
- ha: number;
11
- leftSideBearing: number;
12
- advanceWidth: number;
13
- }
14
- /**
15
- * @internal
16
- */
17
- export interface TextFormatterInfo extends Record<string, unknown> {
18
- family: string;
19
- resolution?: number;
20
- glyphs?: Record<string, FontGlyph>;
21
- serifs: boolean;
22
- monospaced: boolean;
23
- italic: boolean;
24
- bold: boolean;
25
- maxSizeGlyph?: string;
26
- superscriptOffset?: number;
27
- subscriptOffset?: number;
28
- description: string;
29
- }
30
- /**
31
- * Y information, 0 is baseline, yMin is lowest point.
32
- * @internal
33
- */
34
- export interface yExtent {
35
- yMin: number;
36
- yMax: number;
37
- height: number;
38
- }
39
- /**
40
- * @category SuiRender
41
- */
42
- export declare class TextFormatter {
43
- /**
44
- * Return all registered font families.
45
- */
46
- static getFontFamilies(): TextFormatterInfo[];
47
- /**
48
- * Call `TextFormatter.registerInfo(info)` to register font information before using this method.
49
- *
50
- * This method creates a formatter for the font that most closely matches the requested font.
51
- * We compare font family, bold, and italic attributes.
52
- * This method will return a fallback formatter if there are no matches.
53
- */
54
- static create(requestedFont?: FontInfo): TextFormatter;
55
- /**
56
- * @param fontFamily used as a key to the font registry.
57
- * @returns the same info object that was passed in via `TextFormatter.registerInfo(info)`
58
- */
59
- static getInfo(fontFamily: string): TextFormatterInfo | undefined;
60
- /**
61
- * Apps may register their own fonts and metrics, and those metrics
62
- * will be available to the app for formatting.
63
- *
64
- * Metrics can be generated from a font file using fontgen_text.js in the tools/fonts directory.
65
- * @param info
66
- * @param overwrite
67
- */
68
- static registerInfo(info: TextFormatterInfo, overwrite?: boolean): void;
69
- /** Font family. */
70
- protected family: string;
71
- /** Specified in `pt` units. */
72
- protected size: number;
73
- /** Font metrics are extracted at 1000 upem (units per em). */
74
- protected resolution: number;
75
- /**
76
- * For text formatting, we do not require glyph outlines, but instead rely on glyph
77
- * bounding box metrics such as:
78
- * ```
79
- * {
80
- * x_min: 48,
81
- * x_max: 235,
82
- * y_min: -17,
83
- * y_max: 734,
84
- * ha: 751,
85
- * leftSideBearing: 48,
86
- * advanceWidth: 286,
87
- * }
88
- * ```
89
- */
90
- protected glyphs: Record<string, FontGlyph>;
91
- protected description?: string;
92
- protected serifs: boolean;
93
- protected monospaced: boolean;
94
- protected italic: boolean;
95
- protected bold: boolean;
96
- protected superscriptOffset: number;
97
- protected subscriptOffset: number;
98
- protected maxSizeGlyph: string;
99
- protected cacheKey: string;
100
- /**
101
- * Use `TextFormatter.create(...)` to build an instance from information previously
102
- * registered via `TextFormatter.registerInfo(info)`.
103
- */
104
- private constructor();
105
- get localHeightCache(): Record<string, yExtent | undefined>;
106
- updateParams(params: TextFormatterInfo): void;
107
- /** Create a hash with the current font data, so we can cache computed widths. */
108
- updateCacheKey(): void;
109
- /**
110
- * The glyphs table is indexed by the character (e.g., 'C', '@').
111
- * See: robotoslab_glyphs.ts & petalumascript_glyphs.ts.
112
- */
113
- getGlyphMetrics(character: string): FontGlyph;
114
- get maxHeight(): number;
115
- /**
116
- * Retrieve the character's advanceWidth as a fraction of an `em` unit.
117
- * For the space character ' ' as defined in the:
118
- * petalumascript_glyphs.ts: 250 advanceWidth in the 1000 unitsPerEm font returns 0.25.
119
- * robotoslab_glyphs.ts: 509 advanceWidth in the 2048 unitsPerEm font returns 0.2485.
120
- */
121
- getWidthForCharacterInEm(c: string): number;
122
- /**
123
- * Retrieve the character's y bounds (ymin, ymax) and height.
124
- */
125
- getYForCharacterInPx(c: string): yExtent;
126
- getYForStringInPx(str: string): yExtent;
127
- /**
128
- * Retrieve the total width of `text` in `em` units.
129
- */
130
- getWidthForTextInEm(text: string): number;
131
- /** The width of the text (in `em`) is scaled by the font size (in `px`). */
132
- getWidthForTextInPx(text: string): number;
133
- /**
134
- * @param size in pt.
135
- */
136
- setFontSize(size: number): this;
137
- /** `this.size` is specified in points. Convert to pixels. */
138
- get fontSizeInPixels(): number;
139
- getResolution(): number;
140
- }
1
+ import { FontInfo } from '../common/vex';
2
+ /**
3
+ * @internal
4
+ */
5
+ export interface FontGlyph {
6
+ xMin: number;
7
+ xMax: number;
8
+ yMin: number;
9
+ yMax: number;
10
+ ha: number;
11
+ leftSideBearing: number;
12
+ advanceWidth: number;
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ export interface TextFormatterInfo extends Record<string, unknown> {
18
+ family: string;
19
+ resolution?: number;
20
+ glyphs?: Record<string, FontGlyph>;
21
+ serifs: boolean;
22
+ monospaced: boolean;
23
+ italic: boolean;
24
+ bold: boolean;
25
+ maxSizeGlyph?: string;
26
+ superscriptOffset?: number;
27
+ subscriptOffset?: number;
28
+ description: string;
29
+ }
30
+ /**
31
+ * Y information, 0 is baseline, yMin is lowest point.
32
+ * @internal
33
+ */
34
+ export interface yExtent {
35
+ yMin: number;
36
+ yMax: number;
37
+ height: number;
38
+ }
39
+ /**
40
+ * @category SuiRender
41
+ */
42
+ export declare class TextFormatter {
43
+ /**
44
+ * Return all registered font families.
45
+ */
46
+ static getFontFamilies(): TextFormatterInfo[];
47
+ /**
48
+ * Call `TextFormatter.registerInfo(info)` to register font information before using this method.
49
+ *
50
+ * This method creates a formatter for the font that most closely matches the requested font.
51
+ * We compare font family, bold, and italic attributes.
52
+ * This method will return a fallback formatter if there are no matches.
53
+ */
54
+ static create(requestedFont?: FontInfo): TextFormatter;
55
+ /**
56
+ * @param fontFamily used as a key to the font registry.
57
+ * @returns the same info object that was passed in via `TextFormatter.registerInfo(info)`
58
+ */
59
+ static getInfo(fontFamily: string): TextFormatterInfo | undefined;
60
+ /**
61
+ * Apps may register their own fonts and metrics, and those metrics
62
+ * will be available to the app for formatting.
63
+ *
64
+ * Metrics can be generated from a font file using fontgen_text.js in the tools/fonts directory.
65
+ * @param info
66
+ * @param overwrite
67
+ */
68
+ static registerInfo(info: TextFormatterInfo, overwrite?: boolean): void;
69
+ /** Font family. */
70
+ protected family: string;
71
+ /** Specified in `pt` units. */
72
+ protected size: number;
73
+ /** Font metrics are extracted at 1000 upem (units per em). */
74
+ protected resolution: number;
75
+ /**
76
+ * For text formatting, we do not require glyph outlines, but instead rely on glyph
77
+ * bounding box metrics such as:
78
+ * ```
79
+ * {
80
+ * x_min: 48,
81
+ * x_max: 235,
82
+ * y_min: -17,
83
+ * y_max: 734,
84
+ * ha: 751,
85
+ * leftSideBearing: 48,
86
+ * advanceWidth: 286,
87
+ * }
88
+ * ```
89
+ */
90
+ protected glyphs: Record<string, FontGlyph>;
91
+ protected description?: string;
92
+ protected serifs: boolean;
93
+ protected monospaced: boolean;
94
+ protected italic: boolean;
95
+ protected bold: boolean;
96
+ protected superscriptOffset: number;
97
+ protected subscriptOffset: number;
98
+ protected maxSizeGlyph: string;
99
+ protected cacheKey: string;
100
+ /**
101
+ * Use `TextFormatter.create(...)` to build an instance from information previously
102
+ * registered via `TextFormatter.registerInfo(info)`.
103
+ */
104
+ private constructor();
105
+ get localHeightCache(): Record<string, yExtent | undefined>;
106
+ updateParams(params: TextFormatterInfo): void;
107
+ /** Create a hash with the current font data, so we can cache computed widths. */
108
+ updateCacheKey(): void;
109
+ /**
110
+ * The glyphs table is indexed by the character (e.g., 'C', '@').
111
+ * See: robotoslab_glyphs.ts & petalumascript_glyphs.ts.
112
+ */
113
+ getGlyphMetrics(character: string): FontGlyph;
114
+ get maxHeight(): number;
115
+ /**
116
+ * Retrieve the character's advanceWidth as a fraction of an `em` unit.
117
+ * For the space character ' ' as defined in the:
118
+ * petalumascript_glyphs.ts: 250 advanceWidth in the 1000 unitsPerEm font returns 0.25.
119
+ * robotoslab_glyphs.ts: 509 advanceWidth in the 2048 unitsPerEm font returns 0.2485.
120
+ */
121
+ getWidthForCharacterInEm(c: string): number;
122
+ /**
123
+ * Retrieve the character's y bounds (ymin, ymax) and height.
124
+ */
125
+ getYForCharacterInPx(c: string): yExtent;
126
+ getYForStringInPx(str: string): yExtent;
127
+ /**
128
+ * Retrieve the total width of `text` in `em` units.
129
+ */
130
+ getWidthForTextInEm(text: string): number;
131
+ /** The width of the text (in `em`) is scaled by the font size (in `px`). */
132
+ getWidthForTextInPx(text: string): number;
133
+ /**
134
+ * @param size in pt.
135
+ */
136
+ setFontSize(size: number): this;
137
+ /** `this.size` is specified in points. Convert to pixels. */
138
+ get fontSizeInPixels(): number;
139
+ getResolution(): number;
140
+ }