|
@@ -316,7 +316,13 @@ export const getAllNodes = (osmd: any) => {
|
|
// ? getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator)
|
|
// ? getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator)
|
|
// : baseSpeed) || 1
|
|
// : baseSpeed) || 1
|
|
// #8456 光标和节拍对应不上等bug修复,
|
|
// #8456 光标和节拍对应不上等bug修复,
|
|
- let beatSpeed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1;
|
|
|
|
|
|
+ let beatSpeed = 1;
|
|
|
|
+ if (measureSpeed !== baseSpeed && !runtime.hasVaryingSpeed) {
|
|
|
|
+ beatSpeed = baseSpeed || measureSpeed || 100
|
|
|
|
+ } else {
|
|
|
|
+ beatSpeed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1;
|
|
|
|
+ }
|
|
|
|
+ // let beatSpeed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1;
|
|
|
|
|
|
let speed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1
|
|
let speed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1
|
|
// console.log('曲谱设置的速度', { base: getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator), beatSpeed, speed})
|
|
// console.log('曲谱设置的速度', { base: getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator), beatSpeed, speed})
|
|
@@ -1121,14 +1127,19 @@ export const formatXML = (xml: string, initInfo?: InitXmlInfo): string => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
speeds = [...new Set(speeds)]
|
|
speeds = [...new Set(speeds)]
|
|
- const hasVaryingSpeed = speeds.length > 1 ? true : false
|
|
|
|
|
|
+ runtime.hasVaryingSpeed = speeds.length > 1 ? true : false
|
|
|
|
+ // 如果后台没有设置速度,默认取xml速度,如果xml也没有速度,默认赋值100
|
|
|
|
+ if (state.baseSpeed === 0) {
|
|
|
|
+ state.baseSpeed = speeds[0] ? speeds[0] : 100;
|
|
|
|
+ state.playSpeed = state.baseSpeed;
|
|
|
|
+ }
|
|
// 如果谱面和小节都没有打速度,osmd设置的小节速度默认取后台设置的速度
|
|
// 如果谱面和小节都没有打速度,osmd设置的小节速度默认取后台设置的速度
|
|
if (speeds.length === 0) {
|
|
if (speeds.length === 0) {
|
|
;(window as any).baseMeasureSpeed = state.baseSpeed
|
|
;(window as any).baseMeasureSpeed = state.baseSpeed
|
|
} else {
|
|
} else {
|
|
runtime.originAudioPlayRate = speeds[0] / state.baseSpeed
|
|
runtime.originAudioPlayRate = speeds[0] / state.baseSpeed
|
|
}
|
|
}
|
|
- console.log('是否是变速的曲子:',hasVaryingSpeed,speeds)
|
|
|
|
|
|
+ console.log('是否是变速的曲子:',runtime.hasVaryingSpeed,speeds)
|
|
|
|
|
|
const measures = xmlParse.getElementsByTagName('measure')
|
|
const measures = xmlParse.getElementsByTagName('measure')
|
|
let beats = -1
|
|
let beats = -1
|