Quellcode durchsuchen

Merge branch 'feature-tianyong-newVersion' into ktyq-test-new

TIANYONG vor 7 Monaten
Ursprung
Commit
3674f4a301
2 geänderte Dateien mit 23 neuen und 2 gelöschten Zeilen
  1. 11 2
      src/state.ts
  2. 12 0
      src/view/music-score/index.module.less

+ 11 - 2
src/state.ts

@@ -1834,7 +1834,8 @@ export const fillWordColor = () => {
     const stemLine = document.getElementById(`vf-${prevActiveNoteId}-lines`)
     svgEl?.classList.remove('noteActive')
     stemEl?.classList.remove('noteActive')
-    stemLine?.classList.remove('noteActive')
+    // stemLine?.classList.remove('noteActive')
+    svgEl?.parentElement?.classList.remove('voiceActive')
   }
   const activeNoteId = state.times[state.activeNoteIndex]?.svgElement?.attrs?.id
   const svgEl = document.getElementById(`vf-${activeNoteId}`)
@@ -1842,7 +1843,15 @@ export const fillWordColor = () => {
   const stemLine = document.getElementById(`vf-${activeNoteId}-lines`)
   svgEl?.classList.add('noteActive')
   stemEl?.classList.add('noteActive')
-  stemLine?.classList.add('noteActive')
+  // stemLine?.classList.add('noteActive')
+  // 如果是简谱、固定调,需要把音符后面跟着的"-"也添加颜色
+  if (state.musicRenderType === EnumMusicRenderType.firstTone || state.musicRenderType === EnumMusicRenderType.fixedTone) {
+    // const parentVoice = svgEl?.parentElement;
+    // 简谱模式下,二分音符和全音符才显示音符右侧的"-"
+    if (state.times[state.activeNoteIndex].noteElement?.length?.realValue >= 0.5) {
+      svgEl?.parentElement?.classList.add('voiceActive');
+    }
+  }
   prevActiveNoteIndex = state.activeNoteIndex
 
   // 给当前匹配到的歌词添加颜色

+ 12 - 0
src/view/music-score/index.module.less

@@ -46,6 +46,18 @@
             stroke: #FFC121;
         }
     }
+    .voiceActive {
+        rect {
+            fill: #FFC121;
+            stroke: #FFC121;
+        }
+    }
+    .vf-numbered_note_lines {
+        rect {
+            fill: #FFFFFF;
+            stroke: #FFFFFF;
+        }
+    }
     .blueMusicXml {
         .vf-stave {
             >path {