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,222 +1,222 @@
1
- import { Note as VexNote, StaveNote as VexStaveNote, StemmableNote as VexStemmableNote, Beam as VexBeam, Tuplet as VexTuplet, Voice as VexVoice, Formatter as VexFormatter, Accidental as VexAccidental, Annotation as VexAnnotation, StaveNoteStruct as VexStaveNoteStruct, StaveText as VexStaveText, StaveModifier as VexStaveModifier, TextNote as VexTextNote, Stave as VexStave, StaveModifierPosition as VexStaveModifierPosition, Font as VexFont, FontInfo as VexFontInfo, FontStyle as VexFontStyle, FontWeight as VexFontWeight, TupletOptions as VexTupletOptions, Curve as VexCurve, StaveTie as VexStaveTie, ClefNote as VexClefNote, Music as VexMusic, ChordSymbol as VexChordSymbol, TabStave as VexTabStave, TabNote as VexTabNote, TabSlide as VexTabSlide, TabNotePosition as VexTabNotePosition, TabNoteStruct as VexTabNoteStruct, PedalMarking as VexPedalMarking, Stem as VexStem, Renderer as VexRenderer, RenderContext as VexRenderContext, SVGContext as VexSVGContext } from "vexflow_smoosic";
2
- import { SvgBox } from "../smo/data/common";
3
- export declare const VexFlow: typeof import("vexflow_smoosic").Flow;
4
- export type Music = VexMusic;
5
- export type Note = VexNote;
6
- export type StaveNote = VexStaveNote;
7
- export type Stem = VexStem;
8
- export type StemmableNote = VexStemmableNote;
9
- export type Beam = VexBeam;
10
- export type Tuplet = VexTuplet;
11
- export type TupletOptions = VexTupletOptions;
12
- export type PedalMarking = VexPedalMarking;
13
- export type Voice = VexVoice;
14
- export type Accidental = VexAccidental;
15
- export type Font = VexFont;
16
- export type FontInfo = VexFontInfo;
17
- export type FontStyle = VexFontStyle;
18
- export type FontWeight = VexFontWeight;
19
- export type Formatter = VexFormatter;
20
- export type Annotation = VexAnnotation;
21
- export type TextNote = VexTextNote;
22
- export type StaveNoteStruct = VexStaveNoteStruct;
23
- export type StaveModifier = VexStaveModifier;
24
- export type StaveText = VexStaveText;
25
- export type Stave = VexStave;
26
- export type Curve = VexCurve;
27
- export type StaveTie = VexStaveTie;
28
- export type ClefNote = VexClefNote;
29
- export type StaveModifierPosition = VexStaveModifierPosition;
30
- export type TabStave = VexTabStave;
31
- export type TabNote = VexTabNote;
32
- export type TabSlide = VexTabSlide;
33
- export type TabNotePosition = VexTabNotePosition;
34
- export type TabNoteStruct = VexTabNoteStruct;
35
- export type Renderer = VexRenderer;
36
- export type RenderContext = VexRenderContext;
37
- export type SVGContext = VexSVGContext;
38
- /**
39
- * @internal
40
- */
41
- export interface GlyphInfo {
42
- width: number;
43
- height: number;
44
- yTop: number;
45
- yBottom: number;
46
- spacingRight: number;
47
- vexGlyph: string | null;
48
- }
49
- /**
50
- * @internal
51
- */
52
- export interface CreateVexNoteParams {
53
- isTuplet: boolean;
54
- measureIndex: number;
55
- clef: string;
56
- stemTicks: string;
57
- keys: string[];
58
- noteType: string;
59
- isCue?: boolean;
60
- }
61
- /**
62
- * @internal
63
- */
64
- export interface SmoVexTupletParams {
65
- vexNotes: Note[];
66
- numNotes: number;
67
- notesOccupied: number;
68
- ratioed: boolean;
69
- bracketed: boolean;
70
- location: number;
71
- }
72
- export declare function chordSubscriptOffset(): number;
73
- export declare function chordSuperscriptOffset(): number;
74
- /**
75
- * @internal
76
- */
77
- export interface SmoVexVoiceParams {
78
- actualBeats: number;
79
- beatDuration: number;
80
- notes: Note[];
81
- }
82
- export declare function createVoice(params: SmoVexVoiceParams): VexVoice;
83
- /**
84
- * @internal
85
- */
86
- export interface SmoVexStaveParams {
87
- x: number;
88
- y: number;
89
- padLeft: number;
90
- id: string;
91
- staffX: number;
92
- staffY: number;
93
- staffWidth: number;
94
- forceClef: boolean;
95
- clef: string;
96
- forceKey: boolean;
97
- key: string;
98
- canceledKey: string | null;
99
- startX: number;
100
- adjX: number;
101
- lines: number;
102
- context: any;
103
- }
104
- export declare function createTabStave(box: SvgBox, spacing: number, numLines: number): TabStave;
105
- /**
106
- * Vex4 and Vex5 handle width differently. Vex5, width comes directly from the
107
- * font glyph, vex4 the glyph is a path so it comes from the stored information about
108
- * the path.
109
- *
110
- * @param smoGlyph
111
- * @returns
112
- */
113
- export declare function getGlyphWidth(smoGlyph: GlyphInfo): number;
114
- /**
115
- * V4 uses the glyph name, V5 uses the unicode value
116
- * @returns
117
- */
118
- export declare function getSlashGlyph(): import("vexflow_smoosic").GlyphNote;
119
- export declare function getRepeatBar(): import("vexflow_smoosic").GlyphNote;
120
- export declare function getMultimeasureRest(multimeasureLength: number): import("vexflow_smoosic").MultiMeasureRest;
121
- export declare function pitchToLedgerLine(vexPitch: string, clef: string): number;
122
- export declare function vexCanonicalNotes(): any;
123
- export declare function createStave(params: SmoVexStaveParams): VexStave;
124
- export declare function getVexTuplets(params: SmoVexTupletParams): VexTuplet;
125
- export declare function getVexNoteParameters(params: CreateVexNoteParams): {
126
- noteParams: StaveNoteStruct;
127
- duration: string;
128
- };
129
- /**
130
- * @internal
131
- */
132
- export interface SmoVexStemParams {
133
- voiceCount: number;
134
- voiceIx: number;
135
- isAuto: boolean;
136
- isUp: boolean;
137
- }
138
- export declare function applyStemDirection(params: SmoVexStemParams, vxParams: StaveNoteStruct): void;
139
- export declare function createStaveText(text: string, position: number, options: any): VexStaveText;
140
- /**
141
- * @internal
142
- */
143
- export interface SmoVexHairpinParams {
144
- vxStart: Note | null;
145
- vxEnd: Note | null;
146
- hairpinType: number;
147
- height: number;
148
- yOffset: number;
149
- leftShiftPx: number;
150
- rightShiftPx: number;
151
- }
152
- export declare function createHairpin(params: SmoVexHairpinParams): import("vexflow_smoosic").StaveHairpin;
153
- /**
154
- * @internal
155
- */
156
- export interface SmoVexSlurParameters {
157
- vxStart: Note | null;
158
- vxEnd: Note | null;
159
- thickness: number;
160
- xShift: number;
161
- yShift: number;
162
- cps: DOMPoint[];
163
- openingDirection: string;
164
- position: number;
165
- positionEnd: number;
166
- }
167
- export declare const defaultMeasurePadding: number;
168
- export declare function createSlur(params: SmoVexSlurParameters): Curve;
169
- /**
170
- * @internal
171
- */
172
- export interface SmoVexTieParams {
173
- fromLines: number[];
174
- toLines: number[];
175
- firstNote: Note | null;
176
- lastNote: Note | null;
177
- vexOptions: any;
178
- }
179
- export declare function createTie(params: SmoVexTieParams): StaveTie;
180
- export declare const vexNoteScale: number;
181
- export declare const defaultNoteScale: number;
182
- export declare const defaultCueScale: number;
183
- export declare function glyphPixels(): number;
184
- export declare function setFontStack(font: string): void;
185
- /**
186
- * Render a dynamics glyph. Return the height of width/height of the glyph
187
- * @param context
188
- * @param text
189
- * @param fontSize
190
- * @param x
191
- * @param y
192
- * @returns
193
- */
194
- export declare function renderDynamics(context: any, text: string, fontSize: number, x: number, y: number): {
195
- width: number;
196
- height: number;
197
- };
198
- export declare function getOrnamentGlyph(glyph: string): string;
199
- export declare function addChordGlyph(cs: VexChordSymbol, symbol: string): void;
200
- /**
201
- * get a glyph code to render
202
- * @param code
203
- * @returns
204
- */
205
- export declare function getVexGlyphFromChordCode(code: string): string;
206
- export declare function createTextNote(code: string): VexTextNote;
207
- /**
208
- * Get the chord symbol glyph from the vex glyph
209
- * @export
210
- * @param {string} code
211
- * @return {*}
212
- */
213
- export declare function getChordSymbolGlyphFromCode(code: string): string;
214
- export declare function getChordSymbolMetricsForGlyph(code: string): import("vexflow_smoosic").ChordSymbolGlyphMetrics;
215
- /**
216
- * Vex 5 compatibility. yShift
217
- */
218
- export declare function blockMetricsYShift(metrics: any): any;
219
- export declare const ChordSymbolGlyphs: Record<string, {
220
- code: string;
221
- }>;
222
- export declare const vexOrnaments: Record<string, string>;
1
+ import { Note as VexNote, StaveNote as VexStaveNote, StemmableNote as VexStemmableNote, Beam as VexBeam, Tuplet as VexTuplet, Voice as VexVoice, Formatter as VexFormatter, Accidental as VexAccidental, Annotation as VexAnnotation, StaveNoteStruct as VexStaveNoteStruct, StaveText as VexStaveText, StaveModifier as VexStaveModifier, TextNote as VexTextNote, Stave as VexStave, StaveModifierPosition as VexStaveModifierPosition, Font as VexFont, FontInfo as VexFontInfo, FontStyle as VexFontStyle, FontWeight as VexFontWeight, TupletOptions as VexTupletOptions, Curve as VexCurve, StaveTie as VexStaveTie, ClefNote as VexClefNote, Music as VexMusic, ChordSymbol as VexChordSymbol, TabStave as VexTabStave, TabNote as VexTabNote, TabSlide as VexTabSlide, TabNotePosition as VexTabNotePosition, TabNoteStruct as VexTabNoteStruct, PedalMarking as VexPedalMarking, Stem as VexStem, Renderer as VexRenderer, RenderContext as VexRenderContext, SVGContext as VexSVGContext } from "vexflow_smoosic";
2
+ import { SvgBox } from "../smo/data/common";
3
+ export declare const VexFlow: typeof import("vexflow_smoosic").Flow;
4
+ export type Music = VexMusic;
5
+ export type Note = VexNote;
6
+ export type StaveNote = VexStaveNote;
7
+ export type Stem = VexStem;
8
+ export type StemmableNote = VexStemmableNote;
9
+ export type Beam = VexBeam;
10
+ export type Tuplet = VexTuplet;
11
+ export type TupletOptions = VexTupletOptions;
12
+ export type PedalMarking = VexPedalMarking;
13
+ export type Voice = VexVoice;
14
+ export type Accidental = VexAccidental;
15
+ export type Font = VexFont;
16
+ export type FontInfo = VexFontInfo;
17
+ export type FontStyle = VexFontStyle;
18
+ export type FontWeight = VexFontWeight;
19
+ export type Formatter = VexFormatter;
20
+ export type Annotation = VexAnnotation;
21
+ export type TextNote = VexTextNote;
22
+ export type StaveNoteStruct = VexStaveNoteStruct;
23
+ export type StaveModifier = VexStaveModifier;
24
+ export type StaveText = VexStaveText;
25
+ export type Stave = VexStave;
26
+ export type Curve = VexCurve;
27
+ export type StaveTie = VexStaveTie;
28
+ export type ClefNote = VexClefNote;
29
+ export type StaveModifierPosition = VexStaveModifierPosition;
30
+ export type TabStave = VexTabStave;
31
+ export type TabNote = VexTabNote;
32
+ export type TabSlide = VexTabSlide;
33
+ export type TabNotePosition = VexTabNotePosition;
34
+ export type TabNoteStruct = VexTabNoteStruct;
35
+ export type Renderer = VexRenderer;
36
+ export type RenderContext = VexRenderContext;
37
+ export type SVGContext = VexSVGContext;
38
+ /**
39
+ * @internal
40
+ */
41
+ export interface GlyphInfo {
42
+ width: number;
43
+ height: number;
44
+ yTop: number;
45
+ yBottom: number;
46
+ spacingRight: number;
47
+ vexGlyph: string | null;
48
+ }
49
+ /**
50
+ * @internal
51
+ */
52
+ export interface CreateVexNoteParams {
53
+ isTuplet: boolean;
54
+ measureIndex: number;
55
+ clef: string;
56
+ stemTicks: string;
57
+ keys: string[];
58
+ noteType: string;
59
+ isCue?: boolean;
60
+ }
61
+ /**
62
+ * @internal
63
+ */
64
+ export interface SmoVexTupletParams {
65
+ vexNotes: Note[];
66
+ numNotes: number;
67
+ notesOccupied: number;
68
+ ratioed: boolean;
69
+ bracketed: boolean;
70
+ location: number;
71
+ }
72
+ export declare function chordSubscriptOffset(): number;
73
+ export declare function chordSuperscriptOffset(): number;
74
+ /**
75
+ * @internal
76
+ */
77
+ export interface SmoVexVoiceParams {
78
+ actualBeats: number;
79
+ beatDuration: number;
80
+ notes: Note[];
81
+ }
82
+ export declare function createVoice(params: SmoVexVoiceParams): VexVoice;
83
+ /**
84
+ * @internal
85
+ */
86
+ export interface SmoVexStaveParams {
87
+ x: number;
88
+ y: number;
89
+ padLeft: number;
90
+ id: string;
91
+ staffX: number;
92
+ staffY: number;
93
+ staffWidth: number;
94
+ forceClef: boolean;
95
+ clef: string;
96
+ forceKey: boolean;
97
+ key: string;
98
+ canceledKey: string | null;
99
+ startX: number;
100
+ adjX: number;
101
+ lines: number;
102
+ context: any;
103
+ }
104
+ export declare function createTabStave(box: SvgBox, spacing: number, numLines: number): TabStave;
105
+ /**
106
+ * Vex4 and Vex5 handle width differently. Vex5, width comes directly from the
107
+ * font glyph, vex4 the glyph is a path so it comes from the stored information about
108
+ * the path.
109
+ *
110
+ * @param smoGlyph
111
+ * @returns
112
+ */
113
+ export declare function getGlyphWidth(smoGlyph: GlyphInfo): number;
114
+ /**
115
+ * V4 uses the glyph name, V5 uses the unicode value
116
+ * @returns
117
+ */
118
+ export declare function getSlashGlyph(): import("vexflow_smoosic").GlyphNote;
119
+ export declare function getRepeatBar(): import("vexflow_smoosic").GlyphNote;
120
+ export declare function getMultimeasureRest(multimeasureLength: number): import("vexflow_smoosic").MultiMeasureRest;
121
+ export declare function pitchToLedgerLine(vexPitch: string, clef: string): number;
122
+ export declare function vexCanonicalNotes(): any;
123
+ export declare function createStave(params: SmoVexStaveParams): VexStave;
124
+ export declare function getVexTuplets(params: SmoVexTupletParams): VexTuplet;
125
+ export declare function getVexNoteParameters(params: CreateVexNoteParams): {
126
+ noteParams: StaveNoteStruct;
127
+ duration: string;
128
+ };
129
+ /**
130
+ * @internal
131
+ */
132
+ export interface SmoVexStemParams {
133
+ voiceCount: number;
134
+ voiceIx: number;
135
+ isAuto: boolean;
136
+ isUp: boolean;
137
+ }
138
+ export declare function applyStemDirection(params: SmoVexStemParams, vxParams: StaveNoteStruct): void;
139
+ export declare function createStaveText(text: string, position: number, options: any): VexStaveText;
140
+ /**
141
+ * @internal
142
+ */
143
+ export interface SmoVexHairpinParams {
144
+ vxStart: Note | null;
145
+ vxEnd: Note | null;
146
+ hairpinType: number;
147
+ height: number;
148
+ yOffset: number;
149
+ leftShiftPx: number;
150
+ rightShiftPx: number;
151
+ }
152
+ export declare function createHairpin(params: SmoVexHairpinParams): import("vexflow_smoosic").StaveHairpin;
153
+ /**
154
+ * @internal
155
+ */
156
+ export interface SmoVexSlurParameters {
157
+ vxStart: Note | null;
158
+ vxEnd: Note | null;
159
+ thickness: number;
160
+ xShift: number;
161
+ yShift: number;
162
+ cps: DOMPoint[];
163
+ openingDirection: string;
164
+ position: number;
165
+ positionEnd: number;
166
+ }
167
+ export declare const defaultMeasurePadding: number;
168
+ export declare function createSlur(params: SmoVexSlurParameters): Curve;
169
+ /**
170
+ * @internal
171
+ */
172
+ export interface SmoVexTieParams {
173
+ fromLines: number[];
174
+ toLines: number[];
175
+ firstNote: Note | null;
176
+ lastNote: Note | null;
177
+ vexOptions: any;
178
+ }
179
+ export declare function createTie(params: SmoVexTieParams): StaveTie;
180
+ export declare const vexNoteScale: number;
181
+ export declare const defaultNoteScale: number;
182
+ export declare const defaultCueScale: number;
183
+ export declare function glyphPixels(): number;
184
+ export declare function setFontStack(font: string): void;
185
+ /**
186
+ * Render a dynamics glyph. Return the height of width/height of the glyph
187
+ * @param context
188
+ * @param text
189
+ * @param fontSize
190
+ * @param x
191
+ * @param y
192
+ * @returns
193
+ */
194
+ export declare function renderDynamics(context: any, text: string, fontSize: number, x: number, y: number): {
195
+ width: number;
196
+ height: number;
197
+ };
198
+ export declare function getOrnamentGlyph(glyph: string): string;
199
+ export declare function addChordGlyph(cs: VexChordSymbol, symbol: string): void;
200
+ /**
201
+ * get a glyph code to render
202
+ * @param code
203
+ * @returns
204
+ */
205
+ export declare function getVexGlyphFromChordCode(code: string): string;
206
+ export declare function createTextNote(code: string): VexTextNote;
207
+ /**
208
+ * Get the chord symbol glyph from the vex glyph
209
+ * @export
210
+ * @param {string} code
211
+ * @return {*}
212
+ */
213
+ export declare function getChordSymbolGlyphFromCode(code: string): string;
214
+ export declare function getChordSymbolMetricsForGlyph(code: string): import("vexflow_smoosic").ChordSymbolGlyphMetrics;
215
+ /**
216
+ * Vex 5 compatibility. yShift
217
+ */
218
+ export declare function blockMetricsYShift(metrics: any): any;
219
+ export declare const ChordSymbolGlyphs: Record<string, {
220
+ code: string;
221
+ }>;
222
+ export declare const vexOrnaments: Record<string, string>;
@@ -1,25 +1,25 @@
1
- import { SmoSelector } from '../../smo/xform/selections';
2
- import { SuiScoreView } from '../sui/scoreView';
3
- /**
4
- * A generic function that can be sent used to animate playback
5
- */
6
- export type AudioAnimationHandler = (view: SuiScoreView, selector: SmoSelector, offsetPct: number, durationPct: number) => void;
7
- /**
8
- * A generic function that can be sent used to clean up playback animation
9
- */
10
- export type ClearAudioAnimationHandler = (delay: number) => void;
11
- /**
12
- * Allow users to specify their own music playback animations.
13
- * @category SuiAudio
14
- */
15
- export interface SuiAudioAnimationParams {
16
- audioAnimationHandler: AudioAnimationHandler;
17
- clearAudioAnimationHandler: ClearAudioAnimationHandler;
18
- }
19
- export declare const defaultClearAudioAnimationHandler: (delay: number) => void;
20
- /**
21
- * default implementation of playback animation.
22
- * @category SuiAudio
23
- * @returns
24
- */
25
- export declare const defaultAudioAnimationHandler: (view: SuiScoreView, selector: SmoSelector, offsetPct: number, durationPct: number) => void;
1
+ import { SmoSelector } from '../../smo/xform/selections';
2
+ import { SuiScoreView } from '../sui/scoreView';
3
+ /**
4
+ * A generic function that can be sent used to animate playback
5
+ */
6
+ export type AudioAnimationHandler = (view: SuiScoreView, selector: SmoSelector, offsetPct: number, durationPct: number) => void;
7
+ /**
8
+ * A generic function that can be sent used to clean up playback animation
9
+ */
10
+ export type ClearAudioAnimationHandler = (delay: number) => void;
11
+ /**
12
+ * Allow users to specify their own music playback animations.
13
+ * @category SuiAudio
14
+ */
15
+ export interface SuiAudioAnimationParams {
16
+ audioAnimationHandler: AudioAnimationHandler;
17
+ clearAudioAnimationHandler: ClearAudioAnimationHandler;
18
+ }
19
+ export declare const defaultClearAudioAnimationHandler: (delay: number) => void;
20
+ /**
21
+ * default implementation of playback animation.
22
+ * @category SuiAudio
23
+ * @returns
24
+ */
25
+ export declare const defaultAudioAnimationHandler: (view: SuiScoreView, selector: SmoSelector, offsetPct: number, durationPct: number) => void;