|
@@ -603,7 +603,7 @@ export const formatXML = (xml: string): string => {
|
|
|
// }
|
|
|
// }
|
|
|
// console.log(11111,Array.from(xmlParse.getElementsByTagName("staffline")),Array.from(xmlParse.getElementsByTagName("words")))
|
|
|
- // let speed = -1
|
|
|
+ let speed = -1
|
|
|
let beats = -1;
|
|
|
let beatType = -1;
|
|
|
// 小节中如果没有节点默认为休止符
|
|
@@ -614,9 +614,9 @@ export const formatXML = (xml: string): string => {
|
|
|
if (beatType === -1 && measure.getElementsByTagName("beat-type").length) {
|
|
|
beatType = parseInt(measure.getElementsByTagName("beat-type")[0].textContent || "4");
|
|
|
}
|
|
|
- // if (speed === -1 && measure.getElementsByTagName('per-minute').length) {
|
|
|
- // speed = parseInt(measure.getElementsByTagName('per-minute')[0].textContent || this.firstLib?.speed)
|
|
|
- // }
|
|
|
+ if (speed === -1 && measure.getElementsByTagName('per-minute').length) {
|
|
|
+ speed = Number(measure.getElementsByTagName('per-minute')[0]?.textContent)
|
|
|
+ }
|
|
|
const divisions = parseInt(measure.getElementsByTagName("divisions")[0]?.textContent || "256");
|
|
|
if (measure.getElementsByTagName("note").length === 0) {
|
|
|
const forwardTimeElement = measure.getElementsByTagName("forward")[0]?.getElementsByTagName("duration")[0];
|
|
@@ -634,6 +634,10 @@ export const formatXML = (xml: string): string => {
|
|
|
</note>`;
|
|
|
}
|
|
|
}
|
|
|
+ // 如果曲谱详情接口没有返回速度,则取xml第一小节的速度,如果取不到,则取默认速度:100
|
|
|
+ if (!state.originSpeed) {
|
|
|
+ state.originSpeed = state.speed = speed || 100
|
|
|
+ }
|
|
|
return new XMLSerializer().serializeToString(xmlParse);
|
|
|
};
|
|
|
|