|
@@ -434,13 +434,13 @@ class Metronome {
|
|
|
if (j == 0) {
|
|
|
currentIdx = 0
|
|
|
} else {
|
|
|
- beatNum += CompoundTempoArr[j];
|
|
|
+ beatNum += CompoundTempoArr[j-1];
|
|
|
currentIdx = beatNum
|
|
|
}
|
|
|
// 如果是87拍,并且是3+2+2的组合,第二拍的节拍指针需要定位到第四个音符的位置
|
|
|
- if (measure.numerator === 7 && measure.denominator === 8 && measure.CompoundTempo === '3+2+2' && j === 1) {
|
|
|
- currentIdx += 1;
|
|
|
- }
|
|
|
+ // if (measure.numerator === 7 && measure.denominator === 8 && measure.CompoundTempo === '3+2+2' && j === 1) {
|
|
|
+ // currentIdx += 1;
|
|
|
+ // }
|
|
|
if (measure.stepList[currentIdx]) {
|
|
|
left = measure.stepList[currentIdx] + "px";
|
|
|
} else {
|
|
@@ -459,35 +459,6 @@ class Metronome {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- // for (let i = 0; i < measures.length; i++) {
|
|
|
- // const measure = measures[i];
|
|
|
- // const noteStep = measure.time / measure.numerator;
|
|
|
- // // console.log("🚀 ~ measure.measureNumberXML",measure.measureNumberXML, noteStep)
|
|
|
- // const WIDTH = 100;
|
|
|
- // const widthStep = WIDTH / (measure.numerator + 1);
|
|
|
- // metroMeasure[i] = [] as number[];
|
|
|
- // // console.log('stepList', [...measure.stepList], measure.measureNumberXML)
|
|
|
- // for (let j = 0; j < measure.numerator; j++) {
|
|
|
- // const time = noteStep * j + measure.start;
|
|
|
- // metroList.push(time);
|
|
|
- // let left = "";
|
|
|
- // if (measure.stepList[j]) {
|
|
|
- // left = measure.stepList[j] + "px";
|
|
|
- // } else {
|
|
|
- // const preLeft = measure.stepList[j - 1];
|
|
|
- // left = !preLeft ? `${widthStep}%` : preLeft.toString().indexOf("%") > -1 ? `${preLeft} + ${widthStep}%` : `${preLeft}px + ${widthStep}%`;
|
|
|
- // measure.stepList[j] = left;
|
|
|
- // }
|
|
|
- // metroMeasure[i].push({
|
|
|
- // index: j,
|
|
|
- // time,
|
|
|
- // // left: (measure.stepList[j] ? measure.stepList[j] + 'px' : (j + 1) * widthStep + '%'),
|
|
|
- // left: left?.indexOf("%") > -1 ? `calc(${left})` : left,
|
|
|
- // measureNumberXML: measure.measureNumberXML,
|
|
|
- // isRestFlag: measure.isRestFlag,
|
|
|
- // });
|
|
|
- // }
|
|
|
- // }
|
|
|
} catch (error) {
|
|
|
console.log(error);
|
|
|
}
|
|
@@ -537,10 +508,10 @@ export function getBeatTypeArr(numerator?:number, denominator?:number, CompoundT
|
|
|
//7/8拍根据谱面的CompoundTempo来特殊处理
|
|
|
if(CompoundTempo==="2+2+3"){
|
|
|
loopArr = [-2/7, 2/7, 3/7]
|
|
|
- }if(CompoundTempo==="2+3+2"){
|
|
|
+ }else if(CompoundTempo==="2+3+2"){
|
|
|
loopArr = [-2/7, 3/7, 2/7]
|
|
|
}else{
|
|
|
- loopArr = [-3/7, 2/7, 3/7]
|
|
|
+ loopArr = [-3/7, 2/7, 2/7]
|
|
|
}
|
|
|
break;
|
|
|
case "9/8":
|