Explorar o código

fix: 选段bug修复

TIANYONG hai 1 ano
pai
achega
e6c6686dfa
Modificáronse 2 ficheiros con 7 adicións e 2 borrados
  1. 6 1
      src/helpers/formateMusic.ts
  2. 1 1
      src/state.ts

+ 6 - 1
src/helpers/formateMusic.ts

@@ -678,6 +678,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	const allNoteId: string[] = [];
 	const allMeasures: any[] = [];
 	const { originSpeed: baseSpeed } = state;
+	let preMeasureNumber = 0;
 	const formatRealKey = (realKey: number, detail: any) => {
 		// 不是管乐迷, 不处理
 		// if (state.appName !== "GYM") return realKey;
@@ -817,7 +818,11 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	console.log('变速曲子',hasVaryingSpeed)
 	for (let { note, iterator, currentTime, isDouble, isMutileSubject } of _notes) {
 		if (note) {
-			if (si === 0) {
+			if (preMeasureNumber != note?.sourceMeasure?.MeasureNumberXML) {
+				si = 0
+			}
+			if (si === 0 && preMeasureNumber != note?.sourceMeasure?.MeasureNumberXML) {
+				preMeasureNumber = note?.sourceMeasure?.MeasureNumberXML
 				allMeasures.push(note.sourceMeasure);
 			}
 			if (si === 0 && state.isSpecialBookCategory) {

+ 1 - 1
src/state.ts

@@ -555,7 +555,7 @@ const handlePlaying = () => {
 
       // if (Math.abs(selectEndItem.endtime - currentTime) < offset_duration) {
         // if (currentTime - selectEndItem.endtime > offset_duration) {
-          console.log(currentTime,selectEndItem.endtime)
+          //console.log(currentTime,selectEndItem.endtime)
         if (currentTime - selectEndItem.endtime >= 0) {
         console.log("选段播放结束",state.setting.repeatAutoPlay);
         // 如果为选段评测模式