|
@@ -756,6 +756,7 @@ export const formatXML = (xml: string, xmlUrl?: string, resourceType?: string):
|
|
|
// 前面小节的拍子
|
|
|
let preBeats: number = 4;
|
|
|
let preBeatType: number = 4;
|
|
|
+ let baseDivisions: number = 256;
|
|
|
// 小节中如果没有节点默认为休止符
|
|
|
for (const measure of measures) {
|
|
|
if (beats === -1 && measure.getElementsByTagName("beats").length) {
|
|
@@ -772,7 +773,8 @@ export const formatXML = (xml: string, xmlUrl?: string, resourceType?: string):
|
|
|
const currentBeatType = measure.getElementsByTagName("beat-type").length ? measure.getElementsByTagName("beat-type")[0]?.textContent : preBeatType;
|
|
|
preBeats = Number(currentBeats);
|
|
|
preBeatType = Number(currentBeatType);
|
|
|
- const divisions = parseInt(measure.getElementsByTagName("divisions")[0]?.textContent || "256");
|
|
|
+ const divisions = parseInt(measure.getElementsByTagName("divisions")[0]?.textContent || String(baseDivisions));
|
|
|
+ baseDivisions = divisions
|
|
|
// 如果note节点里面有space节点,并且没有duration节点,代表这是一个空白节点,需要删除
|
|
|
if (measure.getElementsByTagName("note").length && state.isEvxml) {
|
|
|
const noteList = Array.from(measure.getElementsByTagName("note")) || [];
|
|
@@ -1406,7 +1408,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
|
trackIndex: note.trackIndex, // 当前的音符属于第几条分轨
|
|
|
isStaccato: note.voiceEntry.isStaccato(),
|
|
|
isRestFlag: note.isRestFlag,
|
|
|
- noteId: note.NoteToGraphicalNoteObjectId || `restNote${note.sourceMeasure.MeasureNumberXML}`,
|
|
|
+ noteId: note.NoteToGraphicalNoteObjectId,
|
|
|
+ // noteId: note.NoteToGraphicalNoteObjectId || `restNote${note.sourceMeasure.MeasureNumberXML}`,
|
|
|
measureListIndex: note.sourceMeasure.measureListIndex,
|
|
|
MeasureNumberXML: note.sourceMeasure.MeasureNumberXML, // 当前的小节数,(从1开始)
|
|
|
_noteLength: _noteLength,
|