deciphony-renderer 0.0.29 → 0.0.34
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/dist/components/beam.d.ts +6 -0
- package/dist/components/group.d.ts +11 -0
- package/dist/components/musicScore.d.ts +1171 -0
- package/dist/components/slur.d.ts +5 -108
- package/dist/components/volta.d.ts +5 -68
- package/dist/constants/renderRules.d.ts +48 -0
- package/dist/deciphony-renderer.css +1 -1
- package/dist/enums/musicScoreEnum.d.ts +179 -0
- package/dist/index.cjs.js +813 -12
- package/dist/index.d.ts +11 -12
- package/dist/index.es.js +6281 -4337
- package/dist/numberNotation/enums/numberNotationEnum.d.ts +0 -0
- package/dist/numberNotation/enums/numberNotationSkinKeyEnum.d.ts +137 -0
- package/dist/numberNotation/render/affiliated/renderDoubleAffiliatedSymbol.d.ts +3 -0
- package/dist/numberNotation/render/beam/beamSlope.d.ts +28 -0
- package/dist/numberNotation/render/beam/processBeam.d.ts +14 -0
- package/dist/numberNotation/render/constants.d.ts +41 -0
- package/dist/numberNotation/render/doubleAffiliatedSymbol.d.ts +0 -0
- package/dist/numberNotation/render/grace/renderGraceNumber.d.ts +22 -0
- package/dist/numberNotation/render/musicScoreToVDom.d.ts +2 -0
- package/dist/numberNotation/render/musicScoreToVDomImpl.d.ts +6 -0
- package/dist/numberNotation/render/note/renderStemAndTail.d.ts +3 -0
- package/dist/numberNotation/render/symbol/renderSymbol.d.ts +7 -0
- package/dist/numberNotation/render/types.d.ts +23 -0
- package/dist/numberNotation/render/utils/note.d.ts +16 -0
- package/dist/numberNotation/render/utils/noteLayout.d.ts +7 -0
- package/dist/numberNotation/render/utils/skinKey.d.ts +20 -0
- package/dist/numberNotation/render/utils/slot.d.ts +4 -0
- package/dist/render/affiliated/engine.d.ts +20 -0
- package/dist/render/affiliated/index.d.ts +1 -0
- package/dist/render/graceNote.d.ts +28 -0
- package/dist/render/repeat/renderMeasureRepeat.d.ts +16 -0
- package/dist/render/repeat/repeatSkinKey.d.ts +7 -0
- package/dist/render/skinContent.d.ts +12 -0
- package/dist/render/update.d.ts +14 -0
- package/dist/render/vdomScale.d.ts +14 -0
- package/dist/skins/defaultSkin.d.ts +4 -0
- package/dist/standardStaff/enums/standardStaffEnum.d.ts +0 -0
- package/dist/standardStaff/enums/standardStaffSkinKeyEnum.d.ts +154 -0
- package/dist/standardStaff/render/affiliated/renderDoubleAffiliatedSymbol.d.ts +3 -0
- package/dist/standardStaff/render/beam/beamSlope.d.ts +28 -0
- package/dist/standardStaff/render/beam/processBeam.d.ts +15 -0
- package/dist/standardStaff/render/beam/processGraceBeam.d.ts +15 -0
- package/dist/standardStaff/render/constants.d.ts +23 -0
- package/dist/standardStaff/render/doubleAffiliatedSymbol.d.ts +0 -0
- package/dist/standardStaff/render/grace/renderGraceStaff.d.ts +25 -0
- package/dist/standardStaff/render/musicScoreToVDom.d.ts +2 -0
- package/dist/standardStaff/render/musicScoreToVDomImpl.d.ts +6 -0
- package/dist/standardStaff/render/note/renderStemAndTail.d.ts +29 -0
- package/dist/standardStaff/render/symbol/renderSymbol.d.ts +7 -0
- package/dist/standardStaff/render/types.d.ts +23 -0
- package/dist/standardStaff/render/utils/addLine.d.ts +10 -0
- package/dist/standardStaff/render/utils/note.d.ts +26 -0
- package/dist/standardStaff/render/utils/skinKey.d.ts +25 -0
- package/dist/standardStaff/render/utils/slot.d.ts +4 -0
- package/dist/types/MusicScoreType.d.ts +191 -0
- package/dist/types/common.d.ts +105 -0
- package/dist/utils/widthRatio.d.ts +5 -0
- package/package.json +1 -1
- package/dist/assets/assets/msSymbols/1.svg +0 -7
- package/dist/assets/assets/msSymbols/1_active.svg +0 -7
- package/dist/assets/assets/msSymbols/2.svg +0 -7
- package/dist/assets/assets/msSymbols/2_active.svg +0 -7
- package/dist/assets/assets/msSymbols/3.svg +0 -7
- package/dist/assets/assets/msSymbols/3_active.svg +0 -7
- package/dist/assets/assets/msSymbols/4.svg +0 -7
- package/dist/assets/assets/msSymbols/4_active.svg +0 -7
- package/dist/assets/assets/msSymbols/5.svg +0 -7
- package/dist/assets/assets/msSymbols/5_active.svg +0 -7
- package/dist/assets/assets/msSymbols/6.svg +0 -7
- package/dist/assets/assets/msSymbols/6_active.svg +0 -7
- package/dist/assets/assets/msSymbols/7.svg +0 -7
- package/dist/assets/assets/msSymbols/7_active.svg +0 -7
- package/dist/assets/assets/msSymbols/altoClef.svg +0 -18
- package/dist/assets/assets/msSymbols/altoClef_active.svg +0 -18
- package/dist/assets/assets/msSymbols/bar-numberNotation.svg +0 -5
- package/dist/assets/assets/msSymbols/bar-numberNotation_active.svg +0 -5
- package/dist/assets/assets/msSymbols/bar-standardStaff.svg +0 -7
- package/dist/assets/assets/msSymbols/bar-standardStaff_active.svg +0 -7
- package/dist/assets/assets/msSymbols/barlineEndRepeatSign.svg +0 -14
- package/dist/assets/assets/msSymbols/barlineEndRepeatSign_active.svg +0 -14
- package/dist/assets/assets/msSymbols/barlineFinal.svg +0 -9
- package/dist/assets/assets/msSymbols/barlineFinal_active.svg +0 -9
- package/dist/assets/assets/msSymbols/barlineReverseFinal.svg +0 -10
- package/dist/assets/assets/msSymbols/barlineReverseFinal_active.svg +0 -10
- package/dist/assets/assets/msSymbols/barlineSingle.svg +0 -3
- package/dist/assets/assets/msSymbols/barlineSingle_active.svg +0 -3
- package/dist/assets/assets/msSymbols/barlineStartRepeatSign.svg +0 -14
- package/dist/assets/assets/msSymbols/barlineStartRepeatSign_active.svg +0 -14
- package/dist/assets/assets/msSymbols/bassClef.svg +0 -11
- package/dist/assets/assets/msSymbols/bassClef_active.svg +0 -11
- package/dist/assets/assets/msSymbols/chronaxieIncreasingLine.svg +0 -3
- package/dist/assets/assets/msSymbols/chronaxieIncreasingLine_active.svg +0 -3
- package/dist/assets/assets/msSymbols/chronaxieReducingLine1.svg +0 -3
- package/dist/assets/assets/msSymbols/chronaxieReducingLine2.svg +0 -4
- package/dist/assets/assets/msSymbols/chronaxieReducingLine3.svg +0 -5
- package/dist/assets/assets/msSymbols/chronaxieReducingLine4.svg +0 -6
- package/dist/assets/assets/msSymbols/doubleFlat.svg +0 -15
- package/dist/assets/assets/msSymbols/doubleFlat_active.svg +0 -15
- package/dist/assets/assets/msSymbols/doubleSharp.svg +0 -16
- package/dist/assets/assets/msSymbols/doubleSharp_active.svg +0 -16
- package/dist/assets/assets/msSymbols/flat.svg +0 -9
- package/dist/assets/assets/msSymbols/flat_active.svg +0 -9
- package/dist/assets/assets/msSymbols/nature.svg +0 -8
- package/dist/assets/assets/msSymbols/nature_active.svg +0 -8
- package/dist/assets/assets/msSymbols/noteDot1.svg +0 -3
- package/dist/assets/assets/msSymbols/noteDot2.svg +0 -4
- package/dist/assets/assets/msSymbols/noteDot3.svg +0 -5
- package/dist/assets/assets/msSymbols/noteDot4.svg +0 -6
- package/dist/assets/assets/msSymbols/noteHead1.svg +0 -6
- package/dist/assets/assets/msSymbols/noteHead1_active.svg +0 -6
- package/dist/assets/assets/msSymbols/noteHead2.svg +0 -20
- package/dist/assets/assets/msSymbols/noteHead2_active.svg +0 -20
- package/dist/assets/assets/msSymbols/noteHead4.svg +0 -8
- package/dist/assets/assets/msSymbols/noteHead4_active.svg +0 -8
- package/dist/assets/assets/msSymbols/noteStem.svg +0 -5
- package/dist/assets/assets/msSymbols/noteStem_active.svg +0 -5
- package/dist/assets/assets/msSymbols/noteTail128.svg +0 -17
- package/dist/assets/assets/msSymbols/noteTail128_active.svg +0 -17
- package/dist/assets/assets/msSymbols/noteTail16.svg +0 -11
- package/dist/assets/assets/msSymbols/noteTail16_active.svg +0 -11
- package/dist/assets/assets/msSymbols/noteTail256.svg +0 -16
- package/dist/assets/assets/msSymbols/noteTail256_active.svg +0 -16
- package/dist/assets/assets/msSymbols/noteTail32.svg +0 -11
- package/dist/assets/assets/msSymbols/noteTail32_active.svg +0 -11
- package/dist/assets/assets/msSymbols/noteTail64.svg +0 -12
- package/dist/assets/assets/msSymbols/noteTail64_active.svg +0 -12
- package/dist/assets/assets/msSymbols/noteTail8.svg +0 -8
- package/dist/assets/assets/msSymbols/noteTail8_active.svg +0 -8
- package/dist/assets/assets/msSymbols/readne.md +0 -5
- package/dist/assets/assets/msSymbols/rest1.svg +0 -3
- package/dist/assets/assets/msSymbols/rest128.svg +0 -5
- package/dist/assets/assets/msSymbols/rest128_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest16.svg +0 -5
- package/dist/assets/assets/msSymbols/rest16_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest1_active.svg +0 -3
- package/dist/assets/assets/msSymbols/rest2.svg +0 -3
- package/dist/assets/assets/msSymbols/rest256.svg +0 -5
- package/dist/assets/assets/msSymbols/rest256_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest2_active.svg +0 -3
- package/dist/assets/assets/msSymbols/rest32.svg +0 -5
- package/dist/assets/assets/msSymbols/rest32_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest4.svg +0 -5
- package/dist/assets/assets/msSymbols/rest4_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest64.svg +0 -5
- package/dist/assets/assets/msSymbols/rest64_active.svg +0 -5
- package/dist/assets/assets/msSymbols/rest8.svg +0 -5
- package/dist/assets/assets/msSymbols/rest8_active.svg +0 -5
- package/dist/assets/assets/msSymbols/sharp.svg +0 -10
- package/dist/assets/assets/msSymbols/sharp_active.svg +0 -10
- package/dist/assets/assets/msSymbols/trebleClef.svg +0 -13
- package/dist/assets/assets/msSymbols/trebleClef_active.svg +0 -13
- package/dist/common.d.ts +0 -1
- package/dist/components/clef.d.ts +0 -22
- package/dist/components/dragbox/bezier3DragBox.d.ts +0 -170
- package/dist/components/dragbox/rectDragBox.d.ts +0 -114
- package/dist/components/keySignature.d.ts +0 -42
- package/dist/components/measure.d.ts +0 -91
- package/dist/components/measureContainer.d.ts +0 -74
- package/dist/components/msSymbol.d.ts +0 -148
- package/dist/components/msSymbolContainer.d.ts +0 -96
- package/dist/components/msSymbolSlot.d.ts +0 -285
- package/dist/components/noteTail.d.ts +0 -96
- package/dist/components/spanSymbol.d.ts +0 -48
- package/dist/components/timeSignature.d.ts +0 -24
- package/dist/components/virtualSymbolContainer.d.ts +0 -96
- package/dist/composables/useSkin.d.ts +0 -9
- package/dist/constant.d.ts +0 -4
- package/dist/enum.d.ts +0 -7
- package/dist/musicScore.d.ts +0 -86
- package/dist/types.d.ts +0 -105
- package/dist/utils/eventUtil.d.ts +0 -32
- package/dist/utils/geometryUtil.d.ts +0 -9
- package/dist/utils/heightUtil.d.ts +0 -3
- package/dist/utils/leftUtil.d.ts +0 -7
- package/dist/utils/spanSymbolUtil.d.ts +0 -4
- package/dist/utils/topUtil.d.ts +0 -12
- package/dist/utils/widthConstantUtil.d.ts +0 -5
- package/dist/utils/widthUtil.d.ts +0 -9
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/** 五线谱皮肤 key:一谱一套,仅用于 standardStaff */
|
|
2
|
+
export declare enum StandardStaffSkinKeyEnum {
|
|
3
|
+
Measure = "measure",
|
|
4
|
+
Treble = "treble",
|
|
5
|
+
Alto = "alto",
|
|
6
|
+
Bass = "bass",
|
|
7
|
+
Tenor = "Tenor",
|
|
8
|
+
Treble_f = "treble_f",
|
|
9
|
+
Alto_f = "alto_f",
|
|
10
|
+
Bass_f = "bass_f",
|
|
11
|
+
Tenor_f = "tenor_f",
|
|
12
|
+
Sharp = "sharp",
|
|
13
|
+
Flat = "flat",
|
|
14
|
+
Double_sharp = "double_sharp",
|
|
15
|
+
Double_flat = "double_flat",
|
|
16
|
+
Natural = "natural",
|
|
17
|
+
Close_line = "close_line",
|
|
18
|
+
linked_close_line = "linked_close_line",
|
|
19
|
+
Single_barline = "single_barline",
|
|
20
|
+
Double_barline = "double_barline",
|
|
21
|
+
StartRepeat_barline = "startRepeat_barline",
|
|
22
|
+
EndRepeat_barline = "endRepeat_barline",
|
|
23
|
+
Dashed_barline = "dashed_barline",
|
|
24
|
+
Final_barline = "final_barline",
|
|
25
|
+
Start_end_repeat_barline = "start_end_repeat_barline",
|
|
26
|
+
Dotted_barline = "dotted_barline",
|
|
27
|
+
Reverse_barline = "reverse_barline",
|
|
28
|
+
Heavy_barline = "heavy_barline",
|
|
29
|
+
Heavy_double_barline = "heavy_double_barline",
|
|
30
|
+
linked_single_barline = "linked_single_barline",
|
|
31
|
+
linked_double_barline = "linked_double_barline",
|
|
32
|
+
linked_startRepeat_barline = "linked_startRepeat_barline",
|
|
33
|
+
linked_endRepeat_barline = "linked_endRepeat_barline",
|
|
34
|
+
linked_dashed_barline = "linked_dashed_barline",
|
|
35
|
+
linked_final_barline = "linked_final_barline",
|
|
36
|
+
linked_start_end_repeat_barline = "linked_start_end_repeat_barline",
|
|
37
|
+
linked_dotted_barline = "linked_dotted_barline",
|
|
38
|
+
linked_reverse_barline = "linked_reverse_barline",
|
|
39
|
+
linked_heavy_barline = "linked_heavy_barline",
|
|
40
|
+
linked_heavy_double_barline = "linked_heavy_double_barline",
|
|
41
|
+
C = "C",
|
|
42
|
+
C_sharp = "C_sharp",
|
|
43
|
+
D_flat = "D_flat",
|
|
44
|
+
D = "D",
|
|
45
|
+
E_flat = "E_flat",
|
|
46
|
+
E = "E",
|
|
47
|
+
F = "F",
|
|
48
|
+
F_sharp = "F_sharp",
|
|
49
|
+
G_flat = "G_flat",
|
|
50
|
+
G = "G",
|
|
51
|
+
A_flat = "A_flat",
|
|
52
|
+
A = "A",
|
|
53
|
+
B_flat = "B_flat",
|
|
54
|
+
B = "B",
|
|
55
|
+
C_flat = "C_flat",
|
|
56
|
+
'1_1' = "1_1",
|
|
57
|
+
'1_4' = "1_4",
|
|
58
|
+
'2_4' = "2_4",
|
|
59
|
+
'3_4' = "3_4",
|
|
60
|
+
'4_4' = "4_4",
|
|
61
|
+
'3_8' = "3_8",
|
|
62
|
+
'6_8' = "6_8",
|
|
63
|
+
NoteHead_1 = "noteHead_1",
|
|
64
|
+
NoteHead_2 = "noteHead_2",
|
|
65
|
+
NoteHead_3 = "noteHead_3",
|
|
66
|
+
NoteStem = "notestem",
|
|
67
|
+
NoteTail_1 = "noteTail_1",
|
|
68
|
+
NoteTail_2 = "noteTail_2",
|
|
69
|
+
NoteTail_3 = "noteTail_3",
|
|
70
|
+
NoteTail_4 = "noteTail_4",
|
|
71
|
+
NoteTail_5 = "noteTail_5",
|
|
72
|
+
NoteTail_6 = "noteTail_6",
|
|
73
|
+
NoteTail_1_r = "noteTail_1_r",
|
|
74
|
+
NoteTail_2_r = "noteTail_2_r",
|
|
75
|
+
NoteTail_3_r = "noteTail_3_r",
|
|
76
|
+
NoteTail_4_r = "noteTail_4_r",
|
|
77
|
+
NoteTail_5_r = "noteTail_5_r",
|
|
78
|
+
NoteTail_6_r = "noteTail_6_r",
|
|
79
|
+
Rest_1 = "rest_1",
|
|
80
|
+
Rest_2 = "rest_2",
|
|
81
|
+
Rest_3 = "rest_3",
|
|
82
|
+
Rest_4 = "rest_4",
|
|
83
|
+
Rest_5 = "rest_5",
|
|
84
|
+
Rest_6 = "rest_6",
|
|
85
|
+
Rest_7 = "rest_7",
|
|
86
|
+
Rest_8 = "rest_8",
|
|
87
|
+
Rest_9 = "rest_9",
|
|
88
|
+
AugmentationDot_1 = "augmentationDot_1",
|
|
89
|
+
AugmentationDot_2 = "augmentationDot_2",
|
|
90
|
+
AugmentationDot_3 = "augmentationDot_3",
|
|
91
|
+
AddLine_u = "addLine_u",// 上方的加线
|
|
92
|
+
AddLine_d = "addLine_d",// 下方的加线
|
|
93
|
+
Bracket = "bracket",// 标准连谱号
|
|
94
|
+
Brace = "brace",// 大括号
|
|
95
|
+
Square = "square",// 中括号
|
|
96
|
+
Repeat_coda = "repeat_coda",
|
|
97
|
+
Repeat_to_coda = "repeat_to_coda",
|
|
98
|
+
Repeat_segno = "repeat_segno",
|
|
99
|
+
Repeat_dc = "repeat_dc",
|
|
100
|
+
Repeat_ds = "repeat_ds",
|
|
101
|
+
Repeat_fine = "repeat_fine",
|
|
102
|
+
Repeat_dc_al_fine = "repeat_dc_al_fine",
|
|
103
|
+
Repeat_dc_al_coda = "repeat_dc_al_coda",
|
|
104
|
+
Repeat_ds_al_fine = "repeat_ds_al_fine",
|
|
105
|
+
Repeat_ds_al_coda = "repeat_ds_al_coda",
|
|
106
|
+
Accent_above = "acccent_above",
|
|
107
|
+
Staccato_above = "staccato_above",
|
|
108
|
+
Staccatissimo_above = "staccato_above",
|
|
109
|
+
Tenuto_above = "tenuto_above",
|
|
110
|
+
Loure_above = "loure_above",
|
|
111
|
+
Marcato_above = "marcato_above",
|
|
112
|
+
Accent_staccato_above = "accent_staccato_above",
|
|
113
|
+
Marcato_staccato_above = "marcato_staccato_above",
|
|
114
|
+
Marcato_tenuto_above = "marcato_tenuto_above",
|
|
115
|
+
Staccatissimo_stroke_above = "staccatissimo_stroke_above",
|
|
116
|
+
Staccatissimo_wedge_above = "staccatissimo_wedge_above",
|
|
117
|
+
Stress_above = "stress_above",
|
|
118
|
+
Tenuto_accent_above = "tenuto_accent_above",
|
|
119
|
+
Unstress_above = "unstress_above",
|
|
120
|
+
Open = "open",
|
|
121
|
+
Muted = "muted",
|
|
122
|
+
Harmonic = "harmonic",
|
|
123
|
+
Up_bow = "up_bow",
|
|
124
|
+
Down_bow = "down_bow",
|
|
125
|
+
Turn = "turn",
|
|
126
|
+
InvertedTurn = "invertedTurn",
|
|
127
|
+
Trill = "trill",
|
|
128
|
+
ShortTrill = "shortTrill",
|
|
129
|
+
Mordent = "mordent",
|
|
130
|
+
Arpeggio = "arpeggio",
|
|
131
|
+
Up_arpeggio = "up_arpeggio",
|
|
132
|
+
Down_arpeggio = "down_arpeggio",
|
|
133
|
+
Bracket_arpeggio = "bracket_arpeggio",
|
|
134
|
+
Up_arpeggio_straight = "up_arpeggio_straight",
|
|
135
|
+
Down_arpeggio_straight = "down_arpeggio_straight",
|
|
136
|
+
Dyn_PPP = "dyn_ppp",
|
|
137
|
+
Dyn_PP = "dyn_pp",
|
|
138
|
+
Dyn_P = "dyn_p",
|
|
139
|
+
Dyn_MP = "dyn_mp",
|
|
140
|
+
Dyn_MF = "dyn_mf",
|
|
141
|
+
Dyn_F = "dyn_f",
|
|
142
|
+
Dyn_FF = "dyn_ff",
|
|
143
|
+
Dyn_FFF = "dyn_fff",
|
|
144
|
+
Dyn_FP = "dyn_fp",
|
|
145
|
+
Dyn_PF = "dyn_pf",
|
|
146
|
+
Dyn_SF = "dyn_sf",
|
|
147
|
+
Dyn_SFZ = "dyn_sfz",
|
|
148
|
+
Dyn_SFF = "dyn_sff",
|
|
149
|
+
Dyn_SFFZ = "dyn_sffz",
|
|
150
|
+
Dyn_SFP = "dyn_sfp",
|
|
151
|
+
Dyn_RFZ = "dyn_rfz",
|
|
152
|
+
Dyn_RF = "dyn_rf",
|
|
153
|
+
Dyn_FZ = "dyn_fz"
|
|
154
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 计算一组连杠音符的符杠斜率。
|
|
3
|
+
*
|
|
4
|
+
* @param stemEnds 每个符干与符杠的接点,顺序为视觉左→右。
|
|
5
|
+
* up 方向取 stem.y(符干顶端),down 方向取 stem.y + stem.h(符干底端)。
|
|
6
|
+
* @param direction 符干方向,与符杠绘制方向一致。
|
|
7
|
+
*
|
|
8
|
+
* 算法分三步(按优先级):
|
|
9
|
+
* 1. **水平符杠**:若中间某个符干的接点 y 与组内首/尾一样「极端」
|
|
10
|
+
* (up:不高于首尾最低点;down:不低于首尾最高点),
|
|
11
|
+
* 则符杠强制水平(inclination = 0),锚点取该极端 y。
|
|
12
|
+
* 2. **首尾连线斜率**:用首尾接点算初始斜率,再逐个中间符干收紧斜率,
|
|
13
|
+
* 保证符杠不会从中间符干「穿出去」:
|
|
14
|
+
* - 正斜率:以首符干为锚,斜率取 min,使中间符干接点不低于符杠;
|
|
15
|
+
* - 负斜率:以尾符干为锚,斜率取 max,使中间符干接点不高于符杠。
|
|
16
|
+
* 3. **斜率上限**:将斜率限制在 ±BEAM_MAX_SLOPE_DEG 以内,
|
|
17
|
+
* 锚点用 pickExtremeStemEndForAnchor 取组内最靠外的一端。
|
|
18
|
+
*/
|
|
19
|
+
export declare function computeBeamSlope(stemEnds: Array<{
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
}>, direction: 'up' | 'down'): {
|
|
23
|
+
inclination: number;
|
|
24
|
+
anchor: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StandardStaffSkinPack, VDom } from '../../../types/common';
|
|
2
|
+
import { NoteSymbol } from '../../../types/MusicScoreType';
|
|
3
|
+
import { NodeIdMap } from '../types';
|
|
4
|
+
export declare function processBeam(params: {
|
|
5
|
+
measure: {
|
|
6
|
+
notes: NoteSymbol[];
|
|
7
|
+
};
|
|
8
|
+
nodeIdMap: NodeIdMap;
|
|
9
|
+
vDoms: VDom[];
|
|
10
|
+
symbolVDomsLength: number;
|
|
11
|
+
skin: StandardStaffSkinPack;
|
|
12
|
+
measureHeight: number;
|
|
13
|
+
measureLineWidth: number;
|
|
14
|
+
skinName?: string;
|
|
15
|
+
}): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StandardStaffSkinPack, VDom } from '../../../types/common';
|
|
2
|
+
import { NoteSymbol } from '../../../types/MusicScoreType';
|
|
3
|
+
import { NodeIdMap } from '../types';
|
|
4
|
+
export declare function processGraceBeam(params: {
|
|
5
|
+
measure: {
|
|
6
|
+
notes: NoteSymbol[];
|
|
7
|
+
};
|
|
8
|
+
nodeIdMap: NodeIdMap;
|
|
9
|
+
vDoms: VDom[];
|
|
10
|
+
symbolVDomsLength: number;
|
|
11
|
+
skin: StandardStaffSkinPack;
|
|
12
|
+
measureHeight: number;
|
|
13
|
+
measureLineWidth: number;
|
|
14
|
+
skinName?: string;
|
|
15
|
+
}): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 渲染相关常量
|
|
3
|
+
*/
|
|
4
|
+
/** 变音符号与音符头之间的默认间距(与 measureHeight 的比值) */
|
|
5
|
+
export declare const ACCIDENTAL_NOTE_GAP: number;
|
|
6
|
+
/** 音符前谱号与音符头的间距(与 measureHeight 的比值) */
|
|
7
|
+
export declare const CLEF_NOTE_GAP_RATIO: number;
|
|
8
|
+
/** 附点符号与音符头之间的默认间距(与 measureHeight 的比值) */
|
|
9
|
+
export declare const AUGMENTATION_DOT_GAP: number;
|
|
10
|
+
/** 一节高度(一线或一间的距离)比例 */
|
|
11
|
+
export declare const LINE_SPACING_RATIO: number;
|
|
12
|
+
/** 符杠最大倾斜角度(度) */
|
|
13
|
+
export declare const BEAM_MAX_SLOPE_DEG = 15;
|
|
14
|
+
/** 最小符干高度相对小节高度的比例 */
|
|
15
|
+
export declare const MIN_STEM_HEIGHT_RATIO: number;
|
|
16
|
+
/** 符杠单线粗细比例 */
|
|
17
|
+
export declare const BEAM_THICKNESS: number;
|
|
18
|
+
/** 符杠多条线之间的空隙比例 */
|
|
19
|
+
export declare const BEAM_LINE_SPACING: number;
|
|
20
|
+
/** 符杠非全连时从 centerX 向两侧的缩放值,0.5 表示左右各收缩一半 */
|
|
21
|
+
export declare const BEAM_PARTIAL_SCALE = 0.5;
|
|
22
|
+
/** 符干 y 值偏移量 */
|
|
23
|
+
export declare const STEM_Y_OFFSET = 0.05;
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { VDom, StandardStaffSkinPack } from '../../../types/common';
|
|
2
|
+
import { NoteSymbol, NotesInfo } from '../../../types/MusicScoreType';
|
|
3
|
+
import { NodeIdMap } from '../types';
|
|
4
|
+
/** 估算单条倚音 NotesInfo 占位宽度(视觉缩放后) */
|
|
5
|
+
export declare function estimateGraceNotesInfoWidth(ni: NotesInfo, skin: StandardStaffSkinPack, measureHeight: number): number;
|
|
6
|
+
export declare function graceBeforeWidth(graceNotes: NotesInfo[] | undefined, skin: StandardStaffSkinPack, measureHeight: number): number;
|
|
7
|
+
export declare function graceAfterWidth(graceNotesAfter: NotesInfo[] | undefined, skin: StandardStaffSkinPack, measureHeight: number): number;
|
|
8
|
+
export type RenderGraceStaffParams = {
|
|
9
|
+
ni: NotesInfo;
|
|
10
|
+
headAnchorX: number;
|
|
11
|
+
noteCenterY: (region: number) => number;
|
|
12
|
+
measureY: number;
|
|
13
|
+
measureHeight: number;
|
|
14
|
+
measureLineWidth: number;
|
|
15
|
+
measureWidth: number;
|
|
16
|
+
skin: StandardStaffSkinPack;
|
|
17
|
+
skinName: string;
|
|
18
|
+
zIndex: number;
|
|
19
|
+
note: NoteSymbol;
|
|
20
|
+
idMap: NodeIdMap;
|
|
21
|
+
out: VDom[];
|
|
22
|
+
};
|
|
23
|
+
export declare function renderGraceNotesInfo(params: RenderGraceStaffParams): void;
|
|
24
|
+
export declare function renderGraceNotesBefore(graceNotes: NotesInfo[] | undefined, mainHeadX: number, ctx: Omit<RenderGraceStaffParams, 'ni' | 'headAnchorX'>): void;
|
|
25
|
+
export declare function renderGraceNotesAfter(graceNotesAfter: NotesInfo[] | undefined, mainHeadX: number, mainHeadW: number, ctx: Omit<RenderGraceStaffParams, 'ni' | 'headAnchorX'>): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Skin, SlotConfig, VDom } from '../../types/common';
|
|
2
|
+
import { MusicScore } from '../../types/MusicScoreType';
|
|
3
|
+
export declare function musicScoreToVDom(musicScore: MusicScore, slotConfig?: SlotConfig, options?: {
|
|
4
|
+
skin?: Skin;
|
|
5
|
+
skinName?: string;
|
|
6
|
+
}): VDom[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { StandardStaffSkinPack, VDom } from '../../../types/common';
|
|
2
|
+
import { NoteSymbol } from '../../../types/MusicScoreType';
|
|
3
|
+
import { NodeIdMap } from '../types';
|
|
4
|
+
export type RenderStemAndTailParams = {
|
|
5
|
+
note: NoteSymbol;
|
|
6
|
+
headX: number;
|
|
7
|
+
headY: number;
|
|
8
|
+
headW: number;
|
|
9
|
+
headH: number;
|
|
10
|
+
measureY: number;
|
|
11
|
+
measureHeight: number;
|
|
12
|
+
measureWidth: number;
|
|
13
|
+
skin: StandardStaffSkinPack;
|
|
14
|
+
zIndex: number;
|
|
15
|
+
idMap: NodeIdMap;
|
|
16
|
+
chronaxie?: number;
|
|
17
|
+
direction?: 'up' | 'down';
|
|
18
|
+
stemTargetId?: string;
|
|
19
|
+
headCenterYOther?: number;
|
|
20
|
+
skinName?: string;
|
|
21
|
+
/** 倚音:符干在布局阶段调整 y/h;符尾用 VDom.scale 并做中心缩放 x/y 补偿 */
|
|
22
|
+
isGrace?: boolean;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* 符干与符尾:chronaxie < 256 出符干,≤32 出符尾
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderStemAndTail(params: RenderStemAndTailParams): VDom[];
|
|
28
|
+
/** 倚音符干(布局 y/h)+ 符尾(VDom.scale + 中心缩放 x/y 补偿) */
|
|
29
|
+
export declare function renderGraceStemAndTail(params: Omit<RenderStemAndTailParams, 'isGrace'>): VDom[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VDom } from '../../../types/common';
|
|
2
|
+
import { RenderSymbolParams } from '../types';
|
|
3
|
+
export declare function renderSymbol(params: RenderSymbolParams): VDom[];
|
|
4
|
+
/** 计算前置小节线在小节内的左边缘 x(clef_f + keySig_f + timeSig_f 之后,供连谱小节线 barline_f 定位) */
|
|
5
|
+
export declare function getBarlineFXInMeasure(measure: import('../../../types/MusicScoreType').Measure, measureX: number, skin: import('../../../types/common').StandardStaffSkinPack): number;
|
|
6
|
+
/** 计算后置小节线在小节内的左边缘 x(与 renderSymbol 中 rightParts 摆放一致,供连谱小节线 barline_b 定位) */
|
|
7
|
+
export declare function getBarlineXInMeasure(measure: import('../../../types/MusicScoreType').Measure, measureX: number, measureWidth: number, skin: import('../../../types/common').StandardStaffSkinPack): number;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { VDom, VDomTagType } from '../../types/common';
|
|
2
|
+
import { Measure, MusicScore } from '../../types/MusicScoreType';
|
|
3
|
+
/** id -> 以 vDom.tag 为键的 VDom 对象,便于按 tag 查找同一 id 下的音符头/符干/符尾等 */
|
|
4
|
+
export type NodeIdMap = Map<string, Partial<Record<VDomTagType, VDom>>>;
|
|
5
|
+
export type RenderSymbolParams = {
|
|
6
|
+
measure: Measure;
|
|
7
|
+
measures: Measure[];
|
|
8
|
+
measureIndex: number;
|
|
9
|
+
measureX: number;
|
|
10
|
+
measureY: number;
|
|
11
|
+
measureWidth: number;
|
|
12
|
+
measureHeight: number;
|
|
13
|
+
measureLineWidth: number;
|
|
14
|
+
skin: import('../../types/common').StandardStaffSkinPack;
|
|
15
|
+
idMap: NodeIdMap;
|
|
16
|
+
skinName?: string;
|
|
17
|
+
};
|
|
18
|
+
export type RenderDoubleAffiliatedSymbolParams = {
|
|
19
|
+
musicScore: MusicScore;
|
|
20
|
+
VDoms: VDom[];
|
|
21
|
+
idMap: NodeIdMap;
|
|
22
|
+
skinName?: string;
|
|
23
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Measure, NoteSymbol, NotesInfo } from '../../../types/MusicScoreType';
|
|
2
|
+
import { StandardStaffSkinPack, Chronaxie } from '../../../types/common';
|
|
3
|
+
import { BeamTypeEnum } from '../../../enums/musicScoreEnum';
|
|
4
|
+
export type VoiceGroup = {
|
|
5
|
+
direction: 'up' | 'down';
|
|
6
|
+
notesInfo: NotesInfo[];
|
|
7
|
+
chronaxie: Chronaxie;
|
|
8
|
+
beamType: BeamTypeEnum;
|
|
9
|
+
};
|
|
10
|
+
/** 按符干方向分组:同方向多条 notesInfo 视为和弦 */
|
|
11
|
+
export declare function getVoiceGroups(note: NoteSymbol): VoiceGroup[];
|
|
12
|
+
export declare function getVoiceGroupForDirection(note: NoteSymbol, direction: 'up' | 'down'): VoiceGroup | undefined;
|
|
13
|
+
/** 音符位取各声部方向中最大时值用于宽度系数 */
|
|
14
|
+
export declare function getSlotChronaxie(note: NoteSymbol): number;
|
|
15
|
+
/** 是否为休止符位 */
|
|
16
|
+
export declare function isSlotRest(note: NoteSymbol): boolean;
|
|
17
|
+
/** 休止符位时值 */
|
|
18
|
+
export declare function getSlotRestChronaxie(note: NoteSymbol): number;
|
|
19
|
+
/** widthRatio/widthRatioForMeasure 以四分音符(64)为 1;时值换算系数 */
|
|
20
|
+
export declare function getChronaxieWidthCoefficient(chronaxie: number): number;
|
|
21
|
+
/** 音符在小节内的宽度占比 */
|
|
22
|
+
export declare function getNoteWidthRatio(note: NoteSymbol, skin: StandardStaffSkinPack, measureHeight?: number): number;
|
|
23
|
+
/** 音符对小节在单谱表内宽度占比的系数 */
|
|
24
|
+
export declare function getNoteWidthRatioForMeasure(note: NoteSymbol, skin: StandardStaffSkinPack, measureHeight?: number): number;
|
|
25
|
+
/** 小节的宽度系数 */
|
|
26
|
+
export declare function getMeasureWidthRatio(measure: Measure, skin: StandardStaffSkinPack): number;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BarlineTypeEnum, BracketTypeEnum, ClefTypeEnum, KeySignatureTypeEnum, TimeSignatureTypeEnum, AccidentalTypeEnum } from '../../../enums/musicScoreEnum';
|
|
2
|
+
import { StandardStaffSkinKeyEnum } from '../../enums/standardStaffSkinKeyEnum';
|
|
3
|
+
import { AugmentationDot } from '../../../types/MusicScoreType';
|
|
4
|
+
export declare function getBarlineSkinKey(barlineType: BarlineTypeEnum): StandardStaffSkinKeyEnum;
|
|
5
|
+
/** 连谱小节线皮肤 key(BarlineTypeEnum → linked_*) */
|
|
6
|
+
export declare function getLinkedBarlineSkinKey(barlineType: BarlineTypeEnum): StandardStaffSkinKeyEnum;
|
|
7
|
+
/** 谱号类型 + 是否前置 */
|
|
8
|
+
export declare function getClefSkinKey(clefType: ClefTypeEnum, isFront: boolean): StandardStaffSkinKeyEnum;
|
|
9
|
+
/** 小节生效谱号:可传 noteIndex 表示该音符位前生效的谱号 */
|
|
10
|
+
export declare function getClefForMeasure(measures: import('../../../types/MusicScoreType').Measure[], measureIndex: number, noteIndex?: number): ClefTypeEnum;
|
|
11
|
+
/** 调号 y 偏移:皮肤按 treble 布局,中音/次中音 +5.5,低音 +11 */
|
|
12
|
+
export declare function getKeySignatureYOffset(clefType: ClefTypeEnum, measureHeight: number, measureLineWidth: number): number;
|
|
13
|
+
export declare function getKeySignatureSkinKey(type: KeySignatureTypeEnum): StandardStaffSkinKeyEnum;
|
|
14
|
+
export declare function getTimeSignatureSkinKey(type?: TimeSignatureTypeEnum): StandardStaffSkinKeyEnum;
|
|
15
|
+
/** 时值 chronaxie → 音符头皮肤 */
|
|
16
|
+
export declare function getNoteHeadSkinKey(chronaxie: number): StandardStaffSkinKeyEnum;
|
|
17
|
+
/** 时值 chronaxie → 休止符皮肤 */
|
|
18
|
+
export declare function getRestSkinKey(chronaxie: number): StandardStaffSkinKeyEnum;
|
|
19
|
+
/** 时值 chronaxie ≤32 → 符尾皮肤;direction 为 down 时用符尾倒(_r) */
|
|
20
|
+
export declare function getNoteTailSkinKey(chronaxie: number, direction?: 'up' | 'down'): StandardStaffSkinKeyEnum;
|
|
21
|
+
export declare function chronaxieToBeamLineCount(chronaxie: number): number;
|
|
22
|
+
export declare function getAccidentalSkinKey(type: AccidentalTypeEnum): StandardStaffSkinKeyEnum;
|
|
23
|
+
/** 连谱号类型 → 皮肤 key */
|
|
24
|
+
export declare function getBracketSkinKey(type: BracketTypeEnum): StandardStaffSkinKeyEnum;
|
|
25
|
+
export declare function getAugmentationDotSkinKey(augmentationDot: AugmentationDot): StandardStaffSkinKeyEnum;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SlotConfig, SlotName } from '../../../types/common';
|
|
2
|
+
export declare function getSlotH(config: SlotConfig | undefined, name: SlotName): number;
|
|
3
|
+
export declare function getSlotW(config: SlotConfig | undefined, name: SlotName): number;
|
|
4
|
+
export declare function getSlotZIndex(config: SlotConfig | undefined, name: SlotName): number;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { AccidentalTypeEnum, BarlineTypeEnum, BeamTypeEnum, BracketTypeEnum, ClefTypeEnum, DoubleMeasureAffiliatedSymbolNameEnum, DoubleNoteAffiliatedSymbolNameEnum, KeySignatureTypeEnum, MeasureEndRepeatEnum, MeasureStartRepeatEnum, MusicScoreTypeEnum, NoteSymbolTypeEnum, SingleMeasureAffiliatedSymbolNameEnum, SingleNoteAffiliatedSymbolNameEnum, TimeSignatureTypeEnum } from '../enums/musicScoreEnum';
|
|
2
|
+
import { Chronaxie, Frame } from './common';
|
|
3
|
+
export type MusicScore = {
|
|
4
|
+
id: string;
|
|
5
|
+
type: MusicScoreTypeEnum;
|
|
6
|
+
grandStaffs: GrandStaff[];
|
|
7
|
+
affiliatedSymbols: (DoubleNoteAffiliatedSymbol | DoubleMeasureAffiliatedSymbol)[];
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
topSpaceHeight: number;
|
|
11
|
+
title: string;
|
|
12
|
+
bpm: number;
|
|
13
|
+
};
|
|
14
|
+
export type GrandStaff = {
|
|
15
|
+
id: string;
|
|
16
|
+
staves: SingleStaff[];
|
|
17
|
+
uSpace: number;
|
|
18
|
+
dSpace: number;
|
|
19
|
+
/** 连谱模式:单谱表小节宽度一致,widthRatioForMeasure 按相同索引累加;小节数少的谱表与多者按列对齐 */
|
|
20
|
+
linkedStaff?: boolean;
|
|
21
|
+
bracket?: Bracket;
|
|
22
|
+
} & Frame;
|
|
23
|
+
export type Bracket = {
|
|
24
|
+
id: string;
|
|
25
|
+
type: BracketTypeEnum;
|
|
26
|
+
startSingleStaffIndex: number;
|
|
27
|
+
} & Frame;
|
|
28
|
+
export type SingleStaff = {
|
|
29
|
+
id: string;
|
|
30
|
+
measures: Measure[];
|
|
31
|
+
uSpaceO: number;
|
|
32
|
+
uSpaceI: number;
|
|
33
|
+
dSpaceI: number;
|
|
34
|
+
dSpaceO: number;
|
|
35
|
+
} & Frame;
|
|
36
|
+
export type Measure = {
|
|
37
|
+
id: string;
|
|
38
|
+
notes: NoteSymbol[] | NoteNumber[];
|
|
39
|
+
barline_f?: Barline;
|
|
40
|
+
barline_b?: Barline;
|
|
41
|
+
clef_f?: Clef;
|
|
42
|
+
clef_b?: Clef;
|
|
43
|
+
keySignature_f?: KeySignature;
|
|
44
|
+
keySignature_b?: KeySignature;
|
|
45
|
+
timeSignature_f?: TimeSignature;
|
|
46
|
+
timeSignature_b?: TimeSignature;
|
|
47
|
+
/** 小节前反复符号(Coda / Segno,最多一个) */
|
|
48
|
+
startRepeat?: MeasureStartRepeat;
|
|
49
|
+
/** 小节末反复符号(DC / DS / Fine 等,最多一个) */
|
|
50
|
+
endRepeat?: MeasureEndRepeat;
|
|
51
|
+
widthRatioForMeasure?: number;
|
|
52
|
+
affiliatedSymbols: (SingleMeasureAffiliatedSymbol)[];
|
|
53
|
+
} & Frame;
|
|
54
|
+
export type AugmentationDot = {
|
|
55
|
+
id: string;
|
|
56
|
+
count: 1 | 2 | 3;
|
|
57
|
+
widthRatio?: number;
|
|
58
|
+
widthRatioForMeasure?: number;
|
|
59
|
+
} & Frame;
|
|
60
|
+
export type DoubleNoteAffiliatedSymbol = {
|
|
61
|
+
id: string;
|
|
62
|
+
name: DoubleNoteAffiliatedSymbolNameEnum;
|
|
63
|
+
startId: string;
|
|
64
|
+
endId: string;
|
|
65
|
+
data: {
|
|
66
|
+
slur?: {
|
|
67
|
+
relativeStartPoint: {
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
};
|
|
71
|
+
relativeEndPoint: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
};
|
|
75
|
+
relativeControlPoint: {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
};
|
|
79
|
+
thickness: number;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
} & Frame;
|
|
83
|
+
export type DoubleMeasureAffiliatedSymbol = {
|
|
84
|
+
id: string;
|
|
85
|
+
name: DoubleMeasureAffiliatedSymbolNameEnum;
|
|
86
|
+
startId: string;
|
|
87
|
+
endId: string;
|
|
88
|
+
data: {
|
|
89
|
+
volta?: {
|
|
90
|
+
text: string;
|
|
91
|
+
/** 盒子高度(× measureHeight),默认 0.5 */
|
|
92
|
+
heightRatio?: number;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
} & Frame;
|
|
96
|
+
export type SingleNoteAffiliatedSymbol = {
|
|
97
|
+
id: string;
|
|
98
|
+
name: SingleNoteAffiliatedSymbolNameEnum;
|
|
99
|
+
data: Record<string, never>;
|
|
100
|
+
} & Frame;
|
|
101
|
+
export type SingleMeasureAffiliatedSymbol = {
|
|
102
|
+
id: string;
|
|
103
|
+
name: SingleMeasureAffiliatedSymbolNameEnum;
|
|
104
|
+
data: Record<string, never>;
|
|
105
|
+
} & Frame;
|
|
106
|
+
/** 小节前反复符号 */
|
|
107
|
+
export type MeasureStartRepeat = {
|
|
108
|
+
id: string;
|
|
109
|
+
type: MeasureStartRepeatEnum;
|
|
110
|
+
} & Frame;
|
|
111
|
+
/** 小节末反复符号 */
|
|
112
|
+
export type MeasureEndRepeat = {
|
|
113
|
+
id: string;
|
|
114
|
+
type: MeasureEndRepeatEnum;
|
|
115
|
+
} & Frame;
|
|
116
|
+
export type Barline = {
|
|
117
|
+
id: string;
|
|
118
|
+
barlineType: BarlineTypeEnum;
|
|
119
|
+
widthRatio?: number;
|
|
120
|
+
widthRatioForMeasure?: number;
|
|
121
|
+
} & Frame;
|
|
122
|
+
export type Clef = {
|
|
123
|
+
id: string;
|
|
124
|
+
clefType: ClefTypeEnum;
|
|
125
|
+
widthRatio?: number;
|
|
126
|
+
widthRatioForMeasure?: number;
|
|
127
|
+
} & Frame;
|
|
128
|
+
export type KeySignature = {
|
|
129
|
+
id: string;
|
|
130
|
+
type: KeySignatureTypeEnum;
|
|
131
|
+
widthRatio?: number;
|
|
132
|
+
widthRatioForMeasure?: number;
|
|
133
|
+
} & Frame;
|
|
134
|
+
export type TimeSignature = {
|
|
135
|
+
id: string;
|
|
136
|
+
type: TimeSignatureTypeEnum;
|
|
137
|
+
widthRatio?: number;
|
|
138
|
+
widthRatioForMeasure?: number;
|
|
139
|
+
} & Frame;
|
|
140
|
+
export type Accidental = {
|
|
141
|
+
id: string;
|
|
142
|
+
type: AccidentalTypeEnum;
|
|
143
|
+
widthRatio?: number;
|
|
144
|
+
widthRatioForMeasure?: number;
|
|
145
|
+
} & Frame;
|
|
146
|
+
export type NoteSymbol = ({
|
|
147
|
+
id: string;
|
|
148
|
+
type: NoteSymbolTypeEnum;
|
|
149
|
+
notesInfo: NotesInfo[];
|
|
150
|
+
/** 时值 */
|
|
151
|
+
chronaxie?: Chronaxie;
|
|
152
|
+
/** 附点 */
|
|
153
|
+
augmentationDot?: AugmentationDot;
|
|
154
|
+
/** 单音符附属 */
|
|
155
|
+
affiliatedSymbols?: SingleNoteAffiliatedSymbol[];
|
|
156
|
+
clef?: Clef;
|
|
157
|
+
widthRatio?: number;
|
|
158
|
+
widthRatioForMeasure?: number;
|
|
159
|
+
} & Frame);
|
|
160
|
+
export type NotesInfo = {
|
|
161
|
+
id: string;
|
|
162
|
+
direction: 'up' | 'down';
|
|
163
|
+
region: number;
|
|
164
|
+
chronaxie: Chronaxie;
|
|
165
|
+
beamType: BeamTypeEnum;
|
|
166
|
+
augmentationDot?: AugmentationDot;
|
|
167
|
+
graceNotes?: NotesInfo[];
|
|
168
|
+
graceNotesAfter?: NotesInfo[];
|
|
169
|
+
affiliatedSymbols: SingleNoteAffiliatedSymbol[];
|
|
170
|
+
accidental?: Accidental;
|
|
171
|
+
} & Frame;
|
|
172
|
+
export type NotesNumberInfo = {
|
|
173
|
+
id: string;
|
|
174
|
+
/** 0=休止符, 1-7=do re mi fa sol la si, 'X'=节奏音符(无音高,仅节奏) */
|
|
175
|
+
syllable: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 'X';
|
|
176
|
+
accidental?: Accidental;
|
|
177
|
+
/** 正数=音符上方的八度点(高八度),负数=下方的八度点(低八度),0=无 */
|
|
178
|
+
octaveDot: -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
179
|
+
};
|
|
180
|
+
export type NoteNumber = {
|
|
181
|
+
id: string;
|
|
182
|
+
chronaxie: Chronaxie;
|
|
183
|
+
notesInfo: NotesNumberInfo[];
|
|
184
|
+
augmentationDot?: AugmentationDot;
|
|
185
|
+
affiliatedSymbols: SingleNoteAffiliatedSymbol[];
|
|
186
|
+
beamType: BeamTypeEnum;
|
|
187
|
+
graceNotes?: NoteNumber[];
|
|
188
|
+
graceNotesAfter?: NoteNumber[];
|
|
189
|
+
widthRatio?: number;
|
|
190
|
+
widthRatioForMeasure?: number;
|
|
191
|
+
} & Frame;
|