Browse Source

Merge branch 'feature-tianyong-newVersion' into ktyq-test-new

TIANYONG 7 months ago
parent
commit
5011baf05d
2 changed files with 17 additions and 6 deletions
  1. 15 4
      src/helpers/formateMusic.ts
  2. 2 2
      vite.config.ts

+ 15 - 4
src/helpers/formateMusic.ts

@@ -850,6 +850,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 
 
 	let preNoteEndTime = 0; // 上一个音符的结束时间
 	let preNoteEndTime = 0; // 上一个音符的结束时间
 
 
+	let preNoteMeasureNumber = 1; // 上一个小节的number值
+
 	const _notes = [] as any[];
 	const _notes = [] as any[];
 	if (state.gradualTimes) {
 	if (state.gradualTimes) {
 		console.log("后台设置的渐慢小节时间", state.gradual, state.gradualTimes);
 		console.log("后台设置的渐慢小节时间", state.gradual, state.gradualTimes);
@@ -1264,10 +1266,18 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				multipleRestMeasures = 0;
 				multipleRestMeasures = 0;
 			}
 			}
 			if (multipleRestMeasures < totalMultipleRestMeasures) {
 			if (multipleRestMeasures < totalMultipleRestMeasures) {
-				multipleRestMeasures++;
+				if (note?.sourceMeasure?.MeasureNumberXML !== preNoteMeasureNumber) {
+					multipleRestMeasures++;
+				} else {
+					multipleRestMeasures = allNotes.length ? allNotes.last().multipleRestMeasures : 0;
+				}
 			} else {
 			} else {
-				multipleRestMeasures = 0;
-				totalMultipleRestMeasures = 0;
+				if (note?.sourceMeasure?.MeasureNumberXML !== preNoteMeasureNumber) {
+					multipleRestMeasures = 0;
+					totalMultipleRestMeasures = 0;
+				} else {
+					multipleRestMeasures = allNotes.length ? allNotes.last().multipleRestMeasures : 0;
+				}
 			}
 			}
 
 
 			// console.log(note.tie)
 			// console.log(note.tie)
@@ -1393,7 +1403,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				notBeatTime: state.isEvxml && evNoteStartTime ? retain(evNoteStartTime) : retain(relativeTime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)), // 不含节拍器的 音符开始时间
 				notBeatTime: state.isEvxml && evNoteStartTime ? retain(evNoteStartTime) : retain(relativeTime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)), // 不含节拍器的 音符开始时间
 				notBeatEndTime: state.isEvxml && evNoteEndTime ? retain(evNoteEndTime) : retain(relaEndtime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)) // 不含节拍器的 音符结束时间
 				notBeatEndTime: state.isEvxml && evNoteEndTime ? retain(evNoteEndTime) : retain(relaEndtime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)) // 不含节拍器的 音符结束时间
 			};
 			};
-			console.log('当前的小节',nodeDetail.MeasureNumberXML,totalMultipleRestMeasures,multipleRestMeasures)
+			// console.log(i,'当前的小节',nodeDetail.MeasureNumberXML,totalMultipleRestMeasures,multipleRestMeasures)
 			// 如果是妙极客的曲子,并且第二遍循环播放需要等待时间,并且是第二遍循环的第一个小节的第一个音符
 			// 如果是妙极客的曲子,并且第二遍循环播放需要等待时间,并且是第二遍循环的第一个小节的第一个音符
 			// if (state.isEvxml && state.secondEvXmlBeginTime && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
 			// if (state.isEvxml && state.secondEvXmlBeginTime && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
 			// 	nodeDetail.time = nodeDetail.time + state.secondEvXmlBeginTime;
 			// 	nodeDetail.time = nodeDetail.time + state.secondEvXmlBeginTime;
@@ -1449,6 +1459,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 			}
 			preNoteEndTime = nodeDetail.endtime;
 			preNoteEndTime = nodeDetail.endtime;
 		}
 		}
+		preNoteMeasureNumber = note?.sourceMeasure?.MeasureNumberXML;
 		i++;
 		i++;
 	}
 	}
 	// 按照时间轴排序
 	// 按照时间轴排序

+ 2 - 2
vite.config.ts

@@ -76,8 +76,8 @@ export default defineConfig({
         // target: "https://kt.colexiu.com",
         // target: "https://kt.colexiu.com",
         // target: "https://test.lexiaoya.cn",
         // target: "https://test.lexiaoya.cn",
         // target: "https://kt.colexiu.com",
         // target: "https://kt.colexiu.com",
-        // target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
-        target: "https://test.kt.colexiu.com",
+        target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
+        // target: "https://test.kt.colexiu.com",
         // target: "https://mec.colexiu.com",
         // target: "https://mec.colexiu.com",
         changeOrigin: true,
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/instrument/, ""),
         rewrite: (path) => path.replace(/^\/instrument/, ""),