|
@@ -852,7 +852,28 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
if (metronomeNoteIndex !== 0 && metronomeNoteIndex > si) {
|
|
if (metronomeNoteIndex !== 0 && metronomeNoteIndex > si) {
|
|
measureSpeed = allNotes[allNotes.length - 1]?.speed || 100;
|
|
measureSpeed = allNotes[allNotes.length - 1]?.speed || 100;
|
|
}
|
|
}
|
|
- const activeVerticalMeasureList = [note.sourceMeasure.verticalMeasureList?.[0]] || [];
|
|
|
|
|
|
+ // 当前的分轨
|
|
|
|
+ let activeVerticalMeasureList: any = [];
|
|
|
|
+ /**
|
|
|
|
+ * bug: #9959
|
|
|
|
+ * 多分轨合并展示,第一分轨又可能获取不到对应的音符,需要在当前小节中音符最多的分轨中去查找音符
|
|
|
|
+ */
|
|
|
|
+ // if (state.isCombineRender) {
|
|
|
|
+ // const allTrackList = note.sourceMeasure.verticalMeasureList;
|
|
|
|
+ // let maxIdx = 0, maxNote = 0;
|
|
|
|
+ // allTrackList.forEach((item: any, index: number) => {
|
|
|
|
+ // if (item?.vfVoices['1']?.tickables?.length > maxNote) {
|
|
|
|
+ // maxIdx = index
|
|
|
|
+ // maxNote = item?.vfVoices['1']?.tickables?.length
|
|
|
|
+ // }
|
|
|
|
+ // })
|
|
|
|
+ // activeVerticalMeasureList = [note.sourceMeasure?.verticalMeasureList?.[maxIdx]] || [];
|
|
|
|
+ // } else {
|
|
|
|
+ // activeVerticalMeasureList = [note.sourceMeasure?.verticalMeasureList?.[0]] || [];
|
|
|
|
+ // }
|
|
|
|
+
|
|
|
|
+ activeVerticalMeasureList = [note.sourceMeasure?.verticalMeasureList?.[0]] || [];
|
|
|
|
+
|
|
const { realValue } = iterator.currentTimeStamp;
|
|
const { realValue } = iterator.currentTimeStamp;
|
|
const { RealValue: vRealValue, Denominator: vDenominator } = formatDuration(
|
|
const { RealValue: vRealValue, Denominator: vDenominator } = formatDuration(
|
|
iterator.currentMeasure.activeTimeSignature,
|
|
iterator.currentMeasure.activeTimeSignature,
|
|
@@ -976,6 +997,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
const fixedKey = note.fixedKey || 0;
|
|
const fixedKey = note.fixedKey || 0;
|
|
// const svgElement = activeVerticalMeasureList[0]?.vfVoices["1"]?.tickables[si];
|
|
// const svgElement = activeVerticalMeasureList[0]?.vfVoices["1"]?.tickables[si];
|
|
const svgElement = activeVerticalMeasureList[0]?.vfVoices['1']?.tickables[staveNoteIndex];
|
|
const svgElement = activeVerticalMeasureList[0]?.vfVoices['1']?.tickables[staveNoteIndex];
|
|
|
|
+
|
|
// console.log('si',si,i)
|
|
// console.log('si',si,i)
|
|
// console.log(note.sourceMeasure.MeasureNumberXML,note,svgElement, NoteRealValue, measureLength)
|
|
// console.log(note.sourceMeasure.MeasureNumberXML,note,svgElement, NoteRealValue, measureLength)
|
|
if (allNotes.length && allNotes[allNotes.length - 1].relativeTime === relativeTime) {
|
|
if (allNotes.length && allNotes[allNotes.length - 1].relativeTime === relativeTime) {
|