瀏覽代碼

feat: 切换指法修改

TIANYONG 11 月之前
父節點
當前提交
b3538f6d7e
共有 3 個文件被更改,包括 9 次插入2 次删除
  1. 1 0
      src/helpers/customMusicScore.ts
  2. 2 2
      src/page-instrument/view-detail/index.tsx
  3. 6 0
      src/state.ts

+ 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();
+    }
   }
 )