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,34 +1,34 @@
1
- import { TickMappable } from '../data/measure';
2
- import { TickAccidental } from '../data/common';
3
- import { SmoNote } from '../data/note';
4
- /**
5
- * create a map note durations at each index into the voice, including the accidentals at each duration.
6
- * return format:
7
- * ```
8
- tickmap = {
9
- totalDuration: 16384,
10
- durationMap:[2048,4096,..], // A running total per tick
11
- deltaMap:[2048,2048...], a map of deltas
12
- ```
13
- * @category SmoTransform
14
- */
15
- export declare class TickMap {
16
- keySignature: string;
17
- voice: number;
18
- notes: SmoNote[];
19
- priorAccidentals: TickAccidental[];
20
- index: number;
21
- startIndex: number;
22
- endIndex: number;
23
- totalDuration: number;
24
- delta: number;
25
- durationMap: number[];
26
- deltaMap: number[];
27
- accidentalMap: Record<string, TickAccidental>[];
28
- durationAccidentalMap: Record<string | number, Record<string, TickAccidental>>;
29
- constructor(measure: TickMappable, voiceIndex: number);
30
- _getAccidentalsForKey(map: Record<string, TickAccidental>): void;
31
- updateAccidentalMap(note: SmoNote): void;
32
- get duration(): number;
33
- createMap(): void;
34
- }
1
+ import { TickMappable } from '../data/measure';
2
+ import { TickAccidental } from '../data/common';
3
+ import { SmoNote } from '../data/note';
4
+ /**
5
+ * create a map note durations at each index into the voice, including the accidentals at each duration.
6
+ * return format:
7
+ * ```
8
+ tickmap = {
9
+ totalDuration: 16384,
10
+ durationMap:[2048,4096,..], // A running total per tick
11
+ deltaMap:[2048,2048...], a map of deltas
12
+ ```
13
+ * @category SmoTransform
14
+ */
15
+ export declare class TickMap {
16
+ keySignature: string;
17
+ voice: number;
18
+ notes: SmoNote[];
19
+ priorAccidentals: TickAccidental[];
20
+ index: number;
21
+ startIndex: number;
22
+ endIndex: number;
23
+ totalDuration: number;
24
+ delta: number;
25
+ durationMap: number[];
26
+ deltaMap: number[];
27
+ accidentalMap: Record<string, TickAccidental>[];
28
+ durationAccidentalMap: Record<string | number, Record<string, TickAccidental>>;
29
+ constructor(measure: TickMappable, voiceIndex: number);
30
+ _getAccidentalsForKey(map: Record<string, TickAccidental>): void;
31
+ updateAccidentalMap(note: SmoNote): void;
32
+ get duration(): number;
33
+ createMap(): void;
34
+ }
@@ -1,142 +1,142 @@
1
- import { SmoScore } from '../data/score';
2
- import { SmoMeasure, SmoMeasureParamsSer } from '../data/measure';
3
- import { SmoTextGroupContainer } from '../data/scoreText';
4
- import { SmoSelector } from './selections';
5
- /**
6
- * @category SmoTransform
7
- */
8
- export interface UndoEntry {
9
- title: string;
10
- type: number;
11
- selector: SmoSelector;
12
- subtype: number;
13
- grouped: boolean;
14
- json?: any;
15
- }
16
- export declare function copyUndo(entry: UndoEntry): UndoEntry;
17
- /**
18
- * A grouped set of undo actions, can be undone at once
19
- * @category SmoTransform
20
- */
21
- export declare class UndoSet {
22
- buffers: UndoEntry[];
23
- constructor();
24
- get isEmpty(): boolean;
25
- push(entry: UndoEntry): void;
26
- pop(): UndoEntry | undefined;
27
- get length(): number;
28
- }
29
- /**
30
- * manage a set of undo or redo operations on a score. The objects passed into
31
- * undo must implement serialize()/deserialize().
32
- * Only one undo buffer is kept for the score. Undo is always done on the stored
33
- * score and translated to the display score.
34
- * UndoBuffer contains an undoEntry array. An undoEntry might contain several
35
- * undo operations, if the were done together as a block. This happens often when
36
- * several changes are made while a dialog box is open.
37
- * an undoEntry is one of 7 things:
38
- * * A single measure,
39
- * * A single staff
40
- * * the whole score
41
- * * a score modifier (text)
42
- * * score attributes (layout, etc)
43
- * * column - all the measures at one index
44
- * * rectangle - a rectangle of measures
45
- * @category SmoTransform
46
- * */
47
- export declare class UndoBuffer {
48
- static groupCount: number;
49
- static get bufferMax(): number;
50
- static get bufferTypes(): {
51
- FIRST: number;
52
- MEASURE: number;
53
- STAFF: number;
54
- SCORE: number;
55
- SCORE_MODIFIER: number;
56
- COLUMN: number;
57
- RECTANGLE: number;
58
- SCORE_ATTRIBUTES: number;
59
- STAFF_MODIFIER: number;
60
- PART_MODIFIER: number;
61
- LAST: number;
62
- };
63
- static get bufferSubtypes(): {
64
- NONE: number;
65
- ADD: number;
66
- REMOVE: number;
67
- UPDATE: number;
68
- };
69
- static get bufferTypeLabel(): string[];
70
- static serializeMeasure(measure: SmoMeasure): SmoMeasureParamsSer;
71
- buffer: UndoSet[];
72
- reconcile: number;
73
- opCount: number;
74
- _grouping: boolean;
75
- constructor();
76
- get grouping(): boolean;
77
- set grouping(val: boolean);
78
- reset(): void;
79
- /**
80
- * return true if any of the last 2 buffers have undo operations.
81
- * @returns
82
- */
83
- buffersAvailable(): boolean;
84
- /**
85
- * Add the current state of the score required to undo the next operation we
86
- * are about to perform. For instance, if we are adding a crescendo, we back up the
87
- * staff the crescendo will go on.
88
- * @param title
89
- * @param type
90
- * @param selector
91
- * @param obj
92
- * @param subtype
93
- */
94
- addBuffer(title: string, type: number, selector: SmoSelector, obj: any, subtype: number): void;
95
- /**
96
- * Make sure we always have a buffer to record undoable operations
97
- */
98
- checkNull(): void;
99
- /**
100
- * Internal method to pop the top buffer off the stack.
101
- * @returns
102
- */
103
- popUndoSet(): UndoSet | null;
104
- /**
105
- * non-destructively get the top undo buffer.
106
- * @returns
107
- */
108
- peekUndoSet(): UndoSet | null;
109
- /**
110
- * return the type of the undo operation, so the view can know which
111
- * parts of the score are affected.
112
- * @param func
113
- * @returns
114
- */
115
- undoTypePeek(func: (buf: UndoEntry) => boolean): boolean;
116
- undoScorePeek(): boolean;
117
- undoScoreTextGroupPeek(): boolean;
118
- undoPartTextGroupPeek(): boolean;
119
- /**
120
- * Get the range of measures affected by the next undo operation. Only
121
- * makes sense to call this if the undo type is MEASURE or COLUMN
122
- * @returns
123
- */
124
- getMeasureRange(): number[];
125
- /**
126
- * Undo for text is different since text is not associated with a specific part of the
127
- * score (usually)
128
- * @param score
129
- * @param staffMap
130
- * @param buf
131
- */
132
- undoTextGroup(score: SmoTextGroupContainer, staffMap: Record<number, number>, buf: UndoEntry): void;
133
- /**
134
- * Undo the operation at the top of the undo stack. This is done by replacing
135
- * the music as it existed before the change was made.
136
- * @param score
137
- * @param staffMap
138
- * @param pop
139
- * @returns
140
- */
141
- undo(score: SmoScore, staffMap: Record<number, number>, pop: boolean): SmoScore;
142
- }
1
+ import { SmoScore } from '../data/score';
2
+ import { SmoMeasure, SmoMeasureParamsSer } from '../data/measure';
3
+ import { SmoTextGroupContainer } from '../data/scoreText';
4
+ import { SmoSelector } from './selections';
5
+ /**
6
+ * @category SmoTransform
7
+ */
8
+ export interface UndoEntry {
9
+ title: string;
10
+ type: number;
11
+ selector: SmoSelector;
12
+ subtype: number;
13
+ grouped: boolean;
14
+ json?: any;
15
+ }
16
+ export declare function copyUndo(entry: UndoEntry): UndoEntry;
17
+ /**
18
+ * A grouped set of undo actions, can be undone at once
19
+ * @category SmoTransform
20
+ */
21
+ export declare class UndoSet {
22
+ buffers: UndoEntry[];
23
+ constructor();
24
+ get isEmpty(): boolean;
25
+ push(entry: UndoEntry): void;
26
+ pop(): UndoEntry | undefined;
27
+ get length(): number;
28
+ }
29
+ /**
30
+ * manage a set of undo or redo operations on a score. The objects passed into
31
+ * undo must implement serialize()/deserialize().
32
+ * Only one undo buffer is kept for the score. Undo is always done on the stored
33
+ * score and translated to the display score.
34
+ * UndoBuffer contains an undoEntry array. An undoEntry might contain several
35
+ * undo operations, if the were done together as a block. This happens often when
36
+ * several changes are made while a dialog box is open.
37
+ * an undoEntry is one of 7 things:
38
+ * * A single measure,
39
+ * * A single staff
40
+ * * the whole score
41
+ * * a score modifier (text)
42
+ * * score attributes (layout, etc)
43
+ * * column - all the measures at one index
44
+ * * rectangle - a rectangle of measures
45
+ * @category SmoTransform
46
+ * */
47
+ export declare class UndoBuffer {
48
+ static groupCount: number;
49
+ static get bufferMax(): number;
50
+ static get bufferTypes(): {
51
+ FIRST: number;
52
+ MEASURE: number;
53
+ STAFF: number;
54
+ SCORE: number;
55
+ SCORE_MODIFIER: number;
56
+ COLUMN: number;
57
+ RECTANGLE: number;
58
+ SCORE_ATTRIBUTES: number;
59
+ STAFF_MODIFIER: number;
60
+ PART_MODIFIER: number;
61
+ LAST: number;
62
+ };
63
+ static get bufferSubtypes(): {
64
+ NONE: number;
65
+ ADD: number;
66
+ REMOVE: number;
67
+ UPDATE: number;
68
+ };
69
+ static get bufferTypeLabel(): string[];
70
+ static serializeMeasure(measure: SmoMeasure): SmoMeasureParamsSer;
71
+ buffer: UndoSet[];
72
+ reconcile: number;
73
+ opCount: number;
74
+ _grouping: boolean;
75
+ constructor();
76
+ get grouping(): boolean;
77
+ set grouping(val: boolean);
78
+ reset(): void;
79
+ /**
80
+ * return true if any of the last 2 buffers have undo operations.
81
+ * @returns
82
+ */
83
+ buffersAvailable(): boolean;
84
+ /**
85
+ * Add the current state of the score required to undo the next operation we
86
+ * are about to perform. For instance, if we are adding a crescendo, we back up the
87
+ * staff the crescendo will go on.
88
+ * @param title
89
+ * @param type
90
+ * @param selector
91
+ * @param obj
92
+ * @param subtype
93
+ */
94
+ addBuffer(title: string, type: number, selector: SmoSelector, obj: any, subtype: number): void;
95
+ /**
96
+ * Make sure we always have a buffer to record undoable operations
97
+ */
98
+ checkNull(): void;
99
+ /**
100
+ * Internal method to pop the top buffer off the stack.
101
+ * @returns
102
+ */
103
+ popUndoSet(): UndoSet | null;
104
+ /**
105
+ * non-destructively get the top undo buffer.
106
+ * @returns
107
+ */
108
+ peekUndoSet(): UndoSet | null;
109
+ /**
110
+ * return the type of the undo operation, so the view can know which
111
+ * parts of the score are affected.
112
+ * @param func
113
+ * @returns
114
+ */
115
+ undoTypePeek(func: (buf: UndoEntry) => boolean): boolean;
116
+ undoScorePeek(): boolean;
117
+ undoScoreTextGroupPeek(): boolean;
118
+ undoPartTextGroupPeek(): boolean;
119
+ /**
120
+ * Get the range of measures affected by the next undo operation. Only
121
+ * makes sense to call this if the undo type is MEASURE or COLUMN
122
+ * @returns
123
+ */
124
+ getMeasureRange(): number[];
125
+ /**
126
+ * Undo for text is different since text is not associated with a specific part of the
127
+ * score (usually)
128
+ * @param score
129
+ * @param staffMap
130
+ * @param buf
131
+ */
132
+ undoTextGroup(score: SmoTextGroupContainer, staffMap: Record<number, number>, buf: UndoEntry): void;
133
+ /**
134
+ * Undo the operation at the top of the undo stack. This is done by replacing
135
+ * the music as it existed before the change was made.
136
+ * @param score
137
+ * @param staffMap
138
+ * @param pop
139
+ * @returns
140
+ */
141
+ undo(score: SmoScore, staffMap: Record<number, number>, pop: boolean): SmoScore;
142
+ }
@@ -1,9 +1,9 @@
1
- import { SmoScore } from '../data/score';
2
- import { ScoreRoadMapBuilder } from './roadmap';
3
- /**
4
- * Set the note duration to account for ties. Tied notes have greater duration,
5
- * notes tied to don't sound.
6
- * @param score
7
- * @param roadMap
8
- */
9
- export declare const PopulateAudioData: (score: SmoScore, roadMap: ScoreRoadMapBuilder) => void;
1
+ import { SmoScore } from '../data/score';
2
+ import { ScoreRoadMapBuilder } from './roadmap';
3
+ /**
4
+ * Set the note duration to account for ties. Tied notes have greater duration,
5
+ * notes tied to don't sound.
6
+ * @param score
7
+ * @param roadMap
8
+ */
9
+ export declare const PopulateAudioData: (score: SmoScore, roadMap: ScoreRoadMapBuilder) => void;