TIANYONG hai 1 ano
pai
achega
3e56faf0e5

+ 4 - 2
src/helpers/formateMusic.ts

@@ -713,6 +713,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	while (!iterator.EndReached) {
 		// console.log({ ...iterator });
 		const voiceEntries = iterator.CurrentVoiceEntries?.[0] ? [iterator.CurrentVoiceEntries?.[0]] : [];
+
 		let currentVoiceEntries: any[] = [];
 		// 单声部多声轨
 		if (state.multitrack > 0) {
@@ -821,7 +822,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 			if (isDouble && currentTime > 0) {
 				if (currentTime != NoteRealValue) {
-					console.log(`小节 ${note.sourceMeasure.MeasureNumberXML} 替换: noteLength: ${NoteRealValue}, 最小: ${currentTime}`);
+					// console.log(`小节 ${note.sourceMeasure.MeasureNumberXML} 替换: noteLength: ${NoteRealValue}, 最小: ${currentTime}`);
 					NoteRealValue = currentTime;
 				}
 			}
@@ -982,7 +983,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 
 			// console.log(note.tie)
-			// console.log(relaEndtime, fixtime, '时间',measureLength)
+			// console.log('👀看看endtime', duration, relaEndtime, fixtime, i)
 			// console.log('频率',note?.pitch?.frequency,i)
 			const nodeDetail = {
 				isStaccato: note.voiceEntry.isStaccato(),
@@ -1036,6 +1037,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				tickables = note.sourceMeasure.verticalSourceStaffEntryContainers;
 			}
 			// console.log(note.sourceMeasure.MeasureNumberXML, note.sourceMeasure.verticalSourceStaffEntryContainers.length)
+			// console.log('👀看看endtime', nodeDetail.duration, relaEndtime, fixtime, i)
 			nodeDetail.noteLength = tickables.length || 1;
 			allNotes.push(nodeDetail);
 			allNoteId.push(nodeDetail.id);

+ 6 - 1
src/page-instrument/view-detail/index.tsx

@@ -354,7 +354,12 @@ export default defineComponent({
           }}
         >
           {/* 曲谱渲染 */}
-          {!detailData.isLoading && <MusicScore onRendered={handleRendered} />}
+          {!detailData.isLoading && 
+            <MusicScore 
+              showPartNames={state.isCombineRender}
+              onRendered={handleRendered} 
+            />
+          }
 
           {/* 指法 */}
           {state.setting.displayFingering && state.fingeringInfo?.name && !state.isPreView &&  (

+ 2 - 0
src/state.ts

@@ -1020,6 +1020,7 @@ const setState = (data: any, index: number) => {
   state.cbsExamSongId = data.id + "";
   state.examSongName = data.name;
   state.coverImg = data.musicCover ?? "";
+  // 单声部多声轨合并展示
   state.isCombineRender = data.musicSheetType === "SINGLE" && data.musicSheetSoundList?.length > 1
   setCustom(state.isCombineRender ? data.musicSheetSoundList?.length : 0);
   // 解析扩展字段
@@ -1139,6 +1140,7 @@ const setState = (data: any, index: number) => {
 // 多分轨合并显示标示
 const setCustom = (trackNum?: number) => {
   if (trackNum || state.extConfigJson.multitrack) {
+    state.multitrack = trackNum || 0
     setGlobalData("multitrack", trackNum || state.extConfigJson.multitrack);
   }
 };

+ 6 - 1
src/view/music-score/index.tsx

@@ -67,6 +67,11 @@ export default defineComponent({
 			type: String,
 			default: "",
 		},
+		/** 是否渲染声轨名称 */
+		showPartNames: {
+			type: Boolean,
+			default: false,
+		},
 	},
 	setup(props, { emit }) {
 		/** 设置 曲谱模式,五线谱还是简谱 */
@@ -94,7 +99,7 @@ export default defineComponent({
 				// drawMeasureNumbers: false,
 				autoResize: false,
 				followCursor: false,
-				drawPartNames: false, // 是否渲染声部
+				drawPartNames: props.showPartNames, // 是否渲染声轨名称
 				drawComposer: false, // 渲染作者
 				defaultColorMusic: props.musicColor, // 颜色
 				// autoBeam: true,