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.
- package/build/smoosic.js +1 -1
- package/package.json +1 -1
- package/release/smoosic.js +1 -1
- package/release/styles/ribbon.css +5 -10
- package/src/application/exports.ts +1 -0
- package/src/styles/ribbon.css +5 -10
- 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,594 +1,594 @@
|
|
|
1
|
-
import { SuiScoreView, updateStaffModifierFunc } from './scoreView';
|
|
2
|
-
import { engravingFontType } from '../../smo/data/score';
|
|
3
|
-
import { SmoSystemStaffParams } from '../../smo/data/systemStaff';
|
|
4
|
-
import { SmoPartInfo } from '../../smo/data/partInfo';
|
|
5
|
-
import { SmoMeasure } from '../../smo/data/measure';
|
|
6
|
-
import { KeyEvent, SvgBox, Pitch, PitchLetter } from '../../smo/data/common';
|
|
7
|
-
import { SmoSystemGroup, SmoPageLayout, SmoGlobalLayout, SmoAudioPlayerSettings, SmoScorePreferences, SmoScoreInfo } from '../../smo/data/scoreModifiers';
|
|
8
|
-
import { SmoTextGroup } from '../../smo/data/scoreText';
|
|
9
|
-
import { SmoDynamicText, SmoArticulation, SmoOrnament, SmoLyric, SmoArpeggioType, SmoClefChange, SmoTabNote } from '../../smo/data/noteModifiers';
|
|
10
|
-
import { SmoTempoText, SmoVolta, SmoMeasureFormat, TimeSignature } from '../../smo/data/measureModifiers';
|
|
11
|
-
import { createStaffModifierType, MakeTupletOperation } from '../../smo/xform/operations';
|
|
12
|
-
import { BatchSelectionOperation } from '../../smo/xform/operations';
|
|
13
|
-
import { FontInfo } from '../../common/vex';
|
|
14
|
-
import { SmoSelection, SmoSelector } from '../../smo/xform/selections';
|
|
15
|
-
import { StaffModifierBase, SmoInstrument, SmoInstrumentParams, SmoStaffTextBracket, SmoTabStave } from '../../smo/data/staffModifiers';
|
|
16
|
-
/**
|
|
17
|
-
* MVVM-like operations on the displayed score.
|
|
18
|
-
*
|
|
19
|
-
* All operations that can be performed on a 'live' score go through this
|
|
20
|
-
* module. It maps the score view to the actual score and makes sure the
|
|
21
|
-
* model and view stay in sync.
|
|
22
|
-
*
|
|
23
|
-
* Because this object operates on the current selections,
|
|
24
|
-
* all operations return promise so applications can wait for the
|
|
25
|
-
* operation to complete and update the selection list.
|
|
26
|
-
* @category SuiRender
|
|
27
|
-
*/
|
|
28
|
-
export declare class SuiScoreViewOperations extends SuiScoreView {
|
|
29
|
-
/**
|
|
30
|
-
* Add a new text group to the score
|
|
31
|
-
* @param textGroup a new text group
|
|
32
|
-
* @returns
|
|
33
|
-
*/
|
|
34
|
-
addTextGroup(textGroup: SmoTextGroup): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Remove the text group from the score
|
|
37
|
-
* @param textGroup
|
|
38
|
-
* @returns
|
|
39
|
-
*/
|
|
40
|
-
removeTextGroup(textGroup: SmoTextGroup): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* UPdate an existing text group. The original is passed in, because since TG not tied to a musical
|
|
43
|
-
* element, we need to find the one we're updating.
|
|
44
|
-
* @param oldVersion
|
|
45
|
-
* @param newVersion
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
updateTextGroup(newVersion: SmoTextGroup): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* load an mxml score remotely, return a promise that
|
|
51
|
-
* completes when the file is loaded
|
|
52
|
-
* @param url where to find the xml file
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
loadRemoteXml(url: string): Promise<any>;
|
|
56
|
-
/**
|
|
57
|
-
* load a remote score in SMO format
|
|
58
|
-
* @param url url to find the score
|
|
59
|
-
* @returns
|
|
60
|
-
*/
|
|
61
|
-
loadRemoteJson(url: string): Promise<any>;
|
|
62
|
-
/**
|
|
63
|
-
* Load a remote score, return promise when it's been loaded
|
|
64
|
-
* from afar.
|
|
65
|
-
* @param pref
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
loadRemoteScore(url: string): Promise<any>;
|
|
69
|
-
updateAudioSettings(pref: SmoAudioPlayerSettings): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Global settings that control how the score editor behaves
|
|
72
|
-
* @param pref
|
|
73
|
-
* @returns
|
|
74
|
-
*/
|
|
75
|
-
updateScorePreferences(pref: SmoScorePreferences): Promise<void>;
|
|
76
|
-
/**
|
|
77
|
-
* Update information about the score, composer etc.
|
|
78
|
-
* @param scoreInfo
|
|
79
|
-
* @returns
|
|
80
|
-
*/
|
|
81
|
-
updateScoreInfo(scoreInfo: SmoScoreInfo): Promise<void>;
|
|
82
|
-
addRemoveArpeggio(code: SmoArpeggioType): Promise<void>;
|
|
83
|
-
/**
|
|
84
|
-
* A clef change mid-measure (clefNote)
|
|
85
|
-
* @param clef
|
|
86
|
-
*/
|
|
87
|
-
addRemoveClefChange(clef: SmoClefChange): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Modify the dynamics assoicated with the specific selection
|
|
90
|
-
* @param selection
|
|
91
|
-
* @param dynamic
|
|
92
|
-
* @returns
|
|
93
|
-
*/
|
|
94
|
-
addDynamic(selection: SmoSelection, dynamic: SmoDynamicText): Promise<void>;
|
|
95
|
-
/**
|
|
96
|
-
* Remove dynamics from the current selection
|
|
97
|
-
* @param dynamic
|
|
98
|
-
* @returns
|
|
99
|
-
*/
|
|
100
|
-
removeDynamic(dynamic: SmoDynamicText): Promise<void>;
|
|
101
|
-
/**
|
|
102
|
-
* we never really delete a note, but we will convert it into a rest and if it's
|
|
103
|
-
* already a rest we will try to hide it.
|
|
104
|
-
* Operates on current selections
|
|
105
|
-
* */
|
|
106
|
-
deleteNote(): Promise<void>;
|
|
107
|
-
/**
|
|
108
|
-
* The lyric editor moves around, so we can't depend on the tracker for the
|
|
109
|
-
* correct selection. We get it directly from the editor.
|
|
110
|
-
*
|
|
111
|
-
* @param selector - the selector of the note with the lyric to remove
|
|
112
|
-
* @param lyric - a copy of the lyric to remove. We use the verse, parser to identify it
|
|
113
|
-
* @returns render promise
|
|
114
|
-
*/
|
|
115
|
-
removeLyric(selector: SmoSelector, lyric: SmoLyric): Promise<void>;
|
|
116
|
-
/**
|
|
117
|
-
* @param selector where to add or update the lyric
|
|
118
|
-
* @param lyric a copy of the lyric to remove
|
|
119
|
-
* @returns
|
|
120
|
-
*/
|
|
121
|
-
addOrUpdateLyric(selector: SmoSelector, lyric: SmoLyric): Promise<void>;
|
|
122
|
-
/**
|
|
123
|
-
* Delete all the notes for the currently selected voice
|
|
124
|
-
* @returns
|
|
125
|
-
*/
|
|
126
|
-
depopulateVoice(): Promise<void>;
|
|
127
|
-
/**
|
|
128
|
-
* Change the active voice in a multi-voice measure.
|
|
129
|
-
* @param index
|
|
130
|
-
* @returns
|
|
131
|
-
*/
|
|
132
|
-
_changeActiveVoice(index: number): SmoSelection[];
|
|
133
|
-
/**
|
|
134
|
-
* Populate a new voice with default notes
|
|
135
|
-
* @param index the voice to populate
|
|
136
|
-
* @returns
|
|
137
|
-
*/
|
|
138
|
-
populateVoice(index: number): Promise<void>;
|
|
139
|
-
swapVoices(voice1: number, voice2: number): Promise<void>;
|
|
140
|
-
/**
|
|
141
|
-
* Assign an instrument to a set of measures
|
|
142
|
-
* @param instrument the instrument to assign to the selections
|
|
143
|
-
* @param selections
|
|
144
|
-
* @returns
|
|
145
|
-
*/
|
|
146
|
-
changeInstrument(instrument: SmoInstrument, selections: SmoSelection[]): Promise<void>;
|
|
147
|
-
/**
|
|
148
|
-
* Set the time signature for a selection
|
|
149
|
-
* @param timeSignature actual time signature
|
|
150
|
-
*/
|
|
151
|
-
setTimeSignature(timeSignature: TimeSignature): Promise<void>;
|
|
152
|
-
/**
|
|
153
|
-
* Move selected staff up or down in the score.
|
|
154
|
-
* @param index direction to move
|
|
155
|
-
* @returns
|
|
156
|
-
*/
|
|
157
|
-
moveStaffUpDown(index: number): Promise<void>;
|
|
158
|
-
/**
|
|
159
|
-
* Update the staff group for a score, which determines how the staves
|
|
160
|
-
* are justified and bracketed
|
|
161
|
-
* @param staffGroup
|
|
162
|
-
*/
|
|
163
|
-
addOrUpdateStaffGroup(staffGroup: SmoSystemGroup): Promise<void>;
|
|
164
|
-
removeStaffGroup(staffGroup: SmoSystemGroup): Promise<void>;
|
|
165
|
-
clearSystemGroups(): Promise<void>;
|
|
166
|
-
updateTabStave(tabStave: SmoTabStave): Promise<void>;
|
|
167
|
-
removeTabStave(): Promise<void>;
|
|
168
|
-
/**
|
|
169
|
-
* Update tempo for all or part of the score
|
|
170
|
-
* @param measure the measure with the tempo. Tempo is measure-wide parameter
|
|
171
|
-
* @param scoreMode if true, update whole score. Else selections
|
|
172
|
-
* @returns
|
|
173
|
-
*/
|
|
174
|
-
updateTempoScore(measure: SmoMeasure, tempo: SmoTempoText, scoreMode: boolean, selectionMode: boolean): Promise<void>;
|
|
175
|
-
updateTabNote(tabNote: SmoTabNote): Promise<void>;
|
|
176
|
-
removeTabNote(): Promise<void>;
|
|
177
|
-
/**
|
|
178
|
-
* 'remove' tempo, which means either setting the bars to the
|
|
179
|
-
* default tempo, or the previously-set tempo.
|
|
180
|
-
* @param scoreMode whether to reset entire score
|
|
181
|
-
*/
|
|
182
|
-
removeTempo(measure: SmoMeasure, tempo: SmoTempoText, scoreMode: boolean, selectionMode: boolean): Promise<void>;
|
|
183
|
-
/**
|
|
184
|
-
* Add a grace note to the selected real notes.
|
|
185
|
-
*/
|
|
186
|
-
addGraceNote(): Promise<void>;
|
|
187
|
-
/**
|
|
188
|
-
* remove selected grace note
|
|
189
|
-
* @returns
|
|
190
|
-
*/
|
|
191
|
-
removeGraceNote(): Promise<void>;
|
|
192
|
-
/**
|
|
193
|
-
* Toggle slash in stem of grace note
|
|
194
|
-
*/
|
|
195
|
-
slashGraceNotes(): Promise<void>;
|
|
196
|
-
transposeScore(offset: number): Promise<void>;
|
|
197
|
-
/**
|
|
198
|
-
* transpose selected notes
|
|
199
|
-
* @param offset 1/2 steps
|
|
200
|
-
* @returns
|
|
201
|
-
*/
|
|
202
|
-
transposeSelections(offset: number): Promise<void>;
|
|
203
|
-
/**
|
|
204
|
-
* toggle the accidental spelling of the selected notes
|
|
205
|
-
* @returns
|
|
206
|
-
*/
|
|
207
|
-
toggleEnharmonic(): Promise<void>;
|
|
208
|
-
/**
|
|
209
|
-
* Toggle cautionary/courtesy accidentals
|
|
210
|
-
*/
|
|
211
|
-
toggleCourtesyAccidentals(): Promise<void>;
|
|
212
|
-
/**
|
|
213
|
-
* change the duration of notes for selected, creating more
|
|
214
|
-
* or fewer notes.
|
|
215
|
-
* After the change, reset the selection so it's as close as possible
|
|
216
|
-
* to the original length
|
|
217
|
-
* @param operation
|
|
218
|
-
* @returns
|
|
219
|
-
*/
|
|
220
|
-
batchDurationOperation(operation: BatchSelectionOperation): Promise<void>;
|
|
221
|
-
/**
|
|
222
|
-
* Toggle selected modifier on selected notes
|
|
223
|
-
* @param modifier
|
|
224
|
-
* @param ctor parent class constructor (e.g. SmoOrnament)
|
|
225
|
-
* @returns
|
|
226
|
-
*/
|
|
227
|
-
toggleArticulation(modifier: string, ctor: string): Promise<void>;
|
|
228
|
-
setArticulation(modifier: SmoArticulation, set: boolean): Promise<void>;
|
|
229
|
-
setOrnament(modifier: SmoOrnament, set: boolean): Promise<void>;
|
|
230
|
-
/**
|
|
231
|
-
* convert non-tuplet not to a tuplet
|
|
232
|
-
* @param params
|
|
233
|
-
*/
|
|
234
|
-
makeTuplet(params: MakeTupletOperation): Promise<void>;
|
|
235
|
-
/**
|
|
236
|
-
* Convert selected tuplet to a single (if possible) non-tuplet
|
|
237
|
-
*/
|
|
238
|
-
unmakeTuplet(): Promise<void>;
|
|
239
|
-
/**
|
|
240
|
-
* Create a chord by adding an interval to selected note
|
|
241
|
-
* @param interval 1/2 steps
|
|
242
|
-
* @returns
|
|
243
|
-
*/
|
|
244
|
-
setInterval(interval: number): Promise<void>;
|
|
245
|
-
/**
|
|
246
|
-
* change the selected chord into a single note
|
|
247
|
-
* @returns
|
|
248
|
-
*/
|
|
249
|
-
collapseChord(): Promise<void>;
|
|
250
|
-
/**
|
|
251
|
-
* Toggle chicken-scratches, for jazz improv, comping etc.
|
|
252
|
-
*/
|
|
253
|
-
toggleSlash(): Promise<void>;
|
|
254
|
-
/**
|
|
255
|
-
* make selected notes into a rest, or visa-versa
|
|
256
|
-
* @returns
|
|
257
|
-
*/
|
|
258
|
-
makeRest(): Promise<void>;
|
|
259
|
-
clearAllBeams(): Promise<void>;
|
|
260
|
-
clearSelectedBeams(): Promise<void>;
|
|
261
|
-
/**
|
|
262
|
-
* toggle the 'end beam' flag for selected notes
|
|
263
|
-
* @returns
|
|
264
|
-
*/
|
|
265
|
-
unbeamSelections(): Promise<void>;
|
|
266
|
-
toggleCue(): Promise<void>;
|
|
267
|
-
/**
|
|
268
|
-
* up or down
|
|
269
|
-
* @returns
|
|
270
|
-
*/
|
|
271
|
-
toggleBeamDirection(): Promise<void>;
|
|
272
|
-
/**
|
|
273
|
-
* Add the selected notes to a beam group
|
|
274
|
-
*/
|
|
275
|
-
beamSelections(): Promise<void>;
|
|
276
|
-
/**
|
|
277
|
-
* change key signature for selected measures
|
|
278
|
-
* @param keySignature vex key signature
|
|
279
|
-
*/
|
|
280
|
-
addKeySignature(keySignature: string): Promise<void>;
|
|
281
|
-
/**
|
|
282
|
-
* Sets a pitch from the piano widget.
|
|
283
|
-
* @param pitch {Pitch}
|
|
284
|
-
* @param chordPedal {boolean} - indicates we are adding to a chord
|
|
285
|
-
*/
|
|
286
|
-
setPitchPiano(pitch: Pitch, chordPedal: boolean): Promise<void>;
|
|
287
|
-
/**
|
|
288
|
-
* show or hide the piano widget
|
|
289
|
-
* @param value to show it
|
|
290
|
-
*/
|
|
291
|
-
showPiano(value: boolean): Promise<void>;
|
|
292
|
-
/**
|
|
293
|
-
* Render a pitch for each letter name-pitch in the string,
|
|
294
|
-
* @param pitches letter names for pitches
|
|
295
|
-
* @returns promise, resolved when all pitches rendered
|
|
296
|
-
* @see setPitch
|
|
297
|
-
*/
|
|
298
|
-
setPitchesPromise(pitches: PitchLetter[]): Promise<any>;
|
|
299
|
-
/**
|
|
300
|
-
* Add a pitch to the score at the cursor. This tries to find the best pitch
|
|
301
|
-
* to match the letter key (F vs F# for instance) based on key and surrounding notes
|
|
302
|
-
* @param letter string
|
|
303
|
-
*/
|
|
304
|
-
setPitch(letter: PitchLetter): Promise<void>;
|
|
305
|
-
/**
|
|
306
|
-
* Generic clipboard copy action
|
|
307
|
-
*/
|
|
308
|
-
copy(): Promise<void>;
|
|
309
|
-
/**
|
|
310
|
-
* clipboard paste action
|
|
311
|
-
* @returns
|
|
312
|
-
*/
|
|
313
|
-
paste(): Promise<void>;
|
|
314
|
-
/**
|
|
315
|
-
* Paste only the chords.
|
|
316
|
-
*/
|
|
317
|
-
pasteChords(): Promise<void>;
|
|
318
|
-
/**
|
|
319
|
-
* specify a note head other than the default for the duration
|
|
320
|
-
* @param head
|
|
321
|
-
*/
|
|
322
|
-
setNoteHead(head: string): Promise<void>;
|
|
323
|
-
/**
|
|
324
|
-
* Add a volta for selected measures
|
|
325
|
-
*/
|
|
326
|
-
addEnding(): Promise<void>;
|
|
327
|
-
/**
|
|
328
|
-
* @param ending volta settings
|
|
329
|
-
* @returns
|
|
330
|
-
*/
|
|
331
|
-
updateEnding(ending: SmoVolta): Promise<void>;
|
|
332
|
-
/**
|
|
333
|
-
*
|
|
334
|
-
* @param ending volta to remove
|
|
335
|
-
* @returns
|
|
336
|
-
*/
|
|
337
|
-
removeEnding(ending: SmoVolta): Promise<void>;
|
|
338
|
-
/**
|
|
339
|
-
*
|
|
340
|
-
* @param position begin or end
|
|
341
|
-
* @param barline barline type
|
|
342
|
-
* @returns
|
|
343
|
-
*/
|
|
344
|
-
setBarline(position: number, barline: number): Promise<void>;
|
|
345
|
-
/**
|
|
346
|
-
*
|
|
347
|
-
* @param position start or end
|
|
348
|
-
* @param symbol coda, etc.
|
|
349
|
-
*/
|
|
350
|
-
setRepeatSymbol(position: number, symbol: number): Promise<void>;
|
|
351
|
-
/**
|
|
352
|
-
* toggle rehearsal mark on first selected measure
|
|
353
|
-
* @returns
|
|
354
|
-
*/
|
|
355
|
-
toggleRehearsalMark(): Promise<void>;
|
|
356
|
-
_removeStaffModifier(modifier: StaffModifierBase): void;
|
|
357
|
-
/**
|
|
358
|
-
* Remove selected modifier
|
|
359
|
-
* @param modifier slur, hairpin, etc.
|
|
360
|
-
* @returns
|
|
361
|
-
*/
|
|
362
|
-
removeStaffModifier(modifier: StaffModifierBase): Promise<void>;
|
|
363
|
-
/**
|
|
364
|
-
* Change a staff modifier
|
|
365
|
-
* @param original original version
|
|
366
|
-
* @param modifier modified version
|
|
367
|
-
* @returns
|
|
368
|
-
*/
|
|
369
|
-
addOrUpdateStaffModifier(original: StaffModifierBase, modifier: StaffModifierBase): Promise<void>;
|
|
370
|
-
lineOperation(op: createStaffModifierType<StaffModifierBase>): void;
|
|
371
|
-
/**
|
|
372
|
-
* Add crescendo to selection
|
|
373
|
-
*/
|
|
374
|
-
crescendo(): Promise<void>;
|
|
375
|
-
/**
|
|
376
|
-
* Add crescendo to selection
|
|
377
|
-
*/
|
|
378
|
-
crescendoBracket(): Promise<void>;
|
|
379
|
-
/**
|
|
380
|
-
* Add crescendo to selection
|
|
381
|
-
*/
|
|
382
|
-
dimenuendo(): Promise<void>;
|
|
383
|
-
/**
|
|
384
|
-
* Add crescendo to selection
|
|
385
|
-
*/
|
|
386
|
-
accelerando(): Promise<void>;
|
|
387
|
-
/**
|
|
388
|
-
* Add crescendo to selection
|
|
389
|
-
*/
|
|
390
|
-
ritard(): Promise<void>;
|
|
391
|
-
/**
|
|
392
|
-
* diminuendo hairpin
|
|
393
|
-
* @returns
|
|
394
|
-
*/
|
|
395
|
-
decrescendo(): Promise<void>;
|
|
396
|
-
removeTextBracket(bracket: SmoStaffTextBracket): Promise<void>;
|
|
397
|
-
addOrReplaceStaffModifier(callback: updateStaffModifierFunc, modifier: StaffModifierBase): Promise<void>;
|
|
398
|
-
addOrReplaceTextBracket(modifier: SmoStaffTextBracket): Promise<void>;
|
|
399
|
-
/**
|
|
400
|
-
* Slur selected notes
|
|
401
|
-
* @returns
|
|
402
|
-
*/
|
|
403
|
-
addSlur(): Promise<void>;
|
|
404
|
-
/**
|
|
405
|
-
* tie selected notes
|
|
406
|
-
* @returns
|
|
407
|
-
*/
|
|
408
|
-
tie(): Promise<void>;
|
|
409
|
-
updateZoom(zoomFactor: number): Promise<void>;
|
|
410
|
-
/**
|
|
411
|
-
* set global page for score, zoom etc.
|
|
412
|
-
* @param layout global SVG settings
|
|
413
|
-
* @returns
|
|
414
|
-
*/
|
|
415
|
-
setGlobalLayout(layout: SmoGlobalLayout): Promise<void>;
|
|
416
|
-
/**
|
|
417
|
-
* Set the layout of a single page
|
|
418
|
-
* @param layout page layout
|
|
419
|
-
* @param pageIndex which page to change
|
|
420
|
-
* @returns
|
|
421
|
-
*/
|
|
422
|
-
setPageLayout(layout: SmoPageLayout, pageIndex: number): Promise<void>;
|
|
423
|
-
setPageLayouts(layout: SmoPageLayout, startIndex: number, endIndex: number): Promise<void>;
|
|
424
|
-
/**
|
|
425
|
-
* Update the music font
|
|
426
|
-
* @param family
|
|
427
|
-
* @returns
|
|
428
|
-
*/
|
|
429
|
-
setEngravingFontFamily(family: engravingFontType): Promise<void>;
|
|
430
|
-
/**
|
|
431
|
-
* Upate global font used for chord changes
|
|
432
|
-
* @param fontInfo
|
|
433
|
-
* @returns
|
|
434
|
-
*/
|
|
435
|
-
setChordFont(fontInfo: FontInfo): Promise<void>;
|
|
436
|
-
/**
|
|
437
|
-
* Update font used for lyrics
|
|
438
|
-
* @param fontInfo
|
|
439
|
-
* @returns
|
|
440
|
-
*/
|
|
441
|
-
setLyricFont(fontInfo: FontInfo): Promise<void>;
|
|
442
|
-
/**
|
|
443
|
-
* @param value if false, lyric widths don't affect measure width
|
|
444
|
-
* @returns
|
|
445
|
-
*/
|
|
446
|
-
setLyricAdjustWidth(value: boolean): Promise<void>;
|
|
447
|
-
/**
|
|
448
|
-
* delete selected measures
|
|
449
|
-
* @returns
|
|
450
|
-
*/
|
|
451
|
-
deleteMeasure(): Promise<void>;
|
|
452
|
-
/**
|
|
453
|
-
* add number of measures, with default notes selections
|
|
454
|
-
* @param append
|
|
455
|
-
* @param numberToAdd
|
|
456
|
-
* @returns
|
|
457
|
-
*/
|
|
458
|
-
addMeasures(append: boolean, numberToAdd: number): Promise<void>;
|
|
459
|
-
/**
|
|
460
|
-
* add a single measure before or after selection
|
|
461
|
-
* @param append
|
|
462
|
-
* @returns
|
|
463
|
-
*/
|
|
464
|
-
addMeasure(append: boolean): Promise<void>;
|
|
465
|
-
/**
|
|
466
|
-
* remove an entire line of music
|
|
467
|
-
* @returns
|
|
468
|
-
*/
|
|
469
|
-
removeStaff(): Promise<void>;
|
|
470
|
-
addStaff(instrument: SmoSystemStaffParams): Promise<void>;
|
|
471
|
-
/**
|
|
472
|
-
* Update part info assumes that the part is currently exposed - that
|
|
473
|
-
* staff 0 is the first staff in the part prior to editing.
|
|
474
|
-
* @param info
|
|
475
|
-
*/
|
|
476
|
-
updatePartInfo(info: SmoPartInfo): Promise<void>;
|
|
477
|
-
/**
|
|
478
|
-
* A simpler API for applications to add a new staff to the score.
|
|
479
|
-
* @param params - the instrument, which determines clef, etc.
|
|
480
|
-
* @returns
|
|
481
|
-
*/
|
|
482
|
-
addStaffSimple(params: Partial<SmoInstrumentParams>): Promise<void>;
|
|
483
|
-
/**
|
|
484
|
-
* Save the score to local storage.
|
|
485
|
-
*/
|
|
486
|
-
quickSave(): void;
|
|
487
|
-
updateRepeatCount(count: number): Promise<any>;
|
|
488
|
-
/**
|
|
489
|
-
* Update the measure formatting parameters for the current selection
|
|
490
|
-
* @param format generic measure formatting parameters
|
|
491
|
-
* @returns
|
|
492
|
-
*/
|
|
493
|
-
setMeasureFormat(format: SmoMeasureFormat): Promise<any>;
|
|
494
|
-
/**
|
|
495
|
-
* Remove system breaks from the measure formatting for selected measures
|
|
496
|
-
* @returns
|
|
497
|
-
*/
|
|
498
|
-
removeSystemBreaks(): Promise<any>;
|
|
499
|
-
renumberMeasures(measureIndex: number, localIndex: number): Promise<void>;
|
|
500
|
-
/**
|
|
501
|
-
* Play the music from the starting selection
|
|
502
|
-
* @returns
|
|
503
|
-
*/
|
|
504
|
-
playFromSelection(): Promise<void>;
|
|
505
|
-
stopPlayer(): void;
|
|
506
|
-
pausePlayer(): void;
|
|
507
|
-
/**
|
|
508
|
-
* Proxy calls to move the tracker parameters according to the
|
|
509
|
-
* rules of the 'Home' key (depending on shift/ctrl/alt)
|
|
510
|
-
* @param ev
|
|
511
|
-
* @returns
|
|
512
|
-
*/
|
|
513
|
-
moveHome(ev: KeyEvent): Promise<any>;
|
|
514
|
-
/**
|
|
515
|
-
* Proxy calls to move the tracker parameters according to the
|
|
516
|
-
* rules of the 'End' key (depending on shift/ctrl/alt)
|
|
517
|
-
* @param ev
|
|
518
|
-
* @returns
|
|
519
|
-
*/
|
|
520
|
-
moveEnd(ev: KeyEvent): Promise<any>;
|
|
521
|
-
/**
|
|
522
|
-
* Grow the current selection by one to the left, if possible
|
|
523
|
-
* @param ev
|
|
524
|
-
* @returns
|
|
525
|
-
*/
|
|
526
|
-
growSelectionLeft(): Promise<any>;
|
|
527
|
-
/**
|
|
528
|
-
* Grow the current selection by one to the right, if possible
|
|
529
|
-
* @param ev
|
|
530
|
-
* @returns
|
|
531
|
-
*/
|
|
532
|
-
growSelectionRight(): Promise<any>;
|
|
533
|
-
/**
|
|
534
|
-
* Select the next tabbable modifier near one of the selected notes
|
|
535
|
-
* @param keyEv
|
|
536
|
-
* @returns
|
|
537
|
-
*/
|
|
538
|
-
advanceModifierSelection(keyEv: KeyEvent): Promise<any>;
|
|
539
|
-
/**
|
|
540
|
-
* Select the next entire measure, if possible
|
|
541
|
-
* @returns
|
|
542
|
-
*/
|
|
543
|
-
growSelectionRightMeasure(): Promise<any>;
|
|
544
|
-
/**
|
|
545
|
-
* Advance cursor forwards, if possible
|
|
546
|
-
* @param ev
|
|
547
|
-
* @returns
|
|
548
|
-
*/
|
|
549
|
-
moveSelectionRight(): Promise<any>;
|
|
550
|
-
/**
|
|
551
|
-
* Advance cursor backwards, if possible
|
|
552
|
-
* @param ev
|
|
553
|
-
* @returns
|
|
554
|
-
*/
|
|
555
|
-
moveSelectionLeft(): Promise<any>;
|
|
556
|
-
/**
|
|
557
|
-
* Advance cursor back entire measure, if possible
|
|
558
|
-
* @returns
|
|
559
|
-
*/
|
|
560
|
-
moveSelectionLeftMeasure(): Promise<any>;
|
|
561
|
-
/**
|
|
562
|
-
* Advance cursor forward one measure, if possible
|
|
563
|
-
* @returns
|
|
564
|
-
*/
|
|
565
|
-
moveSelectionRightMeasure(): Promise<any>;
|
|
566
|
-
/**
|
|
567
|
-
* Move cursor to a higher pitch in the current chord, with wrap
|
|
568
|
-
* @returns
|
|
569
|
-
*/
|
|
570
|
-
moveSelectionPitchUp(): Promise<any>;
|
|
571
|
-
/**
|
|
572
|
-
* Move cursor to a lower pitch in the current chord, with wrap
|
|
573
|
-
*/
|
|
574
|
-
moveSelectionPitchDown(): Promise<any>;
|
|
575
|
-
/**
|
|
576
|
-
* Move cursor up a staff in the system, if possible
|
|
577
|
-
* @returns
|
|
578
|
-
*/
|
|
579
|
-
moveSelectionUp(): Promise<any>;
|
|
580
|
-
/**
|
|
581
|
-
* Move cursor down a staff in the system, if possible
|
|
582
|
-
* @returns
|
|
583
|
-
*/
|
|
584
|
-
moveSelectionDown(): Promise<any>;
|
|
585
|
-
/**
|
|
586
|
-
* Set the current suggestions (hover element) as the selection
|
|
587
|
-
* @returns
|
|
588
|
-
*/
|
|
589
|
-
selectSuggestion(evData: KeyEvent): Promise<any>;
|
|
590
|
-
/**
|
|
591
|
-
* Find an element at the given box, and make it the current selection
|
|
592
|
-
* */
|
|
593
|
-
intersectingArtifact(evData: SvgBox): Promise<any>;
|
|
594
|
-
}
|
|
1
|
+
import { SuiScoreView, updateStaffModifierFunc } from './scoreView';
|
|
2
|
+
import { engravingFontType } from '../../smo/data/score';
|
|
3
|
+
import { SmoSystemStaffParams } from '../../smo/data/systemStaff';
|
|
4
|
+
import { SmoPartInfo } from '../../smo/data/partInfo';
|
|
5
|
+
import { SmoMeasure } from '../../smo/data/measure';
|
|
6
|
+
import { KeyEvent, SvgBox, Pitch, PitchLetter } from '../../smo/data/common';
|
|
7
|
+
import { SmoSystemGroup, SmoPageLayout, SmoGlobalLayout, SmoAudioPlayerSettings, SmoScorePreferences, SmoScoreInfo } from '../../smo/data/scoreModifiers';
|
|
8
|
+
import { SmoTextGroup } from '../../smo/data/scoreText';
|
|
9
|
+
import { SmoDynamicText, SmoArticulation, SmoOrnament, SmoLyric, SmoArpeggioType, SmoClefChange, SmoTabNote } from '../../smo/data/noteModifiers';
|
|
10
|
+
import { SmoTempoText, SmoVolta, SmoMeasureFormat, TimeSignature } from '../../smo/data/measureModifiers';
|
|
11
|
+
import { createStaffModifierType, MakeTupletOperation } from '../../smo/xform/operations';
|
|
12
|
+
import { BatchSelectionOperation } from '../../smo/xform/operations';
|
|
13
|
+
import { FontInfo } from '../../common/vex';
|
|
14
|
+
import { SmoSelection, SmoSelector } from '../../smo/xform/selections';
|
|
15
|
+
import { StaffModifierBase, SmoInstrument, SmoInstrumentParams, SmoStaffTextBracket, SmoTabStave } from '../../smo/data/staffModifiers';
|
|
16
|
+
/**
|
|
17
|
+
* MVVM-like operations on the displayed score.
|
|
18
|
+
*
|
|
19
|
+
* All operations that can be performed on a 'live' score go through this
|
|
20
|
+
* module. It maps the score view to the actual score and makes sure the
|
|
21
|
+
* model and view stay in sync.
|
|
22
|
+
*
|
|
23
|
+
* Because this object operates on the current selections,
|
|
24
|
+
* all operations return promise so applications can wait for the
|
|
25
|
+
* operation to complete and update the selection list.
|
|
26
|
+
* @category SuiRender
|
|
27
|
+
*/
|
|
28
|
+
export declare class SuiScoreViewOperations extends SuiScoreView {
|
|
29
|
+
/**
|
|
30
|
+
* Add a new text group to the score
|
|
31
|
+
* @param textGroup a new text group
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
addTextGroup(textGroup: SmoTextGroup): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Remove the text group from the score
|
|
37
|
+
* @param textGroup
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
removeTextGroup(textGroup: SmoTextGroup): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* UPdate an existing text group. The original is passed in, because since TG not tied to a musical
|
|
43
|
+
* element, we need to find the one we're updating.
|
|
44
|
+
* @param oldVersion
|
|
45
|
+
* @param newVersion
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
updateTextGroup(newVersion: SmoTextGroup): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* load an mxml score remotely, return a promise that
|
|
51
|
+
* completes when the file is loaded
|
|
52
|
+
* @param url where to find the xml file
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
loadRemoteXml(url: string): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* load a remote score in SMO format
|
|
58
|
+
* @param url url to find the score
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
loadRemoteJson(url: string): Promise<any>;
|
|
62
|
+
/**
|
|
63
|
+
* Load a remote score, return promise when it's been loaded
|
|
64
|
+
* from afar.
|
|
65
|
+
* @param pref
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
loadRemoteScore(url: string): Promise<any>;
|
|
69
|
+
updateAudioSettings(pref: SmoAudioPlayerSettings): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Global settings that control how the score editor behaves
|
|
72
|
+
* @param pref
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
updateScorePreferences(pref: SmoScorePreferences): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Update information about the score, composer etc.
|
|
78
|
+
* @param scoreInfo
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
updateScoreInfo(scoreInfo: SmoScoreInfo): Promise<void>;
|
|
82
|
+
addRemoveArpeggio(code: SmoArpeggioType): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* A clef change mid-measure (clefNote)
|
|
85
|
+
* @param clef
|
|
86
|
+
*/
|
|
87
|
+
addRemoveClefChange(clef: SmoClefChange): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Modify the dynamics assoicated with the specific selection
|
|
90
|
+
* @param selection
|
|
91
|
+
* @param dynamic
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
addDynamic(selection: SmoSelection, dynamic: SmoDynamicText): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Remove dynamics from the current selection
|
|
97
|
+
* @param dynamic
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
removeDynamic(dynamic: SmoDynamicText): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* we never really delete a note, but we will convert it into a rest and if it's
|
|
103
|
+
* already a rest we will try to hide it.
|
|
104
|
+
* Operates on current selections
|
|
105
|
+
* */
|
|
106
|
+
deleteNote(): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* The lyric editor moves around, so we can't depend on the tracker for the
|
|
109
|
+
* correct selection. We get it directly from the editor.
|
|
110
|
+
*
|
|
111
|
+
* @param selector - the selector of the note with the lyric to remove
|
|
112
|
+
* @param lyric - a copy of the lyric to remove. We use the verse, parser to identify it
|
|
113
|
+
* @returns render promise
|
|
114
|
+
*/
|
|
115
|
+
removeLyric(selector: SmoSelector, lyric: SmoLyric): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* @param selector where to add or update the lyric
|
|
118
|
+
* @param lyric a copy of the lyric to remove
|
|
119
|
+
* @returns
|
|
120
|
+
*/
|
|
121
|
+
addOrUpdateLyric(selector: SmoSelector, lyric: SmoLyric): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Delete all the notes for the currently selected voice
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
depopulateVoice(): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Change the active voice in a multi-voice measure.
|
|
129
|
+
* @param index
|
|
130
|
+
* @returns
|
|
131
|
+
*/
|
|
132
|
+
_changeActiveVoice(index: number): SmoSelection[];
|
|
133
|
+
/**
|
|
134
|
+
* Populate a new voice with default notes
|
|
135
|
+
* @param index the voice to populate
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
138
|
+
populateVoice(index: number): Promise<void>;
|
|
139
|
+
swapVoices(voice1: number, voice2: number): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Assign an instrument to a set of measures
|
|
142
|
+
* @param instrument the instrument to assign to the selections
|
|
143
|
+
* @param selections
|
|
144
|
+
* @returns
|
|
145
|
+
*/
|
|
146
|
+
changeInstrument(instrument: SmoInstrument, selections: SmoSelection[]): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Set the time signature for a selection
|
|
149
|
+
* @param timeSignature actual time signature
|
|
150
|
+
*/
|
|
151
|
+
setTimeSignature(timeSignature: TimeSignature): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Move selected staff up or down in the score.
|
|
154
|
+
* @param index direction to move
|
|
155
|
+
* @returns
|
|
156
|
+
*/
|
|
157
|
+
moveStaffUpDown(index: number): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Update the staff group for a score, which determines how the staves
|
|
160
|
+
* are justified and bracketed
|
|
161
|
+
* @param staffGroup
|
|
162
|
+
*/
|
|
163
|
+
addOrUpdateStaffGroup(staffGroup: SmoSystemGroup): Promise<void>;
|
|
164
|
+
removeStaffGroup(staffGroup: SmoSystemGroup): Promise<void>;
|
|
165
|
+
clearSystemGroups(): Promise<void>;
|
|
166
|
+
updateTabStave(tabStave: SmoTabStave): Promise<void>;
|
|
167
|
+
removeTabStave(): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Update tempo for all or part of the score
|
|
170
|
+
* @param measure the measure with the tempo. Tempo is measure-wide parameter
|
|
171
|
+
* @param scoreMode if true, update whole score. Else selections
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
174
|
+
updateTempoScore(measure: SmoMeasure, tempo: SmoTempoText, scoreMode: boolean, selectionMode: boolean): Promise<void>;
|
|
175
|
+
updateTabNote(tabNote: SmoTabNote): Promise<void>;
|
|
176
|
+
removeTabNote(): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* 'remove' tempo, which means either setting the bars to the
|
|
179
|
+
* default tempo, or the previously-set tempo.
|
|
180
|
+
* @param scoreMode whether to reset entire score
|
|
181
|
+
*/
|
|
182
|
+
removeTempo(measure: SmoMeasure, tempo: SmoTempoText, scoreMode: boolean, selectionMode: boolean): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* Add a grace note to the selected real notes.
|
|
185
|
+
*/
|
|
186
|
+
addGraceNote(): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* remove selected grace note
|
|
189
|
+
* @returns
|
|
190
|
+
*/
|
|
191
|
+
removeGraceNote(): Promise<void>;
|
|
192
|
+
/**
|
|
193
|
+
* Toggle slash in stem of grace note
|
|
194
|
+
*/
|
|
195
|
+
slashGraceNotes(): Promise<void>;
|
|
196
|
+
transposeScore(offset: number): Promise<void>;
|
|
197
|
+
/**
|
|
198
|
+
* transpose selected notes
|
|
199
|
+
* @param offset 1/2 steps
|
|
200
|
+
* @returns
|
|
201
|
+
*/
|
|
202
|
+
transposeSelections(offset: number): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* toggle the accidental spelling of the selected notes
|
|
205
|
+
* @returns
|
|
206
|
+
*/
|
|
207
|
+
toggleEnharmonic(): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Toggle cautionary/courtesy accidentals
|
|
210
|
+
*/
|
|
211
|
+
toggleCourtesyAccidentals(): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* change the duration of notes for selected, creating more
|
|
214
|
+
* or fewer notes.
|
|
215
|
+
* After the change, reset the selection so it's as close as possible
|
|
216
|
+
* to the original length
|
|
217
|
+
* @param operation
|
|
218
|
+
* @returns
|
|
219
|
+
*/
|
|
220
|
+
batchDurationOperation(operation: BatchSelectionOperation): Promise<void>;
|
|
221
|
+
/**
|
|
222
|
+
* Toggle selected modifier on selected notes
|
|
223
|
+
* @param modifier
|
|
224
|
+
* @param ctor parent class constructor (e.g. SmoOrnament)
|
|
225
|
+
* @returns
|
|
226
|
+
*/
|
|
227
|
+
toggleArticulation(modifier: string, ctor: string): Promise<void>;
|
|
228
|
+
setArticulation(modifier: SmoArticulation, set: boolean): Promise<void>;
|
|
229
|
+
setOrnament(modifier: SmoOrnament, set: boolean): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* convert non-tuplet not to a tuplet
|
|
232
|
+
* @param params
|
|
233
|
+
*/
|
|
234
|
+
makeTuplet(params: MakeTupletOperation): Promise<void>;
|
|
235
|
+
/**
|
|
236
|
+
* Convert selected tuplet to a single (if possible) non-tuplet
|
|
237
|
+
*/
|
|
238
|
+
unmakeTuplet(): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* Create a chord by adding an interval to selected note
|
|
241
|
+
* @param interval 1/2 steps
|
|
242
|
+
* @returns
|
|
243
|
+
*/
|
|
244
|
+
setInterval(interval: number): Promise<void>;
|
|
245
|
+
/**
|
|
246
|
+
* change the selected chord into a single note
|
|
247
|
+
* @returns
|
|
248
|
+
*/
|
|
249
|
+
collapseChord(): Promise<void>;
|
|
250
|
+
/**
|
|
251
|
+
* Toggle chicken-scratches, for jazz improv, comping etc.
|
|
252
|
+
*/
|
|
253
|
+
toggleSlash(): Promise<void>;
|
|
254
|
+
/**
|
|
255
|
+
* make selected notes into a rest, or visa-versa
|
|
256
|
+
* @returns
|
|
257
|
+
*/
|
|
258
|
+
makeRest(): Promise<void>;
|
|
259
|
+
clearAllBeams(): Promise<void>;
|
|
260
|
+
clearSelectedBeams(): Promise<void>;
|
|
261
|
+
/**
|
|
262
|
+
* toggle the 'end beam' flag for selected notes
|
|
263
|
+
* @returns
|
|
264
|
+
*/
|
|
265
|
+
unbeamSelections(): Promise<void>;
|
|
266
|
+
toggleCue(): Promise<void>;
|
|
267
|
+
/**
|
|
268
|
+
* up or down
|
|
269
|
+
* @returns
|
|
270
|
+
*/
|
|
271
|
+
toggleBeamDirection(): Promise<void>;
|
|
272
|
+
/**
|
|
273
|
+
* Add the selected notes to a beam group
|
|
274
|
+
*/
|
|
275
|
+
beamSelections(): Promise<void>;
|
|
276
|
+
/**
|
|
277
|
+
* change key signature for selected measures
|
|
278
|
+
* @param keySignature vex key signature
|
|
279
|
+
*/
|
|
280
|
+
addKeySignature(keySignature: string): Promise<void>;
|
|
281
|
+
/**
|
|
282
|
+
* Sets a pitch from the piano widget.
|
|
283
|
+
* @param pitch {Pitch}
|
|
284
|
+
* @param chordPedal {boolean} - indicates we are adding to a chord
|
|
285
|
+
*/
|
|
286
|
+
setPitchPiano(pitch: Pitch, chordPedal: boolean): Promise<void>;
|
|
287
|
+
/**
|
|
288
|
+
* show or hide the piano widget
|
|
289
|
+
* @param value to show it
|
|
290
|
+
*/
|
|
291
|
+
showPiano(value: boolean): Promise<void>;
|
|
292
|
+
/**
|
|
293
|
+
* Render a pitch for each letter name-pitch in the string,
|
|
294
|
+
* @param pitches letter names for pitches
|
|
295
|
+
* @returns promise, resolved when all pitches rendered
|
|
296
|
+
* @see setPitch
|
|
297
|
+
*/
|
|
298
|
+
setPitchesPromise(pitches: PitchLetter[]): Promise<any>;
|
|
299
|
+
/**
|
|
300
|
+
* Add a pitch to the score at the cursor. This tries to find the best pitch
|
|
301
|
+
* to match the letter key (F vs F# for instance) based on key and surrounding notes
|
|
302
|
+
* @param letter string
|
|
303
|
+
*/
|
|
304
|
+
setPitch(letter: PitchLetter): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* Generic clipboard copy action
|
|
307
|
+
*/
|
|
308
|
+
copy(): Promise<void>;
|
|
309
|
+
/**
|
|
310
|
+
* clipboard paste action
|
|
311
|
+
* @returns
|
|
312
|
+
*/
|
|
313
|
+
paste(): Promise<void>;
|
|
314
|
+
/**
|
|
315
|
+
* Paste only the chords.
|
|
316
|
+
*/
|
|
317
|
+
pasteChords(): Promise<void>;
|
|
318
|
+
/**
|
|
319
|
+
* specify a note head other than the default for the duration
|
|
320
|
+
* @param head
|
|
321
|
+
*/
|
|
322
|
+
setNoteHead(head: string): Promise<void>;
|
|
323
|
+
/**
|
|
324
|
+
* Add a volta for selected measures
|
|
325
|
+
*/
|
|
326
|
+
addEnding(): Promise<void>;
|
|
327
|
+
/**
|
|
328
|
+
* @param ending volta settings
|
|
329
|
+
* @returns
|
|
330
|
+
*/
|
|
331
|
+
updateEnding(ending: SmoVolta): Promise<void>;
|
|
332
|
+
/**
|
|
333
|
+
*
|
|
334
|
+
* @param ending volta to remove
|
|
335
|
+
* @returns
|
|
336
|
+
*/
|
|
337
|
+
removeEnding(ending: SmoVolta): Promise<void>;
|
|
338
|
+
/**
|
|
339
|
+
*
|
|
340
|
+
* @param position begin or end
|
|
341
|
+
* @param barline barline type
|
|
342
|
+
* @returns
|
|
343
|
+
*/
|
|
344
|
+
setBarline(position: number, barline: number): Promise<void>;
|
|
345
|
+
/**
|
|
346
|
+
*
|
|
347
|
+
* @param position start or end
|
|
348
|
+
* @param symbol coda, etc.
|
|
349
|
+
*/
|
|
350
|
+
setRepeatSymbol(position: number, symbol: number): Promise<void>;
|
|
351
|
+
/**
|
|
352
|
+
* toggle rehearsal mark on first selected measure
|
|
353
|
+
* @returns
|
|
354
|
+
*/
|
|
355
|
+
toggleRehearsalMark(): Promise<void>;
|
|
356
|
+
_removeStaffModifier(modifier: StaffModifierBase): void;
|
|
357
|
+
/**
|
|
358
|
+
* Remove selected modifier
|
|
359
|
+
* @param modifier slur, hairpin, etc.
|
|
360
|
+
* @returns
|
|
361
|
+
*/
|
|
362
|
+
removeStaffModifier(modifier: StaffModifierBase): Promise<void>;
|
|
363
|
+
/**
|
|
364
|
+
* Change a staff modifier
|
|
365
|
+
* @param original original version
|
|
366
|
+
* @param modifier modified version
|
|
367
|
+
* @returns
|
|
368
|
+
*/
|
|
369
|
+
addOrUpdateStaffModifier(original: StaffModifierBase, modifier: StaffModifierBase): Promise<void>;
|
|
370
|
+
lineOperation(op: createStaffModifierType<StaffModifierBase>): void;
|
|
371
|
+
/**
|
|
372
|
+
* Add crescendo to selection
|
|
373
|
+
*/
|
|
374
|
+
crescendo(): Promise<void>;
|
|
375
|
+
/**
|
|
376
|
+
* Add crescendo to selection
|
|
377
|
+
*/
|
|
378
|
+
crescendoBracket(): Promise<void>;
|
|
379
|
+
/**
|
|
380
|
+
* Add crescendo to selection
|
|
381
|
+
*/
|
|
382
|
+
dimenuendo(): Promise<void>;
|
|
383
|
+
/**
|
|
384
|
+
* Add crescendo to selection
|
|
385
|
+
*/
|
|
386
|
+
accelerando(): Promise<void>;
|
|
387
|
+
/**
|
|
388
|
+
* Add crescendo to selection
|
|
389
|
+
*/
|
|
390
|
+
ritard(): Promise<void>;
|
|
391
|
+
/**
|
|
392
|
+
* diminuendo hairpin
|
|
393
|
+
* @returns
|
|
394
|
+
*/
|
|
395
|
+
decrescendo(): Promise<void>;
|
|
396
|
+
removeTextBracket(bracket: SmoStaffTextBracket): Promise<void>;
|
|
397
|
+
addOrReplaceStaffModifier(callback: updateStaffModifierFunc, modifier: StaffModifierBase): Promise<void>;
|
|
398
|
+
addOrReplaceTextBracket(modifier: SmoStaffTextBracket): Promise<void>;
|
|
399
|
+
/**
|
|
400
|
+
* Slur selected notes
|
|
401
|
+
* @returns
|
|
402
|
+
*/
|
|
403
|
+
addSlur(): Promise<void>;
|
|
404
|
+
/**
|
|
405
|
+
* tie selected notes
|
|
406
|
+
* @returns
|
|
407
|
+
*/
|
|
408
|
+
tie(): Promise<void>;
|
|
409
|
+
updateZoom(zoomFactor: number): Promise<void>;
|
|
410
|
+
/**
|
|
411
|
+
* set global page for score, zoom etc.
|
|
412
|
+
* @param layout global SVG settings
|
|
413
|
+
* @returns
|
|
414
|
+
*/
|
|
415
|
+
setGlobalLayout(layout: SmoGlobalLayout): Promise<void>;
|
|
416
|
+
/**
|
|
417
|
+
* Set the layout of a single page
|
|
418
|
+
* @param layout page layout
|
|
419
|
+
* @param pageIndex which page to change
|
|
420
|
+
* @returns
|
|
421
|
+
*/
|
|
422
|
+
setPageLayout(layout: SmoPageLayout, pageIndex: number): Promise<void>;
|
|
423
|
+
setPageLayouts(layout: SmoPageLayout, startIndex: number, endIndex: number): Promise<void>;
|
|
424
|
+
/**
|
|
425
|
+
* Update the music font
|
|
426
|
+
* @param family
|
|
427
|
+
* @returns
|
|
428
|
+
*/
|
|
429
|
+
setEngravingFontFamily(family: engravingFontType): Promise<void>;
|
|
430
|
+
/**
|
|
431
|
+
* Upate global font used for chord changes
|
|
432
|
+
* @param fontInfo
|
|
433
|
+
* @returns
|
|
434
|
+
*/
|
|
435
|
+
setChordFont(fontInfo: FontInfo): Promise<void>;
|
|
436
|
+
/**
|
|
437
|
+
* Update font used for lyrics
|
|
438
|
+
* @param fontInfo
|
|
439
|
+
* @returns
|
|
440
|
+
*/
|
|
441
|
+
setLyricFont(fontInfo: FontInfo): Promise<void>;
|
|
442
|
+
/**
|
|
443
|
+
* @param value if false, lyric widths don't affect measure width
|
|
444
|
+
* @returns
|
|
445
|
+
*/
|
|
446
|
+
setLyricAdjustWidth(value: boolean): Promise<void>;
|
|
447
|
+
/**
|
|
448
|
+
* delete selected measures
|
|
449
|
+
* @returns
|
|
450
|
+
*/
|
|
451
|
+
deleteMeasure(): Promise<void>;
|
|
452
|
+
/**
|
|
453
|
+
* add number of measures, with default notes selections
|
|
454
|
+
* @param append
|
|
455
|
+
* @param numberToAdd
|
|
456
|
+
* @returns
|
|
457
|
+
*/
|
|
458
|
+
addMeasures(append: boolean, numberToAdd: number): Promise<void>;
|
|
459
|
+
/**
|
|
460
|
+
* add a single measure before or after selection
|
|
461
|
+
* @param append
|
|
462
|
+
* @returns
|
|
463
|
+
*/
|
|
464
|
+
addMeasure(append: boolean): Promise<void>;
|
|
465
|
+
/**
|
|
466
|
+
* remove an entire line of music
|
|
467
|
+
* @returns
|
|
468
|
+
*/
|
|
469
|
+
removeStaff(): Promise<void>;
|
|
470
|
+
addStaff(instrument: SmoSystemStaffParams): Promise<void>;
|
|
471
|
+
/**
|
|
472
|
+
* Update part info assumes that the part is currently exposed - that
|
|
473
|
+
* staff 0 is the first staff in the part prior to editing.
|
|
474
|
+
* @param info
|
|
475
|
+
*/
|
|
476
|
+
updatePartInfo(info: SmoPartInfo): Promise<void>;
|
|
477
|
+
/**
|
|
478
|
+
* A simpler API for applications to add a new staff to the score.
|
|
479
|
+
* @param params - the instrument, which determines clef, etc.
|
|
480
|
+
* @returns
|
|
481
|
+
*/
|
|
482
|
+
addStaffSimple(params: Partial<SmoInstrumentParams>): Promise<void>;
|
|
483
|
+
/**
|
|
484
|
+
* Save the score to local storage.
|
|
485
|
+
*/
|
|
486
|
+
quickSave(): void;
|
|
487
|
+
updateRepeatCount(count: number): Promise<any>;
|
|
488
|
+
/**
|
|
489
|
+
* Update the measure formatting parameters for the current selection
|
|
490
|
+
* @param format generic measure formatting parameters
|
|
491
|
+
* @returns
|
|
492
|
+
*/
|
|
493
|
+
setMeasureFormat(format: SmoMeasureFormat): Promise<any>;
|
|
494
|
+
/**
|
|
495
|
+
* Remove system breaks from the measure formatting for selected measures
|
|
496
|
+
* @returns
|
|
497
|
+
*/
|
|
498
|
+
removeSystemBreaks(): Promise<any>;
|
|
499
|
+
renumberMeasures(measureIndex: number, localIndex: number): Promise<void>;
|
|
500
|
+
/**
|
|
501
|
+
* Play the music from the starting selection
|
|
502
|
+
* @returns
|
|
503
|
+
*/
|
|
504
|
+
playFromSelection(): Promise<void>;
|
|
505
|
+
stopPlayer(): void;
|
|
506
|
+
pausePlayer(): void;
|
|
507
|
+
/**
|
|
508
|
+
* Proxy calls to move the tracker parameters according to the
|
|
509
|
+
* rules of the 'Home' key (depending on shift/ctrl/alt)
|
|
510
|
+
* @param ev
|
|
511
|
+
* @returns
|
|
512
|
+
*/
|
|
513
|
+
moveHome(ev: KeyEvent): Promise<any>;
|
|
514
|
+
/**
|
|
515
|
+
* Proxy calls to move the tracker parameters according to the
|
|
516
|
+
* rules of the 'End' key (depending on shift/ctrl/alt)
|
|
517
|
+
* @param ev
|
|
518
|
+
* @returns
|
|
519
|
+
*/
|
|
520
|
+
moveEnd(ev: KeyEvent): Promise<any>;
|
|
521
|
+
/**
|
|
522
|
+
* Grow the current selection by one to the left, if possible
|
|
523
|
+
* @param ev
|
|
524
|
+
* @returns
|
|
525
|
+
*/
|
|
526
|
+
growSelectionLeft(): Promise<any>;
|
|
527
|
+
/**
|
|
528
|
+
* Grow the current selection by one to the right, if possible
|
|
529
|
+
* @param ev
|
|
530
|
+
* @returns
|
|
531
|
+
*/
|
|
532
|
+
growSelectionRight(): Promise<any>;
|
|
533
|
+
/**
|
|
534
|
+
* Select the next tabbable modifier near one of the selected notes
|
|
535
|
+
* @param keyEv
|
|
536
|
+
* @returns
|
|
537
|
+
*/
|
|
538
|
+
advanceModifierSelection(keyEv: KeyEvent): Promise<any>;
|
|
539
|
+
/**
|
|
540
|
+
* Select the next entire measure, if possible
|
|
541
|
+
* @returns
|
|
542
|
+
*/
|
|
543
|
+
growSelectionRightMeasure(): Promise<any>;
|
|
544
|
+
/**
|
|
545
|
+
* Advance cursor forwards, if possible
|
|
546
|
+
* @param ev
|
|
547
|
+
* @returns
|
|
548
|
+
*/
|
|
549
|
+
moveSelectionRight(): Promise<any>;
|
|
550
|
+
/**
|
|
551
|
+
* Advance cursor backwards, if possible
|
|
552
|
+
* @param ev
|
|
553
|
+
* @returns
|
|
554
|
+
*/
|
|
555
|
+
moveSelectionLeft(): Promise<any>;
|
|
556
|
+
/**
|
|
557
|
+
* Advance cursor back entire measure, if possible
|
|
558
|
+
* @returns
|
|
559
|
+
*/
|
|
560
|
+
moveSelectionLeftMeasure(): Promise<any>;
|
|
561
|
+
/**
|
|
562
|
+
* Advance cursor forward one measure, if possible
|
|
563
|
+
* @returns
|
|
564
|
+
*/
|
|
565
|
+
moveSelectionRightMeasure(): Promise<any>;
|
|
566
|
+
/**
|
|
567
|
+
* Move cursor to a higher pitch in the current chord, with wrap
|
|
568
|
+
* @returns
|
|
569
|
+
*/
|
|
570
|
+
moveSelectionPitchUp(): Promise<any>;
|
|
571
|
+
/**
|
|
572
|
+
* Move cursor to a lower pitch in the current chord, with wrap
|
|
573
|
+
*/
|
|
574
|
+
moveSelectionPitchDown(): Promise<any>;
|
|
575
|
+
/**
|
|
576
|
+
* Move cursor up a staff in the system, if possible
|
|
577
|
+
* @returns
|
|
578
|
+
*/
|
|
579
|
+
moveSelectionUp(): Promise<any>;
|
|
580
|
+
/**
|
|
581
|
+
* Move cursor down a staff in the system, if possible
|
|
582
|
+
* @returns
|
|
583
|
+
*/
|
|
584
|
+
moveSelectionDown(): Promise<any>;
|
|
585
|
+
/**
|
|
586
|
+
* Set the current suggestions (hover element) as the selection
|
|
587
|
+
* @returns
|
|
588
|
+
*/
|
|
589
|
+
selectSuggestion(evData: KeyEvent): Promise<any>;
|
|
590
|
+
/**
|
|
591
|
+
* Find an element at the given box, and make it the current selection
|
|
592
|
+
* */
|
|
593
|
+
intersectingArtifact(evData: SvgBox): Promise<any>;
|
|
594
|
+
}
|