Browse Source

feat: 设置里增加合并休止小节设置

TIANYONG 3 months ago
parent
commit
c140ef86ac
3 changed files with 21 additions and 3 deletions
  1. 17 1
      src/page-instrument/header-top/settting/index.tsx
  2. 2 0
      src/state.ts
  3. 2 2
      src/view/music-score/index.tsx

+ 17 - 1
src/page-instrument/header-top/settting/index.tsx

@@ -84,7 +84,23 @@ export default defineComponent({
                                     <div class={styles.tit}>循环播放</div>
                                     <Switch v-model={state.setting.repeatAutoPlay}></Switch>
                                 </div>
-                        }                        
+                        }      
+                        {                      
+                            <div class={styles.cellBox}>
+                                <div class={styles.tit}>合并休止小节</div>
+                                <Switch 
+                                    v-model={state.setting.combineMultipleRest}
+                                    onChange={ async (value) => {
+                                        await checkMoveNoSave();
+                                        headTopData.settingMode = false
+                                        const _time = setTimeout(() => {
+                                            clearTimeout(_time)
+                                            refreshMusicSvg();
+                                        }, 100);
+                                    }}
+                                ></Switch>
+                            </div>
+                        }                                           
                         {/* {
                             state.isSingleLine && state.modeType === "practise" && !state.isCombineRender && !state.isPercussion && 
                                 <div class={styles.cellBox}>

+ 2 - 0
src/state.ts

@@ -441,6 +441,8 @@ const state = reactive({
     reactionTimeMs: 0,
     /** 节拍器音量 */
     beatVolume: 50,
+    /** 合并休止小节 */
+    combineMultipleRest: true,
   },
   /** 后台设置的基准评测频率 */
   baseFrequency: 440,

+ 2 - 2
src/view/music-score/index.tsx

@@ -97,7 +97,6 @@ export default defineComponent({
 					drawComposer: false, // 渲染作词家
 					// pageBackgroundColor: '#609FCF',
 					// autoGenerateMultipleRestMeasuresFromRestMeasures: state.isSingleLine ? false : true, // 连续休止小节是否合并显示
-					autoGenerateMultipleRestMeasuresFromRestMeasures: true,
 					// darkMode: true, // 暗黑模式
 					// pageFormat: 'A4_P',
 					// autoBeam: true,
@@ -115,7 +114,8 @@ export default defineComponent({
 				drawLyrics: (((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
 				drawPartNames: props.showPartNames, // 是否渲染声轨名称
 				defaultColorMusic: props.musicColor, // 颜色
-				renderSingleHorizontalStaffline: state.isSingleLine ? true : false
+				renderSingleHorizontalStaffline: state.isSingleLine ? true : false,
+				autoGenerateMultipleRestMeasuresFromRestMeasures: state.setting.combineMultipleRest, // 是否自动合并休止小节
 			})
 			// osmd.EngravingRules.CompactMode = true // 紧凑模式
 			// osmd.EngravingRules.PageRightMargin = state.isSingleLine ? (window.innerWidth+200)/10 : 2;