Prechádzať zdrojové kódy

feat: 节拍器修改

TIANYONG 6 mesiacov pred
rodič
commit
374a28b4e8
1 zmenil súbory, kde vykonal 9 pridanie a 43 odobranie
  1. 9 43
      src/helpers/metronome.ts

+ 9 - 43
src/helpers/metronome.ts

@@ -341,48 +341,15 @@ class Metronome {
 						svgs: [] as any[],
 						isRestFlag: note.isRestFlag,
 					};
-					// 2.统计小节的拍数
-					// 3.统计小节的时长, 开始时间,结束时间
-					// console.log(measureNumberXML,note.measures, times.filter((n: any) => n?.noteElement?.sourceMeasure?.measureListIndex == measureListIndex))
-					if ([121].includes(state.subjectId)) {
-						const _measures = times.filter((n: any) => n?.noteElement?.sourceMeasure?.measureListIndex == measureListIndex);
-						note.measures = _measures;
-						m.start = note.measures[0].time;
-						m.end = note.measures[note.measures.length - 1].endtime;
-						m.time = note.measures[note.measures.length - 1].endtime - note.measures[0].time;
-						try {
-							const tickables = note.noteElement.sourceMeasure.verticalMeasureList.reduce((arr: any[], value: any) => {
-								arr.push(...value.vfVoices["1"].tickables);
-								return arr;
-							}, []);
-							const xList: any[] = [];
-							m.svgs = tickables
-								.map((n: any) => {
-									const x = n.getBoundingBox().x;
-									if (!xList.includes(x) && n.duration !== "w") {
-										xList.push(x);
-										n._start_x = x;
-										return n;
-									}
-								})
-								.filter(Boolean)
-								.sort((a: any, b: any) => a._start_x - b._start_x);
-							// console.log(measureNumberXML, m.svgs)
-						} catch (error) {
-							console.log(error);
-						}
-						m.stepList = calculateMutilpleMetroStep(note.measures, m);
-					} else {
-						/**
-						 * bug:#9877
-						 * 多分轨合并显示,不同分轨的音符数量可能不同
-						 */
-						let measureArr = note.measures;
-						if (state.isCombineRender) {
-							measureArr = measureArr.filter((item: any) => item.MeasureNumberXML === m.measureNumberXML)
-						}
-						m.stepList = calculateMetroStep(measureArr, m);
+					/**
+					 * bug:#9877
+					 * 多分轨合并显示,不同分轨的音符数量可能不同
+					 */
+					let measureArr = note.measures;
+					if (state.isCombineRender) {
+						measureArr = measureArr.filter((item: any) => item.MeasureNumberXML === m.measureNumberXML)
 					}
+					m.stepList = calculateMetroStep(measureArr, m);					
 					measures.push(m);
 					xmlNumber = measureNumberXML;
 				}
@@ -405,8 +372,7 @@ class Metronome {
 				const measure = measures[i];
 				const noteStep = measure.time / measure.numerator;
 				// console.log("🚀 ~ measure.measureNumberXML",measure.measureNumberXML, noteStep)
-				const WIDTH = [121].includes(state.subjectId) ? 95 : 100;
-				const widthStep = WIDTH / (measure.numerator + 1);
+				const widthStep = 100 / (measure.numerator + 1);
 				metroMeasure[i] = [] as number[];
 				// console.log('stepList', [...measure.stepList], measure.measureNumberXML)
 				for (let j = 0; j < measure.numerator; j++) {