瀏覽代碼

Merge branch 'hqyDevNewVersion' of http://git.dayaedu.com/liushengqiang/music-score into feature-tianyong-newVersion

TIANYONG 9 月之前
父節點
當前提交
cc7bfeeb61
共有 2 個文件被更改,包括 9 次插入5 次删除
  1. 9 4
      src/helpers/metronome.ts
  2. 0 1
      src/state.ts

+ 9 - 4
src/helpers/metronome.ts

@@ -286,14 +286,19 @@ class Metronome {
 			const measureListIndex = note?.noteElement?.sourceMeasure?.measureListIndex;
 			if (measureNumberXML > -1) {
 				if (measureNumberXML != xmlNumber) {
+					// 弱起的时候 根据音符结尾时间减去音符开头时间,得到的不是正常小节的时间,然后平均分配节拍之后,当前节拍间隔会非常短 这里弱起拿正常
+					// 妙极客的弱起不受这个影响
+					let startTime = note.measures[0].time
+					if(!state.isEvxml && i === 0){
+						startTime = note.measures[note.measures.length - 1].endtime - note.measures[0].measureLength
+					}
 					const m = {
 						measureNumberXML: measureNumberXML,
 						measureNumberIndex: measureListIndex,
 						numerator: note?.noteElement?.sourceMeasure?.ActiveTimeSignature?.numerator || 0,
-						start: note.measures[0].time,
+						start: startTime,
 						end: note.measures[note.measures.length - 1].endtime,
-						// bug todo  弱起的时候 根据音符结尾时间减去音符开头时间,得到的不是正常小节的时间,然后平均分配节拍之后,当前节拍间隔会非常短
-						time: note.measures[note.measures.length - 1].endtime - note.measures[0].time,
+						time: note.measures[note.measures.length - 1].endtime - startTime,
 						stave_x: note?.noteElement?.sourceMeasure?.verticalMeasureList?.[0]?.stave?.x || 0,
 						end_x: note?.stave?.end_x || 0 || 0,
 						stepList: [] as number[],
@@ -385,7 +390,7 @@ class Metronome {
 		} catch (error) {
 			console.log(error);
 		}
-		// console.log('节拍器',metroList, metroMeasure);
+		console.log('节拍器',metroList, metroMeasure);
 		// 5.得到所有的节拍时间
 		metronomeData.metroList = metroList;
 		metronomeData.metroMeasure = metroMeasure;

+ 0 - 1
src/state.ts

@@ -1676,7 +1676,6 @@ export const addNoteBBox = (list: any[]) => {
       } : null;
       voicesBBox = currentVoicesBBox;
     }
-    //  todo  连续修止小节bug
     note.bbox = bbox;
   }
 }