|
@@ -215,10 +215,11 @@ export const getAllNodes = (osmd: any) => {
|
|
|
? getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator)
|
|
|
: baseSpeed) || 1
|
|
|
let speed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1
|
|
|
- console.log('曲谱设置的速度', { isTeshu:state.isSpecialBookCategory, beatSpeed, speed})
|
|
|
+ // console.log('曲谱设置的速度', { isTeshu:state.isSpecialBookCategory, beatSpeed, speed})
|
|
|
if (i === 0) {
|
|
|
fixtime += getFixTime(beatSpeed)
|
|
|
}
|
|
|
+ // console.log({fixtime, relativeTime})
|
|
|
let noteLength =
|
|
|
(numerator === 0 && note.isRestFlag ? vRealValue : (wholeValue + numerator) / denominator) *
|
|
|
vDenominator *
|
|
@@ -270,6 +271,7 @@ export const getAllNodes = (osmd: any) => {
|
|
|
usetime += noteLength
|
|
|
relaMeasureLength += noteLength
|
|
|
let relaEndtime = noteLength + relativeTime
|
|
|
+ console.log({noteLength,relativeTime ,relaEndtime, endtime: relaEndtime + fixtime})
|
|
|
const fixedKey = note.ParentVoiceEntry.ParentVoice.Parent.SubInstruments[0].fixedKey || 0
|
|
|
// const svgElelent = activeVerticalMeasureList[0]?.vfVoices['1']?.tickables[si]
|
|
|
const svgElelent = activeVerticalMeasureList[0]?.vfVoices['1']?.tickables[staveNoteIndex]
|
|
@@ -586,7 +588,8 @@ export const getIndex = (times: any[], currentTime: Number) => {
|
|
|
return index
|
|
|
}
|
|
|
|
|
|
-export const getSlursNote = (note: any, pos?: 'start' | 'end') => {
|
|
|
+export const getSlursNote = (_note: any, pos?: 'start' | 'end') => {
|
|
|
+ const note: any = state.times.find((n: any) => n.NoteToGraphicalNoteObjectId == _note.NoteToGraphicalNoteObjectId) || {}
|
|
|
let itemNote = pos === 'end' ? note.noteElement.slurs[0]?.endNote : note.noteElement.slurs[0]?.startNote
|
|
|
// console.log("🚀 ~ itemNote", itemNote, note)
|
|
|
if (!itemNote) return undefined
|
|
@@ -729,11 +732,16 @@ export const getDuration = (osmd: any): any => {
|
|
|
const firstMeasure = osmd?.graphic?.measureList[0][0]
|
|
|
// console.log(osmd?.graphic?.measureList[0][0]?.parentSourceMeasure)
|
|
|
if (firstMeasure) {
|
|
|
- const { duration, tempoInBPM, activeTimeSignature } = firstMeasure?.parentSourceMeasure
|
|
|
+ const { duration, tempoInBPM, activeTimeSignature, TempoExpressions } = firstMeasure?.parentSourceMeasure
|
|
|
if (duration) {
|
|
|
+ let beatUnit = 'quarter'
|
|
|
+ for (const item of TempoExpressions) {
|
|
|
+ beatUnit = item.InstantaneousTempo.beatUnit || 'quarter'
|
|
|
+ }
|
|
|
return {
|
|
|
...formatDuration(activeTimeSignature, duration),
|
|
|
tempoInBPM,
|
|
|
+ beatUnit
|
|
|
}
|
|
|
}
|
|
|
}
|