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,92 +1,92 @@
|
|
|
1
|
-
import { XmlState } from './xmlState';
|
|
2
|
-
import { SmoLayoutManager } from '../data/scoreModifiers';
|
|
3
|
-
import { SmoTempoText } from '../data/measureModifiers';
|
|
4
|
-
import { SmoScore } from '../data/score';
|
|
5
|
-
/**
|
|
6
|
-
* A class that takes a music XML file and outputs a {@link SmoScore}
|
|
7
|
-
* @category serialization
|
|
8
|
-
*/
|
|
9
|
-
export declare class XmlToSmo {
|
|
10
|
-
static get mmPerPixel(): number;
|
|
11
|
-
/**
|
|
12
|
-
* Vex renders everything as if the font size were 39
|
|
13
|
-
*/
|
|
14
|
-
static get vexFontSize(): number;
|
|
15
|
-
static get customProportionDefault(): number;
|
|
16
|
-
static get pageLayoutMap(): {
|
|
17
|
-
xml: string;
|
|
18
|
-
smo: string;
|
|
19
|
-
}[];
|
|
20
|
-
static get pageMarginMap(): {
|
|
21
|
-
xml: string;
|
|
22
|
-
smo: string;
|
|
23
|
-
}[];
|
|
24
|
-
static get scoreInfoFields(): string[];
|
|
25
|
-
/**
|
|
26
|
-
* Convert music XML file from parsed xml to a {@link SmoScore}
|
|
27
|
-
* @param xmlDoc
|
|
28
|
-
* @returns
|
|
29
|
-
*/
|
|
30
|
-
static convert(xmlDoc: Document): SmoScore;
|
|
31
|
-
/**
|
|
32
|
-
* when building the slurs, we don't always know which direction the beams will go or what other
|
|
33
|
-
* voices there will be.
|
|
34
|
-
* @param score
|
|
35
|
-
*/
|
|
36
|
-
static setSlurDefaults(score: SmoScore): void;
|
|
37
|
-
/**
|
|
38
|
-
* After parsing the XML, resolve the voltas we've saved
|
|
39
|
-
* @param score
|
|
40
|
-
* @param state
|
|
41
|
-
*/
|
|
42
|
-
static setVoltas(score: SmoScore, state: XmlState): void;
|
|
43
|
-
static partList(partList: Element, score: SmoScore, state: XmlState): void;
|
|
44
|
-
/**
|
|
45
|
-
* page-layout element occurs in a couple of places
|
|
46
|
-
* @param defaultsElement
|
|
47
|
-
* @param layoutDefaults
|
|
48
|
-
* @param xmlState
|
|
49
|
-
*/
|
|
50
|
-
static pageSizeFromLayout(defaultsElement: Element, layoutDefaults: SmoLayoutManager, xmlState: XmlState): void;
|
|
51
|
-
/**
|
|
52
|
-
* /score-partwise/defaults
|
|
53
|
-
* @param defaultsElement
|
|
54
|
-
* @param score
|
|
55
|
-
* @param layoutDefaults
|
|
56
|
-
*/
|
|
57
|
-
static defaults(defaultsElement: Element, score: SmoScore, layoutDefaults: SmoLayoutManager, xmlState: XmlState): void;
|
|
58
|
-
/**
|
|
59
|
-
* /score-partwise/part
|
|
60
|
-
* @param partElement
|
|
61
|
-
* @param xmlState
|
|
62
|
-
*/
|
|
63
|
-
static part(partElement: Element, xmlState: XmlState): void;
|
|
64
|
-
/**
|
|
65
|
-
* /score-partwise/measure/direction/sound:tempo
|
|
66
|
-
* @param element
|
|
67
|
-
* @returns
|
|
68
|
-
*/
|
|
69
|
-
static tempo(element: Element): {
|
|
70
|
-
staffId: number;
|
|
71
|
-
tempo: SmoTempoText;
|
|
72
|
-
}[];
|
|
73
|
-
/**
|
|
74
|
-
* /score-partwise/measure/direction/dynamics
|
|
75
|
-
* @param element
|
|
76
|
-
* @returns
|
|
77
|
-
*/
|
|
78
|
-
static dynamics(directionElement: Element, xmlState: XmlState): void;
|
|
79
|
-
static attributes(measureElement: Element, xmlState: XmlState): void;
|
|
80
|
-
static wedge(directionElement: Element, xmlState: XmlState): void;
|
|
81
|
-
static direction(directionElement: Element, xmlState: XmlState): void;
|
|
82
|
-
static note(noteElement: Element, xmlState: XmlState): void;
|
|
83
|
-
static print(printElement: Element, xmlState: XmlState): void;
|
|
84
|
-
/**
|
|
85
|
-
* /score-partwise/part/measure
|
|
86
|
-
* A measure in music xml might represent several measures in SMO at the same
|
|
87
|
-
* column in the score
|
|
88
|
-
* @param measureElement
|
|
89
|
-
* @param xmlState
|
|
90
|
-
*/
|
|
91
|
-
static measure(measureElement: Element, xmlState: XmlState): void;
|
|
92
|
-
}
|
|
1
|
+
import { XmlState } from './xmlState';
|
|
2
|
+
import { SmoLayoutManager } from '../data/scoreModifiers';
|
|
3
|
+
import { SmoTempoText } from '../data/measureModifiers';
|
|
4
|
+
import { SmoScore } from '../data/score';
|
|
5
|
+
/**
|
|
6
|
+
* A class that takes a music XML file and outputs a {@link SmoScore}
|
|
7
|
+
* @category serialization
|
|
8
|
+
*/
|
|
9
|
+
export declare class XmlToSmo {
|
|
10
|
+
static get mmPerPixel(): number;
|
|
11
|
+
/**
|
|
12
|
+
* Vex renders everything as if the font size were 39
|
|
13
|
+
*/
|
|
14
|
+
static get vexFontSize(): number;
|
|
15
|
+
static get customProportionDefault(): number;
|
|
16
|
+
static get pageLayoutMap(): {
|
|
17
|
+
xml: string;
|
|
18
|
+
smo: string;
|
|
19
|
+
}[];
|
|
20
|
+
static get pageMarginMap(): {
|
|
21
|
+
xml: string;
|
|
22
|
+
smo: string;
|
|
23
|
+
}[];
|
|
24
|
+
static get scoreInfoFields(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Convert music XML file from parsed xml to a {@link SmoScore}
|
|
27
|
+
* @param xmlDoc
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
static convert(xmlDoc: Document): SmoScore;
|
|
31
|
+
/**
|
|
32
|
+
* when building the slurs, we don't always know which direction the beams will go or what other
|
|
33
|
+
* voices there will be.
|
|
34
|
+
* @param score
|
|
35
|
+
*/
|
|
36
|
+
static setSlurDefaults(score: SmoScore): void;
|
|
37
|
+
/**
|
|
38
|
+
* After parsing the XML, resolve the voltas we've saved
|
|
39
|
+
* @param score
|
|
40
|
+
* @param state
|
|
41
|
+
*/
|
|
42
|
+
static setVoltas(score: SmoScore, state: XmlState): void;
|
|
43
|
+
static partList(partList: Element, score: SmoScore, state: XmlState): void;
|
|
44
|
+
/**
|
|
45
|
+
* page-layout element occurs in a couple of places
|
|
46
|
+
* @param defaultsElement
|
|
47
|
+
* @param layoutDefaults
|
|
48
|
+
* @param xmlState
|
|
49
|
+
*/
|
|
50
|
+
static pageSizeFromLayout(defaultsElement: Element, layoutDefaults: SmoLayoutManager, xmlState: XmlState): void;
|
|
51
|
+
/**
|
|
52
|
+
* /score-partwise/defaults
|
|
53
|
+
* @param defaultsElement
|
|
54
|
+
* @param score
|
|
55
|
+
* @param layoutDefaults
|
|
56
|
+
*/
|
|
57
|
+
static defaults(defaultsElement: Element, score: SmoScore, layoutDefaults: SmoLayoutManager, xmlState: XmlState): void;
|
|
58
|
+
/**
|
|
59
|
+
* /score-partwise/part
|
|
60
|
+
* @param partElement
|
|
61
|
+
* @param xmlState
|
|
62
|
+
*/
|
|
63
|
+
static part(partElement: Element, xmlState: XmlState): void;
|
|
64
|
+
/**
|
|
65
|
+
* /score-partwise/measure/direction/sound:tempo
|
|
66
|
+
* @param element
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
static tempo(element: Element): {
|
|
70
|
+
staffId: number;
|
|
71
|
+
tempo: SmoTempoText;
|
|
72
|
+
}[];
|
|
73
|
+
/**
|
|
74
|
+
* /score-partwise/measure/direction/dynamics
|
|
75
|
+
* @param element
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
static dynamics(directionElement: Element, xmlState: XmlState): void;
|
|
79
|
+
static attributes(measureElement: Element, xmlState: XmlState): void;
|
|
80
|
+
static wedge(directionElement: Element, xmlState: XmlState): void;
|
|
81
|
+
static direction(directionElement: Element, xmlState: XmlState): void;
|
|
82
|
+
static note(noteElement: Element, xmlState: XmlState): void;
|
|
83
|
+
static print(printElement: Element, xmlState: XmlState): void;
|
|
84
|
+
/**
|
|
85
|
+
* /score-partwise/part/measure
|
|
86
|
+
* A measure in music xml might represent several measures in SMO at the same
|
|
87
|
+
* column in the score
|
|
88
|
+
* @param measureElement
|
|
89
|
+
* @param xmlState
|
|
90
|
+
*/
|
|
91
|
+
static measure(measureElement: Element, xmlState: XmlState): void;
|
|
92
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { SmoNote } from '../data/note';
|
|
2
|
-
import { SmoAttrs } from '../data/common';
|
|
3
|
-
import { SmoMeasure, ISmoBeamGroup } from '../data/measure';
|
|
4
|
-
import { TickMap } from './tickMap';
|
|
5
|
-
/**
|
|
6
|
-
* @category SmoTransform
|
|
7
|
-
*/
|
|
8
|
-
export interface SmoBeamGroupParams {
|
|
9
|
-
notes: SmoNote[];
|
|
10
|
-
secondaryBeamBreaks: number[];
|
|
11
|
-
voice: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Contain a group of {@link SmoNote} used for beaming.
|
|
15
|
-
* @category SmoTransform
|
|
16
|
-
*/
|
|
17
|
-
export declare class SmoBeamGroup implements ISmoBeamGroup {
|
|
18
|
-
notes: SmoNote[];
|
|
19
|
-
secondaryBeamBreaks: number[];
|
|
20
|
-
attrs: SmoAttrs;
|
|
21
|
-
voice: number;
|
|
22
|
-
constructor(params: SmoBeamGroupParams);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Apply the beam policy set up in node and measure to group the notes into beam groups
|
|
26
|
-
* @category SmoTransform
|
|
27
|
-
*/
|
|
28
|
-
export declare class SmoBeamer {
|
|
29
|
-
static applyBeams(measure: SmoMeasure): void;
|
|
30
|
-
measure: SmoMeasure;
|
|
31
|
-
duration: number;
|
|
32
|
-
measureDuration: number;
|
|
33
|
-
meterNumbers: number[];
|
|
34
|
-
beamBeats: number;
|
|
35
|
-
skipNext: number;
|
|
36
|
-
currentGroup: SmoNote[];
|
|
37
|
-
secondaryBeamBreaks: number[];
|
|
38
|
-
constructor(measure: SmoMeasure, voice: number);
|
|
39
|
-
get beamGroups(): ISmoBeamGroup[];
|
|
40
|
-
_removeVoiceBeam(measure: SmoMeasure, voice: number): void;
|
|
41
|
-
_completeGroup(voice: number): void;
|
|
42
|
-
_advanceGroup(): void;
|
|
43
|
-
_isRemainingTicksBeamable(tickmap: TickMap, index: number): boolean;
|
|
44
|
-
allEighth(): boolean;
|
|
45
|
-
beamNote(tickmap: TickMap, index: number, note: SmoNote): void;
|
|
46
|
-
}
|
|
1
|
+
import { SmoNote } from '../data/note';
|
|
2
|
+
import { SmoAttrs } from '../data/common';
|
|
3
|
+
import { SmoMeasure, ISmoBeamGroup } from '../data/measure';
|
|
4
|
+
import { TickMap } from './tickMap';
|
|
5
|
+
/**
|
|
6
|
+
* @category SmoTransform
|
|
7
|
+
*/
|
|
8
|
+
export interface SmoBeamGroupParams {
|
|
9
|
+
notes: SmoNote[];
|
|
10
|
+
secondaryBeamBreaks: number[];
|
|
11
|
+
voice: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Contain a group of {@link SmoNote} used for beaming.
|
|
15
|
+
* @category SmoTransform
|
|
16
|
+
*/
|
|
17
|
+
export declare class SmoBeamGroup implements ISmoBeamGroup {
|
|
18
|
+
notes: SmoNote[];
|
|
19
|
+
secondaryBeamBreaks: number[];
|
|
20
|
+
attrs: SmoAttrs;
|
|
21
|
+
voice: number;
|
|
22
|
+
constructor(params: SmoBeamGroupParams);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Apply the beam policy set up in node and measure to group the notes into beam groups
|
|
26
|
+
* @category SmoTransform
|
|
27
|
+
*/
|
|
28
|
+
export declare class SmoBeamer {
|
|
29
|
+
static applyBeams(measure: SmoMeasure): void;
|
|
30
|
+
measure: SmoMeasure;
|
|
31
|
+
duration: number;
|
|
32
|
+
measureDuration: number;
|
|
33
|
+
meterNumbers: number[];
|
|
34
|
+
beamBeats: number;
|
|
35
|
+
skipNext: number;
|
|
36
|
+
currentGroup: SmoNote[];
|
|
37
|
+
secondaryBeamBreaks: number[];
|
|
38
|
+
constructor(measure: SmoMeasure, voice: number);
|
|
39
|
+
get beamGroups(): ISmoBeamGroup[];
|
|
40
|
+
_removeVoiceBeam(measure: SmoMeasure, voice: number): void;
|
|
41
|
+
_completeGroup(voice: number): void;
|
|
42
|
+
_advanceGroup(): void;
|
|
43
|
+
_isRemainingTicksBeamable(tickmap: TickMap, index: number): boolean;
|
|
44
|
+
allEighth(): boolean;
|
|
45
|
+
beamNote(tickmap: TickMap, index: number, note: SmoNote): void;
|
|
46
|
+
}
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
import { SmoSelection, SmoSelector } from './selections';
|
|
2
|
-
import { SmoNote } from '../data/note';
|
|
3
|
-
import { SmoMeasure, SmoVoice } from '../data/measure';
|
|
4
|
-
import { StaffModifierBase } from '../data/staffModifiers';
|
|
5
|
-
import { SmoTupletTree } from '../data/tuplet';
|
|
6
|
-
import { SmoScore } from '../data/score';
|
|
7
|
-
import { TickMap } from './tickMap';
|
|
8
|
-
import { SmoSystemStaff } from '../data/systemStaff';
|
|
9
|
-
/**
|
|
10
|
-
* Used to calculate the offset and transposition of a note to be pasted
|
|
11
|
-
* @category SmoTransform
|
|
12
|
-
*/
|
|
13
|
-
export interface PasteNote {
|
|
14
|
-
note: SmoNote;
|
|
15
|
-
selector: SmoSelector;
|
|
16
|
-
originalKey: string;
|
|
17
|
-
tupletStart: SmoTupletTree | null;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Used when pasting staff modifiers like slurs to calculate the
|
|
21
|
-
* offset
|
|
22
|
-
* @category SmoTransform
|
|
23
|
-
*/
|
|
24
|
-
export interface ModifierPlacement {
|
|
25
|
-
modifier: StaffModifierBase;
|
|
26
|
-
ticksToStart: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* PasteBuffer holds copied music, and handles the action of pasting the music to
|
|
30
|
-
* a different point in the score. It does this by serializing the measure(s) from the source
|
|
31
|
-
* and then creating handling the overlap with existing music when deserializaing it.
|
|
32
|
-
* @category SmoTransform
|
|
33
|
-
*/
|
|
34
|
-
export declare class PasteBuffer {
|
|
35
|
-
notes: Record<number, PasteNote[]>;
|
|
36
|
-
staffIndex: number;
|
|
37
|
-
noteIndex: number;
|
|
38
|
-
measures: SmoMeasure[];
|
|
39
|
-
measureIndex: number;
|
|
40
|
-
remainder: number;
|
|
41
|
-
replacementMeasures: SmoSelection[];
|
|
42
|
-
score: SmoScore | null;
|
|
43
|
-
modifiers: StaffModifierBase[];
|
|
44
|
-
modifiersToPlace: ModifierPlacement[];
|
|
45
|
-
destination: SmoSelector;
|
|
46
|
-
staffSelectors: SmoSelector[];
|
|
47
|
-
constructor();
|
|
48
|
-
setScore(score: SmoScore): void;
|
|
49
|
-
getCopyBufferTickCount(): number;
|
|
50
|
-
setSelections(score: SmoScore, selections: SmoSelection[]): void;
|
|
51
|
-
_populateSelectArray(selections: SmoSelection[]): void;
|
|
52
|
-
clearSelections(): void;
|
|
53
|
-
_findModifier(selector: SmoSelector): StaffModifierBase | null;
|
|
54
|
-
_findPlacedModifier(selector: SmoSelector): StaffModifierBase | null;
|
|
55
|
-
_alignVoices(measure: SmoMeasure, voiceIndex: number): void;
|
|
56
|
-
_populateMeasureArray(selector: SmoSelector, notes: PasteNote[]): void;
|
|
57
|
-
_populatePre(voiceIndex: number, measure: SmoMeasure, startTick: number, tickmap: TickMap): SmoVoice;
|
|
58
|
-
/**
|
|
59
|
-
*
|
|
60
|
-
* @param voiceIndex
|
|
61
|
-
*/
|
|
62
|
-
_populateVoice(notes: PasteNote[]): SmoVoice[];
|
|
63
|
-
static _countTicks(voice: SmoVoice): number;
|
|
64
|
-
/**
|
|
65
|
-
* If the source contains a staff modifier that ends on the source selection, copy the modifier
|
|
66
|
-
* @param srcSelector
|
|
67
|
-
* @param destSelector
|
|
68
|
-
* @param staff
|
|
69
|
-
* @returns
|
|
70
|
-
*/
|
|
71
|
-
_populateModifier(srcSelector: SmoSelector, destSelector: SmoSelector, staff: SmoSystemStaff): void;
|
|
72
|
-
/**
|
|
73
|
-
*
|
|
74
|
-
* @param measure
|
|
75
|
-
* @param startIndex
|
|
76
|
-
* @param endIndex
|
|
77
|
-
* @param voiceIndex
|
|
78
|
-
* @private
|
|
79
|
-
*/
|
|
80
|
-
private _removeOverlappingTuplets;
|
|
81
|
-
/**
|
|
82
|
-
* Start copying the paste buffer into the destination by copying the notes and working out
|
|
83
|
-
* the measure overlap
|
|
84
|
-
*
|
|
85
|
-
* @param voice
|
|
86
|
-
* @param measure
|
|
87
|
-
* @param tickmap
|
|
88
|
-
* @param startSelector
|
|
89
|
-
* @returns
|
|
90
|
-
*/
|
|
91
|
-
_populateNew(voice: SmoVoice, measure: SmoMeasure, tickmap: TickMap, startSelector: SmoSelector, notes: PasteNote[]): void;
|
|
92
|
-
_populatePost(voice: SmoVoice, voiceIndex: number, measure: SmoMeasure, tickmap: TickMap): void;
|
|
93
|
-
_pasteVoiceSer(serializedMeasure: any, vobj: any, voiceIx: number): void;
|
|
94
|
-
pasteChordNotes(selector: SmoSelector, notes: PasteNote[]): PasteNote[];
|
|
95
|
-
pasteIntoScore(score: SmoScore, selector: SmoSelector, func: (selector: SmoSelector, notes: PasteNote[]) => PasteNote[]): void;
|
|
96
|
-
pasteChords(selector: SmoSelector): void;
|
|
97
|
-
pasteSelections(selector: SmoSelector): void;
|
|
98
|
-
pasteNoteSelections(selector: SmoSelector, notes: PasteNote[]): PasteNote[];
|
|
99
|
-
}
|
|
1
|
+
import { SmoSelection, SmoSelector } from './selections';
|
|
2
|
+
import { SmoNote } from '../data/note';
|
|
3
|
+
import { SmoMeasure, SmoVoice } from '../data/measure';
|
|
4
|
+
import { StaffModifierBase } from '../data/staffModifiers';
|
|
5
|
+
import { SmoTupletTree } from '../data/tuplet';
|
|
6
|
+
import { SmoScore } from '../data/score';
|
|
7
|
+
import { TickMap } from './tickMap';
|
|
8
|
+
import { SmoSystemStaff } from '../data/systemStaff';
|
|
9
|
+
/**
|
|
10
|
+
* Used to calculate the offset and transposition of a note to be pasted
|
|
11
|
+
* @category SmoTransform
|
|
12
|
+
*/
|
|
13
|
+
export interface PasteNote {
|
|
14
|
+
note: SmoNote;
|
|
15
|
+
selector: SmoSelector;
|
|
16
|
+
originalKey: string;
|
|
17
|
+
tupletStart: SmoTupletTree | null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Used when pasting staff modifiers like slurs to calculate the
|
|
21
|
+
* offset
|
|
22
|
+
* @category SmoTransform
|
|
23
|
+
*/
|
|
24
|
+
export interface ModifierPlacement {
|
|
25
|
+
modifier: StaffModifierBase;
|
|
26
|
+
ticksToStart: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* PasteBuffer holds copied music, and handles the action of pasting the music to
|
|
30
|
+
* a different point in the score. It does this by serializing the measure(s) from the source
|
|
31
|
+
* and then creating handling the overlap with existing music when deserializaing it.
|
|
32
|
+
* @category SmoTransform
|
|
33
|
+
*/
|
|
34
|
+
export declare class PasteBuffer {
|
|
35
|
+
notes: Record<number, PasteNote[]>;
|
|
36
|
+
staffIndex: number;
|
|
37
|
+
noteIndex: number;
|
|
38
|
+
measures: SmoMeasure[];
|
|
39
|
+
measureIndex: number;
|
|
40
|
+
remainder: number;
|
|
41
|
+
replacementMeasures: SmoSelection[];
|
|
42
|
+
score: SmoScore | null;
|
|
43
|
+
modifiers: StaffModifierBase[];
|
|
44
|
+
modifiersToPlace: ModifierPlacement[];
|
|
45
|
+
destination: SmoSelector;
|
|
46
|
+
staffSelectors: SmoSelector[];
|
|
47
|
+
constructor();
|
|
48
|
+
setScore(score: SmoScore): void;
|
|
49
|
+
getCopyBufferTickCount(): number;
|
|
50
|
+
setSelections(score: SmoScore, selections: SmoSelection[]): void;
|
|
51
|
+
_populateSelectArray(selections: SmoSelection[]): void;
|
|
52
|
+
clearSelections(): void;
|
|
53
|
+
_findModifier(selector: SmoSelector): StaffModifierBase | null;
|
|
54
|
+
_findPlacedModifier(selector: SmoSelector): StaffModifierBase | null;
|
|
55
|
+
_alignVoices(measure: SmoMeasure, voiceIndex: number): void;
|
|
56
|
+
_populateMeasureArray(selector: SmoSelector, notes: PasteNote[]): void;
|
|
57
|
+
_populatePre(voiceIndex: number, measure: SmoMeasure, startTick: number, tickmap: TickMap): SmoVoice;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param voiceIndex
|
|
61
|
+
*/
|
|
62
|
+
_populateVoice(notes: PasteNote[]): SmoVoice[];
|
|
63
|
+
static _countTicks(voice: SmoVoice): number;
|
|
64
|
+
/**
|
|
65
|
+
* If the source contains a staff modifier that ends on the source selection, copy the modifier
|
|
66
|
+
* @param srcSelector
|
|
67
|
+
* @param destSelector
|
|
68
|
+
* @param staff
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
_populateModifier(srcSelector: SmoSelector, destSelector: SmoSelector, staff: SmoSystemStaff): void;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @param measure
|
|
75
|
+
* @param startIndex
|
|
76
|
+
* @param endIndex
|
|
77
|
+
* @param voiceIndex
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
private _removeOverlappingTuplets;
|
|
81
|
+
/**
|
|
82
|
+
* Start copying the paste buffer into the destination by copying the notes and working out
|
|
83
|
+
* the measure overlap
|
|
84
|
+
*
|
|
85
|
+
* @param voice
|
|
86
|
+
* @param measure
|
|
87
|
+
* @param tickmap
|
|
88
|
+
* @param startSelector
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
_populateNew(voice: SmoVoice, measure: SmoMeasure, tickmap: TickMap, startSelector: SmoSelector, notes: PasteNote[]): void;
|
|
92
|
+
_populatePost(voice: SmoVoice, voiceIndex: number, measure: SmoMeasure, tickmap: TickMap): void;
|
|
93
|
+
_pasteVoiceSer(serializedMeasure: any, vobj: any, voiceIx: number): void;
|
|
94
|
+
pasteChordNotes(selector: SmoSelector, notes: PasteNote[]): PasteNote[];
|
|
95
|
+
pasteIntoScore(score: SmoScore, selector: SmoSelector, func: (selector: SmoSelector, notes: PasteNote[]) => PasteNote[]): void;
|
|
96
|
+
pasteChords(selector: SmoSelector): void;
|
|
97
|
+
pasteSelections(selector: SmoSelector): void;
|
|
98
|
+
pasteNoteSelections(selector: SmoSelector, notes: PasteNote[]): PasteNote[];
|
|
99
|
+
}
|