|
@@ -14,6 +14,8 @@ import {
|
|
|
OpenSheetMusicDisplay,
|
|
|
} from "/osmd-extended/src";
|
|
|
import { GradualChange, speedInfo } from "./calcSpeed";
|
|
|
+import { beatUnitTo } from "/src/helpers/beatConfig"
|
|
|
+
|
|
|
const browserInfo = browser();
|
|
|
dayjs.extend(duration);
|
|
|
|
|
@@ -677,6 +679,13 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
|
|
|
state.originSpeed = speeds[0] ? speeds[0] : 100;
|
|
|
state.speed = state.originSpeed;
|
|
|
}
|
|
|
+ // 赋值谱面速度节拍器,没有的时候 以后台传入的为准
|
|
|
+ const metronomeXml = xmlParse.getElementsByTagName('metronome')?.[0]
|
|
|
+ const beatUnit = metronomeXml?.getElementsByTagName('beat-unit')?.[0]?.textContent || ''
|
|
|
+ if(beatUnit){
|
|
|
+ const beatUnitDot = metronomeXml?.getElementsByTagName('beat-unit-dot')?.[0]
|
|
|
+ state.speedBeatUnit = beatUnitTo(beatUnit, !!beatUnitDot)
|
|
|
+ }
|
|
|
// 如果谱面和小节都没有打速度,osmd设置的小节速度默认取后台设置的速度
|
|
|
if (speeds.length === 0) {
|
|
|
;(window as any).baseMeasureSpeed = state.originSpeed
|