smoosic 1.0.25 → 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.
- package/build/smoosic.js +1 -1
- package/package.json +1 -1
- package/release/smoosic.js +1 -1
- package/src/application/exports.ts +1 -0
- package/types/src/application/application.d.ts +102 -102
- package/types/src/application/common.d.ts +74 -74
- package/types/src/application/configuration.d.ts +74 -74
- package/types/src/application/dom.d.ts +8 -8
- package/types/src/application/dynamicInit.d.ts +1 -1
- package/types/src/application/eventHandler.d.ts +78 -78
- package/types/src/application/exports.d.ts +494 -493
- package/types/src/application/generateVexTests.d.ts +10 -10
- package/types/src/application/keyCommands.d.ts +90 -90
- package/types/src/common/bootstrap.bundle.d.ts +1138 -1138
- package/types/src/common/htmlHelpers.d.ts +105 -105
- package/types/src/common/jszip.d.ts +2 -2
- package/types/src/common/midi-parser.d.ts +38 -38
- package/types/src/common/promiseHelpers.d.ts +30 -30
- package/types/src/common/serializationHelpers.d.ts +29 -29
- package/types/src/common/textformatter.d.ts +140 -140
- package/types/src/common/vex.d.ts +222 -222
- package/types/src/render/audio/musicCursor.d.ts +25 -25
- package/types/src/render/audio/oscillator.d.ts +98 -98
- package/types/src/render/audio/player.d.ts +141 -141
- package/types/src/render/audio/samples.d.ts +56 -56
- package/types/src/render/sui/configuration.d.ts +12 -12
- package/types/src/render/sui/formatter.d.ts +151 -151
- package/types/src/render/sui/layoutDebug.d.ts +43 -43
- package/types/src/render/sui/mapper.d.ts +116 -116
- package/types/src/render/sui/piano.d.ts +46 -46
- package/types/src/render/sui/renderState.d.ts +88 -88
- package/types/src/render/sui/scoreRender.d.ts +93 -93
- package/types/src/render/sui/scoreView.d.ts +267 -267
- package/types/src/render/sui/scoreViewOperations.d.ts +594 -594
- package/types/src/render/sui/scroller.d.ts +34 -34
- package/types/src/render/sui/svgHelpers.d.ts +85 -85
- package/types/src/render/sui/svgPageMap.d.ts +318 -318
- package/types/src/render/sui/textEdit.d.ts +310 -310
- package/types/src/render/sui/textRender.d.ts +189 -189
- package/types/src/render/sui/tracker.d.ts +90 -90
- package/types/src/render/vex/glyphDimensions.d.ts +23 -23
- package/types/src/render/vex/smoAdapter.d.ts +46 -46
- package/types/src/render/vex/toVex.d.ts +13 -13
- package/types/src/render/vex/vxMeasure.d.ts +95 -95
- package/types/src/render/vex/vxNote.d.ts +55 -55
- package/types/src/render/vex/vxSystem.d.ts +64 -64
- package/types/src/smo/data/common.d.ts +220 -220
- package/types/src/smo/data/measure.d.ts +510 -510
- package/types/src/smo/data/measureModifiers.d.ts +506 -506
- package/types/src/smo/data/music.d.ts +438 -438
- package/types/src/smo/data/note.d.ts +485 -485
- package/types/src/smo/data/noteModifiers.d.ts +590 -590
- package/types/src/smo/data/partInfo.d.ts +162 -162
- package/types/src/smo/data/score.d.ts +395 -395
- package/types/src/smo/data/scoreModifiers.d.ts +433 -433
- package/types/src/smo/data/scoreText.d.ts +277 -277
- package/types/src/smo/data/staffModifiers.d.ts +767 -767
- package/types/src/smo/data/systemStaff.d.ts +238 -238
- package/types/src/smo/data/tuplet.d.ts +146 -146
- package/types/src/smo/midi/midiToSmo.d.ts +198 -198
- package/types/src/smo/midi/smoToMidi.d.ts +23 -23
- package/types/src/smo/mxml/smoToXml.d.ts +165 -165
- package/types/src/smo/mxml/xmlHelpers.d.ts +140 -140
- package/types/src/smo/mxml/xmlState.d.ts +257 -257
- package/types/src/smo/mxml/xmlToSmo.d.ts +92 -92
- package/types/src/smo/xform/beamers.d.ts +46 -46
- package/types/src/smo/xform/copypaste.d.ts +99 -99
- package/types/src/smo/xform/operations.d.ts +127 -127
- package/types/src/smo/xform/roadmap.d.ts +70 -70
- package/types/src/smo/xform/selections.d.ts +153 -153
- package/types/src/smo/xform/tickDuration.d.ts +155 -155
- package/types/src/smo/xform/tickMap.d.ts +34 -34
- package/types/src/smo/xform/undo.d.ts +142 -142
- package/types/src/smo/xform/updateAudio.d.ts +9 -9
- package/types/src/styles/font_metrics/Commissioner-Medium-Metrics.d.ts +871 -871
- package/types/src/styles/font_metrics/ConcertOne-Regular.d.ts +871 -871
- package/types/src/styles/font_metrics/Merriweather-Regular.d.ts +871 -871
- package/types/src/styles/font_metrics/arial_metrics.d.ts +870 -870
- package/types/src/styles/font_metrics/ssp-sans-metrics.d.ts +871 -871
- package/types/src/styles/font_metrics/ssp-serif-metrics.d.ts +871 -871
- package/types/src/styles/font_metrics/times_metrics.d.ts +870 -870
- package/types/src/ui/buttons/button.d.ts +95 -95
- package/types/src/ui/buttons/collapsable.d.ts +42 -42
- package/types/src/ui/buttons/display.d.ts +23 -23
- package/types/src/ui/buttons/ribbon.d.ts +76 -76
- package/types/src/ui/common.d.ts +45 -45
- package/types/src/ui/composable/draggable.d.ts +12 -12
- package/types/src/ui/configuration.d.ts +31 -31
- package/types/src/ui/dialogs/adapter.d.ts +107 -107
- package/types/src/ui/dialogs/addMeasure.d.ts +20 -20
- package/types/src/ui/dialogs/arpeggio.d.ts +2 -2
- package/types/src/ui/dialogs/articulation.d.ts +2 -2
- package/types/src/ui/dialogs/audioSettings.d.ts +32 -32
- package/types/src/ui/dialogs/chordChange.d.ts +35 -35
- package/types/src/ui/dialogs/clefChange.d.ts +2 -2
- package/types/src/ui/dialogs/components/baseComponent.d.ts +158 -158
- package/types/src/ui/dialogs/components/button.d.ts +54 -54
- package/types/src/ui/dialogs/components/buttonArray.d.ts +101 -101
- package/types/src/ui/dialogs/components/checkdrop.d.ts +27 -27
- package/types/src/ui/dialogs/components/dragText.d.ts +27 -27
- package/types/src/ui/dialogs/components/dropdown.d.ts +78 -78
- package/types/src/ui/dialogs/components/fileDownload.d.ts +28 -28
- package/types/src/ui/dialogs/components/fontComponent.d.ts +32 -32
- package/types/src/ui/dialogs/components/noteText.d.ts +98 -98
- package/types/src/ui/dialogs/components/pitch.d.ts +95 -95
- package/types/src/ui/dialogs/components/rocker.d.ts +66 -66
- package/types/src/ui/dialogs/components/staffComponents.d.ts +77 -77
- package/types/src/ui/dialogs/components/textCheck.d.ts +38 -38
- package/types/src/ui/dialogs/components/textInPlace.d.ts +90 -90
- package/types/src/ui/dialogs/components/textInput.d.ts +58 -58
- package/types/src/ui/dialogs/components/tie.d.ts +41 -41
- package/types/src/ui/dialogs/components/toggle.d.ts +53 -53
- package/types/src/ui/dialogs/components/tree.d.ts +46 -46
- package/types/src/ui/dialogs/customTuplets.d.ts +25 -25
- package/types/src/ui/dialogs/dialog.d.ts +201 -201
- package/types/src/ui/dialogs/durations.d.ts +2 -2
- package/types/src/ui/dialogs/dynamics.d.ts +37 -37
- package/types/src/ui/dialogs/endings.d.ts +61 -61
- package/types/src/ui/dialogs/factory.d.ts +15 -15
- package/types/src/ui/dialogs/fileDialogs.d.ts +4 -4
- package/types/src/ui/dialogs/fonts.d.ts +2 -2
- package/types/src/ui/dialogs/globalLayout.d.ts +2 -2
- package/types/src/ui/dialogs/gracenote.d.ts +2 -2
- package/types/src/ui/dialogs/hairpin.d.ts +35 -35
- package/types/src/ui/dialogs/instrument.d.ts +3 -3
- package/types/src/ui/dialogs/keySignature.d.ts +33 -33
- package/types/src/ui/dialogs/library.d.ts +70 -70
- package/types/src/ui/dialogs/lyric.d.ts +39 -39
- package/types/src/ui/dialogs/measureFormat.d.ts +52 -52
- package/types/src/ui/dialogs/microtones.d.ts +2 -2
- package/types/src/ui/dialogs/noteHead.d.ts +2 -2
- package/types/src/ui/dialogs/ornament.d.ts +2 -2
- package/types/src/ui/dialogs/pageLayout.d.ts +2 -2
- package/types/src/ui/dialogs/partInfo.d.ts +2 -2
- package/types/src/ui/dialogs/pedalMarking.d.ts +35 -35
- package/types/src/ui/dialogs/pitch.d.ts +2 -2
- package/types/src/ui/dialogs/preferences.d.ts +2 -2
- package/types/src/ui/dialogs/scoreId.d.ts +2 -2
- package/types/src/ui/dialogs/scoreView.d.ts +2 -2
- package/types/src/ui/dialogs/slur.d.ts +57 -57
- package/types/src/ui/dialogs/staffGroup.d.ts +2 -2
- package/types/src/ui/dialogs/tabNote.d.ts +32 -32
- package/types/src/ui/dialogs/tabStave.d.ts +43 -43
- package/types/src/ui/dialogs/tempo.d.ts +50 -50
- package/types/src/ui/dialogs/textBlock.d.ts +61 -61
- package/types/src/ui/dialogs/textBracket.d.ts +35 -35
- package/types/src/ui/dialogs/tie.d.ts +41 -41
- package/types/src/ui/dialogs/timeSignature.d.ts +34 -34
- package/types/src/ui/dialogs/transposeScore.d.ts +2 -2
- package/types/src/ui/dialogs/volta.d.ts +40 -40
- package/types/src/ui/eventSource.d.ts +63 -63
- package/types/src/ui/exceptions.d.ts +12 -12
- package/types/src/ui/fileio/fileInput.d.ts +12 -12
- package/types/src/ui/fileio/library.d.ts +40 -40
- package/types/src/ui/fileio/xhrLoader.d.ts +18 -18
- package/types/src/ui/help.d.ts +22 -22
- package/types/src/ui/i18n/language.d.ts +37 -37
- package/types/src/ui/i18n/language_ar.d.ts +5 -5
- package/types/src/ui/i18n/language_de.d.ts +1 -1
- package/types/src/ui/i18n/language_en.d.ts +18 -18
- package/types/src/ui/i18n/translationEditor.d.ts +14 -14
- package/types/src/ui/keyBindings/default/editorKeys.d.ts +7 -7
- package/types/src/ui/keyBindings/default/trackerKeys.d.ts +7 -7
- package/types/src/ui/menus/beams.d.ts +13 -13
- package/types/src/ui/menus/edit.d.ts +8 -8
- package/types/src/ui/menus/file.d.ts +26 -26
- package/types/src/ui/menus/help.d.ts +8 -8
- package/types/src/ui/menus/keySignature.d.ts +13 -13
- package/types/src/ui/menus/language.d.ts +12 -12
- package/types/src/ui/menus/manager.d.ts +57 -57
- package/types/src/ui/menus/measure.d.ts +8 -8
- package/types/src/ui/menus/menu.d.ts +136 -136
- package/types/src/ui/menus/note.d.ts +8 -8
- package/types/src/ui/menus/partSelection.d.ts +19 -19
- package/types/src/ui/menus/parts.d.ts +50 -50
- package/types/src/ui/menus/score.d.ts +20 -20
- package/types/src/ui/menus/staffModifier.d.ts +21 -21
- package/types/src/ui/menus/text.d.ts +8 -8
- package/types/src/ui/menus/timeSignature.d.ts +12 -12
- package/types/src/ui/menus/tuplets.d.ts +13 -13
- package/types/src/ui/menus/voices.d.ts +8 -8
- package/types/src/ui/modalDialogs.d.ts +1 -1
- package/types/src/ui/navigation.d.ts +15 -15
- package/types/src/ui/qwerty.d.ts +41 -41
- package/types/src/ui/ribbonLayout/default/defaultRibbon.d.ts +15 -15
- package/types/src/ui/ribbonLayout/default/tabletRibbon.d.ts +22 -22
- 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;
|