ソースを参照

feat: #8731 bug修复

TIANYONG 1 年間 前
コミット
7eef915015
2 ファイル変更10 行追加1 行削除
  1. 2 1
      src/helpers/formateMusic.ts
  2. 8 0
      src/page-instrument/view-detail/index.tsx

+ 2 - 1
src/helpers/formateMusic.ts

@@ -825,7 +825,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			if (i === 0) {
 				fixtime += getFixTime(beatSpeed);
 				state.fixtime = fixtime;
-				console.log("fixtime:", fixtime, '速度:', beatSpeed, "state.isSpecialBookCategory:", state.isSpecialBookCategory, 'state.isOpenMetronome:', state.isOpenMetronome);
+				// console.log("fixtime:", fixtime, '速度:', beatSpeed, "state.isSpecialBookCategory:", state.isSpecialBookCategory, 'state.isOpenMetronome:', state.isOpenMetronome);
 			}
 			// console.log(getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator))
 			let gradualLength = 0;
@@ -949,6 +949,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 
 			// console.log(note.tie)
+			// console.log(relaEndtime, fixtime, '时间')
 			const nodeDetail = {
 				isStaccato: note.voiceEntry.isStaccato(),
 				isRestFlag: note.isRestFlag,

+ 8 - 0
src/page-instrument/view-detail/index.tsx

@@ -28,6 +28,11 @@ import ViewFigner from "../view-figner";
 import { recalculateNoteData } from "/src/view/selection";
 import ToggleMusicSheet from "/src/view/plugins/toggleMusicSheet"
 
+/**
+ * 特殊教材分类id
+ */
+export const classids = [1, 2, 6, 7, 8, 9, 3, 10, 11, 12, 13, 4, 14, 15, 16, 17, 30, 31, 35, 36, 108];  // 大雅金唐, 竖笛教程, 声部训练展开的分类ID
+
 const calcCeilFrequency = (frequency: number) => {
   if (frequency) return frequency * 1000 * 2 / 1000;
   return 0
@@ -163,6 +168,9 @@ export default defineComponent({
       // 	state.subjectId == 121 ||
       // 	isRhythmicExercises();
 
+      // 设置是否特殊曲谱, 是特殊曲谱取反(不理解之前的思考逻辑), 使用后台设置的速度
+      state.isSpecialBookCategory = !classids.includes(data.musicSheetCategoriesId) 
+
       // 设置指法
       const code = mappingVoicePart(state.trackId, "INSTRUMENT");
       state.fingeringInfo = subjectFingering(code);