Browse Source

Merge remote-tracking branch 'origin/hqyDev' into feature-tianyong

TIANYONG 5 months ago
parent
commit
e348df83a4
3 changed files with 11 additions and 4 deletions
  1. 2 2
      src/helpers/formateMusic.ts
  2. 8 1
      src/view/selection/index.tsx
  3. 1 1
      src/view/tick/index.tsx

+ 2 - 2
src/helpers/formateMusic.ts

@@ -661,8 +661,8 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
 	for (const minute of minutes) {
 		let measureSpeed = minute.textContent ? Number(minute.textContent) : 0;
 		// 速度带附点,需要转换成不带附点的速度值
-		const hasSpeedDot = Array.from(minute?.parentElement?.children || []).some((item: any) => item?.tagName === 'beat-unit-dot')
-		measureSpeed = hasSpeedDot ? measureSpeed + measureSpeed/2 : measureSpeed;
+		// const hasSpeedDot = Array.from(minute?.parentElement?.children || []).some((item: any) => item?.tagName === 'beat-unit-dot')
+		// measureSpeed = hasSpeedDot ? measureSpeed + measureSpeed/2 : measureSpeed;
 		if (minute.textContent && measureSpeed) {
 			speeds.push(Number(measureSpeed))
 		}

+ 8 - 1
src/view/selection/index.tsx

@@ -314,7 +314,14 @@ export default defineComponent({
 											`measureIndex_${item.MeasureNumberXML}`
 										]}
 										style={item.staveBox}
-										onClick={() => handleSelection(item)}
+										onClick={() => {
+											// 当为连续休止小节的结束选段的时候 应该传休止小节 结束的位置
+											let staveItem = item
+											if(state.section.length === 1 && item.totalMultipleRestMeasures > 0){
+												staveItem = selectData.staves[index + item.totalMultipleRestMeasures - 1]
+											}
+											handleSelection(staveItem)	
+										}}
 									>
 										{lineShow && (
 											<div style={{height: selectData.measureHeight + 'px', position: 'relative'}}>

+ 1 - 1
src/view/tick/index.tsx

@@ -70,7 +70,7 @@ const handlePlay = (i: number, source: any | null) => {
 		} else {
 			_time=setTimeout(() => {
 				tickPlayCb(i, resolve, source);
-			}, Math.abs(tickData.beatLengthInMilliseconds[i-1])*1000/state.basePlayRate);
+			}, Math.abs(tickData.beatLengthInMilliseconds[i-1])*1000/state.basePlayRate/state.originAudioPlayRate);
 		}
 	});
 };