|
@@ -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;
|