|
@@ -1113,6 +1113,21 @@ export type InitXmlInfo = {
|
|
export const formatXML = (xml: string, initInfo?: InitXmlInfo): string => {
|
|
export const formatXML = (xml: string, initInfo?: InitXmlInfo): string => {
|
|
if (!xml) return ''
|
|
if (!xml) return ''
|
|
const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
|
|
const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
|
|
|
|
+ const minutes = xmlParse.getElementsByTagName("per-minute");
|
|
|
|
+ let speeds: any = []
|
|
|
|
+ for (const minute of minutes) {
|
|
|
|
+ if (minute.textContent && !!Number(minute.textContent)) {
|
|
|
|
+ speeds.push(Number(minute.textContent))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ speeds = [...new Set(speeds)]
|
|
|
|
+ const hasVaryingSpeed = speeds.length > 1 ? true : false
|
|
|
|
+ // 如果谱面和小节都没有打速度,osmd设置的小节速度默认取后台设置的速度
|
|
|
|
+ if (speeds.length === 0) {
|
|
|
|
+ ;(window as any).baseMeasureSpeed = state.baseSpeed
|
|
|
|
+ }
|
|
|
|
+ console.log('是否是变速的曲子:',hasVaryingSpeed,speeds)
|
|
|
|
+
|
|
const measures = xmlParse.getElementsByTagName('measure')
|
|
const measures = xmlParse.getElementsByTagName('measure')
|
|
let beats = -1
|
|
let beats = -1
|
|
let beatType = -1
|
|
let beatType = -1
|