|
@@ -9,6 +9,7 @@ import queryString from "query-string";
|
|
|
import { getGradualLengthByXml } from "/src/helpers/calcSpeed";
|
|
|
import { resetFormate, resetGivenFormate, setGlobalMusicSheet } from "/src/helpers/customMusicScore"
|
|
|
import { setGlobalData } from "/src/utils";
|
|
|
+import Loading from "/src/view/audio-list/loading"
|
|
|
|
|
|
export const musicRenderTypeKey = "musicRenderType";
|
|
|
let osmd: any = null;
|
|
@@ -17,6 +18,7 @@ const musicData = reactive({
|
|
|
isRenderLoading: true,
|
|
|
score: "",
|
|
|
containerWidth: 0,
|
|
|
+ isRefreshLoading: false,
|
|
|
});
|
|
|
|
|
|
/** 重新渲染曲谱 */
|
|
@@ -57,7 +59,7 @@ export default defineComponent({
|
|
|
default: false,
|
|
|
},
|
|
|
},
|
|
|
- setup(props, { emit, slots }) {
|
|
|
+ setup(props, { emit, slots, expose }) {
|
|
|
/** 设置 曲谱模式,五线谱还是简谱 */
|
|
|
const setRenderType = () => {
|
|
|
const musicRenderType: any = sessionStorage.getItem(props.renderTypeKey || musicRenderTypeKey);
|
|
@@ -162,6 +164,34 @@ export default defineComponent({
|
|
|
}
|
|
|
return result;
|
|
|
});
|
|
|
+
|
|
|
+ /** 刷新曲谱 */
|
|
|
+ const refreshMusicScore = async () => {
|
|
|
+ console.log('刷新谱面123')
|
|
|
+ const container = document.getElementById('musicAndSelection'), svgDom = document.getElementById('osmdCanvasPage1'), selectionBox = document.getElementById('selectionBox');
|
|
|
+ if (container && svgDom) {
|
|
|
+ container?.removeChild(svgDom)
|
|
|
+ container?.removeChild(selectionBox)
|
|
|
+ }
|
|
|
+ state.vfmeasures = [];
|
|
|
+ musicData.showSelection = false;
|
|
|
+ state.osmd.clear();
|
|
|
+ musicData.isRenderLoading = true;
|
|
|
+ musicData.isRefreshLoading = true;
|
|
|
+ state.audioDone = false;
|
|
|
+ getContainerWidth();
|
|
|
+ setRenderType();
|
|
|
+ await getXML();
|
|
|
+ await init();
|
|
|
+ musicData.isRenderLoading = false;
|
|
|
+ musicData.isRefreshLoading = false;
|
|
|
+ state.audioDone = true;
|
|
|
+ musicData.showSelection = true;
|
|
|
+ }
|
|
|
+ expose({
|
|
|
+ refreshMusicScore,
|
|
|
+ })
|
|
|
+
|
|
|
return () => (
|
|
|
<div
|
|
|
id="musicAndSelection"
|