Przeglądaj źródła

feat: 切换指法修改

TIANYONG 11 miesięcy temu
rodzic
commit
b3538f6d7e

+ 1 - 0
src/helpers/customMusicScore.ts

@@ -540,6 +540,7 @@ export const resetFormate = () => {
 				Array.from(stave?.querySelectorAll(".vf-Volta") || []),
 				Array.from(stave?.querySelectorAll(".vf-clef") || []),
 				Array.from(stave?.querySelectorAll(".vf-keysignature") || []),
+				Array.from(stave?.querySelectorAll(".vf-Repetition") || []),
 				Array.from(stave?.getElementsByTagName("text") || []),
 			].flat();
 			try {

+ 2 - 2
src/page-instrument/view-detail/index.tsx

@@ -325,7 +325,7 @@ export default defineComponent({
               fingerBox: {
                 position: "absolute",
                 width: state.fingeringInfo.width,
-                height: "100%",
+                height: "80%",
                 right: state.playBtnDirection === "right" ? "initial" : 0,
                 left: state.playBtnDirection === "right" ? 0 : "initial",
                 top: 0,
@@ -339,7 +339,7 @@ export default defineComponent({
               fingerBox: {
                 position: "absolute",
                 width: state.fingeringInfo.width,
-                height: "100%",
+                height: "80%",
                 right: 0,
                 top: 0,
               },

+ 6 - 0
src/state.ts

@@ -19,6 +19,7 @@ import { moveSmoothAnimation, smoothAnimationState, moveSmoothAnimationByPlayTim
 import { storeData } from "/src/store";
 import { downloadXmlStr } from "./view/music-score"
 import { musicScoreRef } from "/src/page-instrument/view-detail/index"
+import { headTopData } from "/src/page-instrument/header-top/index";
 
 const query: any = getQuery();
 
@@ -1805,5 +1806,10 @@ watch(
         smoothAnimationState.osdmScrollDomWith = smoothAnimationState.osdmScrollDom.offsetWidth | 0
       }
     })
+    // 如果有指法,并且是竖向指法时,切换指法时,谱面宽度变化,需要重新渲染谱面
+    if (state.fingeringInfo?.name && state.fingeringInfo.direction === "vertical" && !state.isSingleLine) {
+      headTopData.settingMode = false;
+      refreshMusicSvg();
+    }
   }
 )