Browse Source

渐快渐慢间断 不播节拍器

黄琪勇 7 months ago
parent
commit
101604a41f
1 changed files with 15 additions and 1 deletions
  1. 15 1
      src/helpers/metronome.ts

+ 15 - 1
src/helpers/metronome.ts

@@ -324,6 +324,11 @@ class Metronome {
 			// console.log("🚀 ~ measureNumberXML", measureNumberXML, note)
 			// console.log("🚀 ~ measureNumberXML", note)
 			const measureListIndex = measureNumberXML - 1;
+			// 当渐快渐慢的时候  不播节拍器
+			if(isWithinRange(state.gradual, measureListIndex)){
+				xmlNumber = measureNumberXML;
+				continue
+			}
 			if (measureNumberXML > -1) {
 				if (measureNumberXML != xmlNumber) {
 					// 弱起的时候 根据音符结尾时间减去音符开头时间,得到的不是正常小节的时间,然后平均分配节拍之后,当前节拍间隔会非常短 这里弱起取整个小节的时间
@@ -688,5 +693,14 @@ function hideCursorTip() {
 		}, 2000);
 	}
 }
-
+function isWithinRange(ranges:any[], index:number) {
+	for (const range of ranges) {
+		const start = range[0].measureIndex;
+		const end = range[1].measureIndex;
+		if (index >= start && index <= end) {
+			return true;
+		}
+	}
+	return false;
+}
 export default Metronome;