|
@@ -628,6 +628,9 @@ export const xmlAddPartName = (xml: string) => {
|
|
|
const newPartName = `<part-name>${name}</part-name>`
|
|
|
|
|
|
scorePart.innerHTML = newPartName + scorePart.innerHTML;
|
|
|
+ }
|
|
|
+ if (scorePart.getElementsByTagName("part-name").length && !scorePart.getElementsByTagName("part-name")?.[0]?.textContent?.trim() ) {
|
|
|
+ scorePart.getElementsByTagName("part-name")[0].textContent = scorePart.getAttribute("id") || "";
|
|
|
}
|
|
|
}
|
|
|
return new XMLSerializer().serializeToString(xmlParse);
|
|
@@ -1256,6 +1259,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
|
* 曲子:1795013295024062466(春暖花开),如果音符有times信息,休止符没有times信息,此种规则是认为休止符不参与时值计算的,需要过滤掉该休止符
|
|
|
*/
|
|
|
if (state.isEvxml && note.isRestFlag && note?.noteTimeInfo?.length === 0 && state.xmlHasTimes) {
|
|
|
+ note.maxNoteNum = note.maxNoteNum - 1;
|
|
|
continue;
|
|
|
}
|
|
|
let evNoteStartTime = 0, evNoteEndTime = 0;
|
|
@@ -1363,7 +1367,13 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
|
nodeDetail.noteLength = maxNum || 1;
|
|
|
allNotes.push(nodeDetail);
|
|
|
allNoteId.push(nodeDetail.id);
|
|
|
- measures.push(nodeDetail);
|
|
|
+ if ( measures.some((item: any) => item.MeasureNumberXML !== nodeDetail.MeasureNumberXML) ) {
|
|
|
+ measures = [];
|
|
|
+ measures.push(nodeDetail);
|
|
|
+ nodeDetail.measures = measures;
|
|
|
+ } else {
|
|
|
+ measures.push(nodeDetail);
|
|
|
+ }
|
|
|
|
|
|
* bug: #9877
|
|
|
* 多分轨合并展示的曲子,不同分轨,同一小节音符的数量可能不能,不能只通过tickables的长度判断该小节的音符数量
|