import { defineComponent, reactive } from "vue"; import styles from "./index.module.less" import { headImg } from "../image"; import { headTopData } from "../index" import { Switch, showToast, Field, Popup } from "vant"; import state, { refreshMusicSvg } from "/src/state" import { smoothAnimationState} from "/src/page-instrument/view-detail/smoothAnimation" import Recommendation from "../../custom-plugins/helper-model/recommendation"; import { resetRenderMusicScore } from "/src/view/music-score"; export default defineComponent({ name: "settting", setup() { const helperData = reactive({ screenModelShow: false, // 投屏帮助 recommendationShow: false, // 建议 }); // 加减评测频率 const operateHz = (type: number) => { const minFrequency = state.baseFrequency - 10, maxFrequency = state.baseFrequency + 10 let currentFrequency = state.setting.frequency if (type === 1) { if (currentFrequency - 1 < minFrequency) return showToast({ message: `最低标准音高${minFrequency}HZ` }) currentFrequency = currentFrequency - 1 } else { if (currentFrequency + 1 > maxFrequency) return showToast({ message: `最高标准音高${maxFrequency}HZ` }) currentFrequency = currentFrequency + 1 } state.setting.frequency = currentFrequency >= 0 ? currentFrequency : 0 } const formatterTimeMs = (value: any) => value = String(Math.min(3000, value)); return () => (
{ headTopData.settingMode = false }} />
指法
循环播放
旋律线
延迟检测
标准音高
operateHz(1)} />
{state.setting.frequency}HZ
operateHz(2)} />
反应时间
毫秒
切换谱面
{ [{name:'单行谱',value:true},{name:'多行谱',value:false}].map(item=>{ return
{ state.isSingleLine = item.value // resetRenderMusicScore(state.musicRenderType) headTopData.settingMode = false refreshMusicSvg(); // musicScoreRef.value?.refreshMusicScore() } }>{item.name}
}) }
转谱
{ [{name:'五线谱',value:'staff'},{name:'首调',value:'firstTone'},{name:'固定谱',value:'fixedTone'}].map(item=>{ return
{ state.musicRenderType = item.value as any // resetRenderMusicScore(state.musicRenderType) headTopData.settingMode = false refreshMusicSvg(); } }>{item.name}
}) }
(helperData.recommendationShow = true)} />
{ helperData.recommendationShow = false; }} />
); }, });