smoosic 1.0.34 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/build/html/smoosic.html +1 -0
  2. package/build/smoosic.js +36 -14
  3. package/package.json +1 -1
  4. package/release/html/smoosic.html +4 -3
  5. package/release/smoosic.js +36 -14
  6. package/release/styles/general.css +15 -0
  7. package/src/application/common.ts +20 -0
  8. package/src/application/eventHandler.ts +44 -8
  9. package/src/render/sui/NoteEntryCaret.ts +739 -0
  10. package/src/render/sui/NoteEntryMediator.ts +58 -0
  11. package/src/render/sui/mapper.ts +22 -4
  12. package/src/render/sui/scoreRender.ts +7 -7
  13. package/src/render/sui/scoreViewOperations.ts +46 -0
  14. package/src/render/sui/tracker.ts +93 -47
  15. package/src/render/vex/vxMeasure.ts +2 -1
  16. package/src/render/vex/vxNote.ts +1 -0
  17. package/src/smo/data/music.ts +17 -0
  18. package/src/smo/data/note.ts +3 -1
  19. package/src/smo/data/noteModifiers.ts +2 -0
  20. package/src/smo/data/scoreModifiers.ts +0 -3
  21. package/src/styles/general.css +22 -0
  22. package/src/ui/components/dialogs/scorePreferences.vue +1 -11
  23. package/types/src/application/application.d.ts +102 -102
  24. package/types/src/application/configuration.d.ts +74 -74
  25. package/types/src/application/dynamicInit.d.ts +1 -1
  26. package/types/src/application/eventHandler.d.ts +78 -78
  27. package/types/src/application/exports.d.ts +494 -494
  28. package/types/src/render/audio/oscillator.d.ts +98 -98
  29. package/types/src/render/audio/player.d.ts +141 -141
  30. package/types/src/render/audio/samples.d.ts +56 -56
  31. package/types/src/render/sui/configuration.d.ts +12 -12
  32. package/types/src/render/sui/formatter.d.ts +151 -151
  33. package/types/src/render/sui/layoutDebug.d.ts +43 -43
  34. package/types/src/render/sui/mapper.d.ts +116 -116
  35. package/types/src/render/sui/renderState.d.ts +88 -88
  36. package/types/src/render/sui/scoreRender.d.ts +93 -93
  37. package/types/src/render/sui/scoreView.d.ts +267 -267
  38. package/types/src/render/sui/scoreViewOperations.d.ts +594 -594
  39. package/types/src/render/sui/scroller.d.ts +34 -34
  40. package/types/src/render/sui/svgPageMap.d.ts +318 -318
  41. package/types/src/render/sui/textEdit.d.ts +310 -310
  42. package/types/src/render/vex/vxMeasure.d.ts +95 -95
  43. package/types/src/smo/data/common.d.ts +220 -220
  44. package/types/src/smo/data/measure.d.ts +510 -510
  45. package/types/src/smo/data/measureModifiers.d.ts +506 -506
  46. package/types/src/smo/data/scoreModifiers.d.ts +433 -433
  47. package/types/src/smo/xform/selections.d.ts +153 -153
  48. package/types/src/ui/common.d.ts +45 -45
  49. package/types/src/ui/configuration.d.ts +31 -31
  50. package/types/src/ui/dialogs/chordChange.d.ts +35 -35
  51. package/types/src/ui/dialogs/components/baseComponent.d.ts +158 -158
  52. package/types/src/ui/dialogs/components/button.d.ts +54 -54
  53. package/types/src/ui/dialogs/components/dropdown.d.ts +78 -78
  54. package/types/src/ui/dialogs/components/pitch.d.ts +95 -95
  55. package/types/src/ui/dialogs/components/rocker.d.ts +66 -66
  56. package/types/src/ui/dialogs/components/textInPlace.d.ts +90 -90
  57. package/types/src/ui/dialogs/components/textInput.d.ts +58 -58
  58. package/types/src/ui/dialogs/components/toggle.d.ts +53 -53
  59. package/types/src/ui/dialogs/dialog.d.ts +201 -201
  60. package/types/src/ui/dialogs/endings.d.ts +61 -61
  61. package/types/src/ui/dialogs/lyric.d.ts +39 -39
  62. package/types/src/ui/dialogs/measureFormat.d.ts +52 -52
  63. package/types/src/ui/dialogs/textBlock.d.ts +61 -61
  64. package/types/src/ui/exceptions.d.ts +12 -12
  65. package/types/src/ui/menus/manager.d.ts +57 -57
  66. package/types/src/ui/navigation.d.ts +15 -15
  67. package/types/typedoc.d.ts +158 -158
  68. package/release/styles/styles.css +0 -0
  69. package/src/styles/fonts/Roboto-Italic-VariableFont_wdth,wght.ttf +0 -0
  70. package/src/styles/fonts/Roboto-VariableFont_wdth,wght.ttf +0 -0
  71. package/src/styles/styles.css +0 -0
@@ -1,310 +1,310 @@
1
- import { SuiInlineText, SuiTextBlock } from './textRender';
2
- import { SuiRenderState } from './renderState';
3
- import { SuiScroller } from './scroller';
4
- import { OutlineInfo, StrokeInfo } from './svgHelpers';
5
- import { SmoScoreText, SmoTextGroup } from '../../smo/data/scoreText';
6
- import { SmoLyric } from '../../smo/data/noteModifiers';
7
- import { SmoSelector } from '../../smo/xform/selections';
8
- import { SvgBox, KeyEvent } from '../../smo/data/common';
9
- import { SmoNote } from '../../smo/data/note';
10
- import { SmoScore } from '../../smo/data/score';
11
- import { SmoSelection } from '../../smo/xform/selections';
12
- import { SvgPage } from './svgPageMap';
13
- import { SuiScoreViewOperations } from './scoreViewOperations';
14
- import { SvgPageMap } from './svgPageMap';
15
- /**
16
- * Basic parameters to create a text editor
17
- * @category SuiRender
18
- * @param context Vex renderer context
19
- * @param scroller
20
- * @param x initial x position
21
- * @param y initial y position
22
- * @param text initial text
23
- */
24
- export interface SuiTextEditorParams {
25
- pageMap: SvgPageMap;
26
- context: SvgPage;
27
- scroller: SuiScroller;
28
- x: number;
29
- y: number;
30
- text: string;
31
- }
32
- /**
33
- * @category SuiRender
34
- */
35
- export interface SuiLyricEditorParams extends SuiTextEditorParams {
36
- lyric: SmoLyric;
37
- }
38
- /**
39
- * @category SuiRender
40
- */
41
- export interface SuiTextSessionParams {
42
- scroller: SuiScroller;
43
- renderer: SuiRenderState;
44
- scoreText: SmoScoreText;
45
- text: string;
46
- x: number;
47
- y: number;
48
- textGroup: SmoTextGroup;
49
- }
50
- /**
51
- * @category SuiRender
52
- */
53
- export interface SuiLyricSessionParams {
54
- score: SmoScore;
55
- renderer: SuiRenderState;
56
- scroller: SuiScroller;
57
- view: SuiScoreViewOperations;
58
- verse: number;
59
- selector: SmoSelector;
60
- }
61
- export type SuiTextStrokeName = 'text-suggestion' | 'text-selection' | 'text-highlight' | 'text-drag' | 'inactive-text';
62
- /**
63
- * The heirarchy of text editing objects goes:
64
- *
65
- * `dialog -> component -> session -> editor`
66
- *
67
- * Editors and Sessions are defined in this module.
68
- * ### editor
69
- * handles low-level events and renders the preview using one
70
- * of the text layout objects.
71
- * ### session
72
- * creates and destroys editors, e.g. for lyrics that have a Different
73
- * editor instance for each note.
74
- *
75
- * ## SuiTextEditor
76
- * The base text editor handles the positioning and inserting
77
- * of text blocks into the text area. The derived class shoud interpret key events.
78
- * A container class will manage the session for starting/stopping the editor
79
- * and retrieving the results into the target object.
80
- * @category SuiRender
81
- * */
82
- export declare class SuiTextEditor {
83
- static get States(): Record<string, number>;
84
- static textTypeToChar(textType: number): string;
85
- static textTypeFromChar(char: string): number;
86
- svgText: SuiInlineText | null;
87
- context: SvgPage;
88
- outlineInfo: OutlineInfo | null;
89
- pageMap: SvgPageMap;
90
- x: number;
91
- y: number;
92
- text: string;
93
- textPos: number;
94
- selectionStart: number;
95
- selectionLength: number;
96
- empty: boolean;
97
- scroller: SuiScroller;
98
- suggestionIndex: number;
99
- cursorState: boolean;
100
- cursorRunning: boolean;
101
- textType: number;
102
- fontWeight: string;
103
- fontFamily: string;
104
- fontSize: number;
105
- state: number;
106
- suggestionRect: OutlineInfo | null;
107
- constructor(params: SuiTextEditorParams);
108
- static get strokes(): Record<SuiTextStrokeName, StrokeInfo>;
109
- _suggestionParameters(box: SvgBox, strokeName: SuiTextStrokeName): OutlineInfo;
110
- _expandSelectionToSuggestion(): void;
111
- _setSelectionToSugggestion(): void;
112
- rerender(): void;
113
- handleMouseEvent(ev: any): boolean;
114
- _serviceCursor(): void;
115
- _refreshCursor(): void;
116
- get _endCursorCondition(): boolean;
117
- _cursorPreResolve(): void;
118
- _cursorPoll(): void;
119
- startCursorPromise(): Promise<void>;
120
- stopCursor(): void;
121
- setTextPos(val: number): void;
122
- moveCursorRight(): void;
123
- moveCursorLeft(): void;
124
- _updateSelections(): void;
125
- _checkGrowSelectionLeft(): void;
126
- _checkGrowSelectionRight(): void;
127
- growSelectionLeft(): void;
128
- growSelectionRight(): void;
129
- _clearSelections(): void;
130
- deleteSelections(): void;
131
- parseBlocks(): void;
132
- evKey(evdata: KeyEvent): Promise<boolean>;
133
- }
134
- /**
135
- * @category SuiRender
136
- */
137
- export declare class SuiTextBlockEditor extends SuiTextEditor {
138
- constructor(params: SuiTextEditorParams);
139
- _highlightEditor(): void;
140
- getText(): string;
141
- evKey(evdata: any): Promise<boolean>;
142
- stopEditor(): void;
143
- }
144
- export declare class SuiLyricEditor extends SuiTextEditor {
145
- static get States(): {
146
- RUNNING: number;
147
- STOPPING: number;
148
- STOPPED: number;
149
- };
150
- parseBlocks(): void;
151
- getText(): string;
152
- lyric: SmoLyric;
153
- state: number;
154
- constructor(params: SuiLyricEditorParams);
155
- stopEditor(): void;
156
- }
157
- /**
158
- * @category SuiRender
159
- */
160
- export declare class SuiChordEditor extends SuiTextEditor {
161
- static get States(): {
162
- RUNNING: number;
163
- STOPPING: number;
164
- STOPPED: number;
165
- };
166
- static get SymbolModifiers(): {
167
- NONE: number;
168
- SUBSCRIPT: number;
169
- SUPERSCRIPT: number;
170
- };
171
- static toTextTypeChar(oldTextType: number, newTextType: number): string;
172
- static toTextTypeTransition(oldTextType: number, result: number): string;
173
- setTextType(textType: number): void;
174
- _updateSymbolModifiers(): void;
175
- _setSymbolModifier(char: string): boolean;
176
- parseBlocks(): void;
177
- getText(): string;
178
- _addGlyphAt(ix: number, code: string): void;
179
- unrender(): void;
180
- evKey(evdata: any): Promise<boolean>;
181
- lyric: SmoLyric;
182
- constructor(params: SuiLyricEditorParams);
183
- stopEditor(): void;
184
- _markStopped(): void;
185
- }
186
- export interface SuiDragSessionParams {
187
- context: SvgPageMap;
188
- scroller: SuiScroller;
189
- textGroup: SmoTextGroup;
190
- }
191
- /**
192
- * @category SuiRender
193
- */
194
- export declare class SuiDragSession {
195
- pageMap: SvgPageMap;
196
- page: SvgPage;
197
- scroller: SuiScroller;
198
- outlineBox: SvgBox;
199
- textObject: SuiTextBlock;
200
- dragging: boolean;
201
- outlineRect: OutlineInfo | null;
202
- textGroup: SmoTextGroup;
203
- constructor(params: SuiDragSessionParams);
204
- _outlineBox(): void;
205
- unrender(): void;
206
- scrolledClientBox(x: number, y: number): {
207
- x: number;
208
- y: number;
209
- width: number;
210
- height: number;
211
- };
212
- checkBounds(): void;
213
- startDrag(e: any): void;
214
- mouseMove(e: any): void;
215
- endDrag(): void;
216
- }
217
- /**
218
- * session for editing plain text
219
- * @category SuiRender
220
- */
221
- export declare class SuiTextSession {
222
- static get States(): {
223
- RUNNING: number;
224
- STOPPING: number;
225
- STOPPED: number;
226
- PENDING_EDITOR: number;
227
- };
228
- scroller: SuiScroller;
229
- scoreText: SmoScoreText;
230
- text: string;
231
- x: number;
232
- y: number;
233
- textGroup: SmoTextGroup;
234
- fontFamily: string;
235
- fontWeight: string;
236
- fontSize: number;
237
- state: number;
238
- editor: SuiTextBlockEditor | null;
239
- renderer: SuiRenderState;
240
- cursorPromise: Promise<any> | null;
241
- constructor(params: SuiTextSessionParams);
242
- get _isRefreshed(): boolean;
243
- get isStopped(): boolean;
244
- get isRunning(): boolean;
245
- _markStopped(): void;
246
- get _isRendered(): boolean;
247
- _removeScoreText(): void;
248
- startSession(): void;
249
- stopSession(): Promise<void>;
250
- evKey(evdata: KeyEvent): Promise<boolean>;
251
- handleMouseEvent(ev: any): void;
252
- }
253
- /**
254
- * Manage editor for lyrics, jupmping from note to note if asked
255
- * @category SuiRender
256
- */
257
- export declare class SuiLyricSession {
258
- static get States(): {
259
- RUNNING: number;
260
- STOPPING: number;
261
- STOPPED: number;
262
- PENDING_EDITOR: number;
263
- };
264
- score: SmoScore;
265
- renderer: SuiRenderState;
266
- scroller: SuiScroller;
267
- view: SuiScoreViewOperations;
268
- parser: number;
269
- verse: number;
270
- selector: SmoSelector;
271
- selection: SmoSelection | null;
272
- note: SmoNote | null;
273
- originalText: string;
274
- lyric: SmoLyric | null;
275
- text: string;
276
- editor: SuiLyricEditor | null;
277
- state: number;
278
- cursorPromise: Promise<any> | null;
279
- constructor(params: SuiLyricSessionParams);
280
- _setLyricForNote(): void;
281
- get _endLyricCondition(): boolean;
282
- get _isRefreshed(): boolean;
283
- get _isRendered(): boolean;
284
- get _pendingEditor(): boolean;
285
- _hideLyric(): void;
286
- get isStopped(): boolean;
287
- get isRunning(): boolean;
288
- _markStopped(): void;
289
- _startSessionForNote(): void;
290
- startSession(): void;
291
- stopSession(): Promise<void>;
292
- _advanceSelection(isShift: boolean): Promise<void>;
293
- advanceSelection(isShift: boolean): Promise<void>;
294
- removeLyric(): Promise<void>;
295
- _updateLyricFromEditor(): Promise<void>;
296
- evKey(evdata: any): Promise<boolean>;
297
- get textType(): number;
298
- set textType(type: number);
299
- handleMouseEvent(ev: any): void;
300
- }
301
- /**
302
- * @category SuiRender
303
- */
304
- export declare class SuiChordSession extends SuiLyricSession {
305
- editor: SuiLyricEditor | null;
306
- constructor(params: SuiLyricSessionParams);
307
- evKey(evdata: KeyEvent): Promise<boolean>;
308
- _setLyricForNote(): void;
309
- _startSessionForNote(): void;
310
- }
1
+ import { SuiInlineText, SuiTextBlock } from './textRender';
2
+ import { SuiRenderState } from './renderState';
3
+ import { SuiScroller } from './scroller';
4
+ import { OutlineInfo, StrokeInfo } from './svgHelpers';
5
+ import { SmoScoreText, SmoTextGroup } from '../../smo/data/scoreText';
6
+ import { SmoLyric } from '../../smo/data/noteModifiers';
7
+ import { SmoSelector } from '../../smo/xform/selections';
8
+ import { SvgBox, KeyEvent } from '../../smo/data/common';
9
+ import { SmoNote } from '../../smo/data/note';
10
+ import { SmoScore } from '../../smo/data/score';
11
+ import { SmoSelection } from '../../smo/xform/selections';
12
+ import { SvgPage } from './svgPageMap';
13
+ import { SuiScoreViewOperations } from './scoreViewOperations';
14
+ import { SvgPageMap } from './svgPageMap';
15
+ /**
16
+ * Basic parameters to create a text editor
17
+ * @category SuiRender
18
+ * @param context Vex renderer context
19
+ * @param scroller
20
+ * @param x initial x position
21
+ * @param y initial y position
22
+ * @param text initial text
23
+ */
24
+ export interface SuiTextEditorParams {
25
+ pageMap: SvgPageMap;
26
+ context: SvgPage;
27
+ scroller: SuiScroller;
28
+ x: number;
29
+ y: number;
30
+ text: string;
31
+ }
32
+ /**
33
+ * @category SuiRender
34
+ */
35
+ export interface SuiLyricEditorParams extends SuiTextEditorParams {
36
+ lyric: SmoLyric;
37
+ }
38
+ /**
39
+ * @category SuiRender
40
+ */
41
+ export interface SuiTextSessionParams {
42
+ scroller: SuiScroller;
43
+ renderer: SuiRenderState;
44
+ scoreText: SmoScoreText;
45
+ text: string;
46
+ x: number;
47
+ y: number;
48
+ textGroup: SmoTextGroup;
49
+ }
50
+ /**
51
+ * @category SuiRender
52
+ */
53
+ export interface SuiLyricSessionParams {
54
+ score: SmoScore;
55
+ renderer: SuiRenderState;
56
+ scroller: SuiScroller;
57
+ view: SuiScoreViewOperations;
58
+ verse: number;
59
+ selector: SmoSelector;
60
+ }
61
+ export type SuiTextStrokeName = 'text-suggestion' | 'text-selection' | 'text-highlight' | 'text-drag' | 'inactive-text';
62
+ /**
63
+ * The heirarchy of text editing objects goes:
64
+ *
65
+ * `dialog -> component -> session -> editor`
66
+ *
67
+ * Editors and Sessions are defined in this module.
68
+ * ### editor
69
+ * handles low-level events and renders the preview using one
70
+ * of the text layout objects.
71
+ * ### session
72
+ * creates and destroys editors, e.g. for lyrics that have a Different
73
+ * editor instance for each note.
74
+ *
75
+ * ## SuiTextEditor
76
+ * The base text editor handles the positioning and inserting
77
+ * of text blocks into the text area. The derived class shoud interpret key events.
78
+ * A container class will manage the session for starting/stopping the editor
79
+ * and retrieving the results into the target object.
80
+ * @category SuiRender
81
+ * */
82
+ export declare class SuiTextEditor {
83
+ static get States(): Record<string, number>;
84
+ static textTypeToChar(textType: number): string;
85
+ static textTypeFromChar(char: string): number;
86
+ svgText: SuiInlineText | null;
87
+ context: SvgPage;
88
+ outlineInfo: OutlineInfo | null;
89
+ pageMap: SvgPageMap;
90
+ x: number;
91
+ y: number;
92
+ text: string;
93
+ textPos: number;
94
+ selectionStart: number;
95
+ selectionLength: number;
96
+ empty: boolean;
97
+ scroller: SuiScroller;
98
+ suggestionIndex: number;
99
+ cursorState: boolean;
100
+ cursorRunning: boolean;
101
+ textType: number;
102
+ fontWeight: string;
103
+ fontFamily: string;
104
+ fontSize: number;
105
+ state: number;
106
+ suggestionRect: OutlineInfo | null;
107
+ constructor(params: SuiTextEditorParams);
108
+ static get strokes(): Record<SuiTextStrokeName, StrokeInfo>;
109
+ _suggestionParameters(box: SvgBox, strokeName: SuiTextStrokeName): OutlineInfo;
110
+ _expandSelectionToSuggestion(): void;
111
+ _setSelectionToSugggestion(): void;
112
+ rerender(): void;
113
+ handleMouseEvent(ev: any): boolean;
114
+ _serviceCursor(): void;
115
+ _refreshCursor(): void;
116
+ get _endCursorCondition(): boolean;
117
+ _cursorPreResolve(): void;
118
+ _cursorPoll(): void;
119
+ startCursorPromise(): Promise<void>;
120
+ stopCursor(): void;
121
+ setTextPos(val: number): void;
122
+ moveCursorRight(): void;
123
+ moveCursorLeft(): void;
124
+ _updateSelections(): void;
125
+ _checkGrowSelectionLeft(): void;
126
+ _checkGrowSelectionRight(): void;
127
+ growSelectionLeft(): void;
128
+ growSelectionRight(): void;
129
+ _clearSelections(): void;
130
+ deleteSelections(): void;
131
+ parseBlocks(): void;
132
+ evKey(evdata: KeyEvent): Promise<boolean>;
133
+ }
134
+ /**
135
+ * @category SuiRender
136
+ */
137
+ export declare class SuiTextBlockEditor extends SuiTextEditor {
138
+ constructor(params: SuiTextEditorParams);
139
+ _highlightEditor(): void;
140
+ getText(): string;
141
+ evKey(evdata: any): Promise<boolean>;
142
+ stopEditor(): void;
143
+ }
144
+ export declare class SuiLyricEditor extends SuiTextEditor {
145
+ static get States(): {
146
+ RUNNING: number;
147
+ STOPPING: number;
148
+ STOPPED: number;
149
+ };
150
+ parseBlocks(): void;
151
+ getText(): string;
152
+ lyric: SmoLyric;
153
+ state: number;
154
+ constructor(params: SuiLyricEditorParams);
155
+ stopEditor(): void;
156
+ }
157
+ /**
158
+ * @category SuiRender
159
+ */
160
+ export declare class SuiChordEditor extends SuiTextEditor {
161
+ static get States(): {
162
+ RUNNING: number;
163
+ STOPPING: number;
164
+ STOPPED: number;
165
+ };
166
+ static get SymbolModifiers(): {
167
+ NONE: number;
168
+ SUBSCRIPT: number;
169
+ SUPERSCRIPT: number;
170
+ };
171
+ static toTextTypeChar(oldTextType: number, newTextType: number): string;
172
+ static toTextTypeTransition(oldTextType: number, result: number): string;
173
+ setTextType(textType: number): void;
174
+ _updateSymbolModifiers(): void;
175
+ _setSymbolModifier(char: string): boolean;
176
+ parseBlocks(): void;
177
+ getText(): string;
178
+ _addGlyphAt(ix: number, code: string): void;
179
+ unrender(): void;
180
+ evKey(evdata: any): Promise<boolean>;
181
+ lyric: SmoLyric;
182
+ constructor(params: SuiLyricEditorParams);
183
+ stopEditor(): void;
184
+ _markStopped(): void;
185
+ }
186
+ export interface SuiDragSessionParams {
187
+ context: SvgPageMap;
188
+ scroller: SuiScroller;
189
+ textGroup: SmoTextGroup;
190
+ }
191
+ /**
192
+ * @category SuiRender
193
+ */
194
+ export declare class SuiDragSession {
195
+ pageMap: SvgPageMap;
196
+ page: SvgPage;
197
+ scroller: SuiScroller;
198
+ outlineBox: SvgBox;
199
+ textObject: SuiTextBlock;
200
+ dragging: boolean;
201
+ outlineRect: OutlineInfo | null;
202
+ textGroup: SmoTextGroup;
203
+ constructor(params: SuiDragSessionParams);
204
+ _outlineBox(): void;
205
+ unrender(): void;
206
+ scrolledClientBox(x: number, y: number): {
207
+ x: number;
208
+ y: number;
209
+ width: number;
210
+ height: number;
211
+ };
212
+ checkBounds(): void;
213
+ startDrag(e: any): void;
214
+ mouseMove(e: any): void;
215
+ endDrag(): void;
216
+ }
217
+ /**
218
+ * session for editing plain text
219
+ * @category SuiRender
220
+ */
221
+ export declare class SuiTextSession {
222
+ static get States(): {
223
+ RUNNING: number;
224
+ STOPPING: number;
225
+ STOPPED: number;
226
+ PENDING_EDITOR: number;
227
+ };
228
+ scroller: SuiScroller;
229
+ scoreText: SmoScoreText;
230
+ text: string;
231
+ x: number;
232
+ y: number;
233
+ textGroup: SmoTextGroup;
234
+ fontFamily: string;
235
+ fontWeight: string;
236
+ fontSize: number;
237
+ state: number;
238
+ editor: SuiTextBlockEditor | null;
239
+ renderer: SuiRenderState;
240
+ cursorPromise: Promise<any> | null;
241
+ constructor(params: SuiTextSessionParams);
242
+ get _isRefreshed(): boolean;
243
+ get isStopped(): boolean;
244
+ get isRunning(): boolean;
245
+ _markStopped(): void;
246
+ get _isRendered(): boolean;
247
+ _removeScoreText(): void;
248
+ startSession(): void;
249
+ stopSession(): Promise<void>;
250
+ evKey(evdata: KeyEvent): Promise<boolean>;
251
+ handleMouseEvent(ev: any): void;
252
+ }
253
+ /**
254
+ * Manage editor for lyrics, jupmping from note to note if asked
255
+ * @category SuiRender
256
+ */
257
+ export declare class SuiLyricSession {
258
+ static get States(): {
259
+ RUNNING: number;
260
+ STOPPING: number;
261
+ STOPPED: number;
262
+ PENDING_EDITOR: number;
263
+ };
264
+ score: SmoScore;
265
+ renderer: SuiRenderState;
266
+ scroller: SuiScroller;
267
+ view: SuiScoreViewOperations;
268
+ parser: number;
269
+ verse: number;
270
+ selector: SmoSelector;
271
+ selection: SmoSelection | null;
272
+ note: SmoNote | null;
273
+ originalText: string;
274
+ lyric: SmoLyric | null;
275
+ text: string;
276
+ editor: SuiLyricEditor | null;
277
+ state: number;
278
+ cursorPromise: Promise<any> | null;
279
+ constructor(params: SuiLyricSessionParams);
280
+ _setLyricForNote(): void;
281
+ get _endLyricCondition(): boolean;
282
+ get _isRefreshed(): boolean;
283
+ get _isRendered(): boolean;
284
+ get _pendingEditor(): boolean;
285
+ _hideLyric(): void;
286
+ get isStopped(): boolean;
287
+ get isRunning(): boolean;
288
+ _markStopped(): void;
289
+ _startSessionForNote(): void;
290
+ startSession(): void;
291
+ stopSession(): Promise<void>;
292
+ _advanceSelection(isShift: boolean): Promise<void>;
293
+ advanceSelection(isShift: boolean): Promise<void>;
294
+ removeLyric(): Promise<void>;
295
+ _updateLyricFromEditor(): Promise<void>;
296
+ evKey(evdata: any): Promise<boolean>;
297
+ get textType(): number;
298
+ set textType(type: number);
299
+ handleMouseEvent(ev: any): void;
300
+ }
301
+ /**
302
+ * @category SuiRender
303
+ */
304
+ export declare class SuiChordSession extends SuiLyricSession {
305
+ editor: SuiLyricEditor | null;
306
+ constructor(params: SuiLyricSessionParams);
307
+ evKey(evdata: KeyEvent): Promise<boolean>;
308
+ _setLyricForNote(): void;
309
+ _startSessionForNote(): void;
310
+ }