1
0

19 کامیت‌ها 14d4387c22 ... d0f6ef925f

نویسنده SHA1 پیام تاریخ
  TIANYONG d0f6ef925f Merge branch 'feature-mutliTrack' into gym-test 1 روز پیش
  TIANYONG dc5c56a927 feat: 增加唱名播放 1 روز پیش
  TIANYONG 35c710c34d feat: 删除测试数据 1 روز پیش
  TIANYONG fd15e3035c feat: 管乐迷增加唱名播放 1 روز پیش
  TIANYONG ced2031dad build 4 ماه پیش
  TIANYONG d0e3202ea4 build 4 ماه پیش
  TIANYONG 58d53a572e build 4 ماه پیش
  TIANYONG d53b6ac96f Merge branch 'feature-patch' into gym-online 4 ماه پیش
  TIANYONG 1ac7cb4ef4 feat: 滑音点击区域修改 4 ماه پیش
  TIANYONG 854268e6ef build 4 ماه پیش
  TIANYONG 91f9f996ae Merge branch 'feature-patch' into gym-online 4 ماه پیش
  TIANYONG 28b6160f57 Merge branch 'feature-patch' into gym-online 4 ماه پیش
  TIANYONG 74a021e7d7 build 5 ماه پیش
  TIANYONG 9eab3b52d4 Merge branch 'feature-patch' into gym-online 5 ماه پیش
  TIANYONG 1abd94a37d build 5 ماه پیش
  TIANYONG 65e356a23f Merge branch 'feature-patch' into gym-online 5 ماه پیش
  TIANYONG 0f3303431b build 5 ماه پیش
  TIANYONG f240b35114 Merge branch 'feature-patch' into gym-online 5 ماه پیش
  TIANYONG a26aee8752 build 5 ماه پیش
6فایلهای تغییر یافته به همراه74 افزوده شده و 79 حذف شده
  1. 1 1
      osmd-extended
  2. 63 71
      src/page-instrument/header-top/index.tsx
  3. 6 6
      src/state.ts
  4. 2 0
      src/view/audio-list/index.tsx
  5. 1 0
      stats.html
  6. 1 1
      vite.config.ts

+ 1 - 1
osmd-extended

@@ -1 +1 @@
-Subproject commit 9cd9602f73d1392390f938a1d99db257ef062bb1
+Subproject commit 647c6d5387e5d379740089499eaa32643e0d802f

+ 63 - 71
src/page-instrument/header-top/index.tsx

@@ -76,6 +76,17 @@ export const headTopData = reactive({
         });
         return;
       }
+      /* 当前是唱名的模式 */
+      if(state.playSource === "mingSong") {
+        const isModeChange = modeChangeHandleTimes("play","mingSong","play","music")
+        // 没有切换的时候 不处理下面的
+        if (isModeChange) {
+          try {
+            metronomeData.metro.calculation(state.times);
+          } catch (error) {}
+          console.log("重新之后的times", state.times, state.fixtime);
+        }
+      }      
       // 评测模式,只有一行谱模式
       // if (!state.isSingleLine) {
       //   state.isSingleLine = true;
@@ -151,45 +162,34 @@ export async function handlerModeChange(oldPlayType: "play" | "sing", oldPlaySou
   }
 }
 // 模式切换之后重新给times赋值
-function modeChangeHandleTimes(oldPlayType: "play" | "sing", oldPlaySource: IPlayState) {
-  const playType = state.playType;
-  const playSource = state.playSource;
+function modeChangeHandleTimes(oldPlayType: "play" | "sing", oldPlaySource: IPlayState, nowPlayType?:"play" | "sing", nowPlaySource?: IPlayState) {
+  const playType = nowPlayType || state.playType;
+  const playSource = nowPlaySource || state.playSource;
   const { notBeatFixtime, xmlMp3BeatFixTime, difftime } = state.times[0];
   const { isOpenMetronome, isSingOpenMetronome } = state;
-  // 演奏向演唱切
-  if (oldPlayType === "play" && playType === "sing") {
-    if (playSource === "mingSong") {
-      // 唱名文件也要加上弱起时间  他们制作曲子加了弱起时间  注意这修改了之后给总控平台的时值也需要改
-      state.fixtime = difftime;
-      state.times.map((item) => {
-        item.time = item.xmlNoteTime + difftime;
-        item.endtime = item.xmlNoteEndTime + difftime;
-        item.fixtime = difftime;
-      });
-      return true;
-    } else {
-      //演奏开了节拍器,演唱没开节拍器
-      if (isOpenMetronome && !isSingOpenMetronome) {
-        state.fixtime = notBeatFixtime;
-        state.times.map((item) => {
-          item.time = item.notBeatTime;
-          item.endtime = item.notBeatEndTime;
-          item.fixtime = notBeatFixtime;
-        });
-        return true;
-      } else if (!isOpenMetronome && isSingOpenMetronome) {
-        state.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
-        state.times.map((item) => {
-          item.time = item.notBeatTime + xmlMp3BeatFixTime;
-          item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime;
-          item.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
-        });
-        return true;
-      }
-    }
-  } else if (oldPlayType === "sing" && playType === "play") {
-    // 演唱向演奏切
-    if (oldPlaySource === "mingSong") {
+  // 因为演奏加了唱名,所以往跟练模式切换和评测模式切换的时候,刷新谱面的时候需要更新时值,这时候调用handleRessetState 会回到练习模式,这里是
+  if(state.modeType === "follow" || state.modeType === "evaluating") {
+    return false
+  }
+  // 当相同时候也不处理
+  if(oldPlayType === playType && oldPlaySource === playSource) {
+    return false
+  }
+  // 原声向伴奏和伴奏向原声不处理  范唱向伴唱和伴唱向范唱切不处理
+  if((oldPlaySource==="music"&&playSource==="background")||(oldPlaySource==="background"&&playSource==="music")){
+    return false
+  }
+  // 唱名到唱名时候不处理
+  if(oldPlaySource === "mingSong" && playSource === "mingSong"){
+    return false
+  }
+  // 原生伴奏向范唱伴唱,范唱伴唱向原生伴奏时候,isSingOpenMetronome和isOpenMetronome相等时候不处理
+  if(["music","background"].includes(oldPlaySource)&&["music","background"].includes(playSource)&&isOpenMetronome===isSingOpenMetronome){
+    return false
+  }
+  // 当切为 原生伴奏,或者范唱伴唱 时候
+  if(playSource==="music" || playSource ==="background"){
+    if(playType === "play"){
       // 有节拍器
       if (isOpenMetronome) {
         state.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
@@ -209,37 +209,7 @@ function modeChangeHandleTimes(oldPlayType: "play" | "sing", oldPlaySource: IPla
         return true;
       }
     }
-    // 演奏开了节拍器,演唱没开节拍器
-    if (isOpenMetronome && !isSingOpenMetronome) {
-      state.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
-      state.times.map((item) => {
-        item.time = item.notBeatTime + xmlMp3BeatFixTime;
-        item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime;
-        item.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
-      });
-      return true;
-    } else if (!isOpenMetronome && isSingOpenMetronome) {
-      state.fixtime = notBeatFixtime;
-      state.times.map((item) => {
-        item.time = item.notBeatTime;
-        item.endtime = item.notBeatEndTime;
-        item.fixtime = notBeatFixtime;
-      });
-      return true;
-    }
-  } else if (oldPlayType === "sing" && playType === "sing") {
-    // 演唱之间切换
-    // 切到唱名时候
-    if (playSource === "mingSong") {
-      // 唱名文件也要加上弱起时间  他们制作曲子加了弱起时间  注意这修改了之后给总控平台的时值也需要改
-      state.fixtime = difftime;
-      state.times.map((item) => {
-        item.time = item.xmlNoteTime + difftime;
-        item.endtime = item.xmlNoteEndTime + difftime;
-        item.fixtime = difftime;
-      });
-      return true;
-    } else if (oldPlaySource === "mingSong") {
+    if(playType==="sing"){
       // 有节拍器
       if (isSingOpenMetronome) {
         state.fixtime = notBeatFixtime + xmlMp3BeatFixTime;
@@ -260,6 +230,17 @@ function modeChangeHandleTimes(oldPlayType: "play" | "sing", oldPlaySource: IPla
       }
     }
   }
+  // 当切为唱名时候
+  if(playSource==="mingSong"){
+      // 唱名文件也要加上弱起时间  他们制作曲子加了弱起时间  注意这修改了之后给总控平台的时值也需要改
+      state.fixtime = difftime;
+      state.times.map((item) => {
+        item.time = item.xmlNoteTime + difftime;
+        item.endtime = item.xmlNoteEndTime + difftime;
+        item.fixtime = difftime;
+      });
+      return true;
+  }
   return false;
 }
 
@@ -404,6 +385,11 @@ export default defineComponent({
     });
     /** 播放类型按钮 */
     const playTypeBtn = computed(() => {
+      // 管乐迷没有演唱模式,
+      return {
+        disabled: false,
+        display: false,
+      }
       // 选择模式,跟练模式,评测模式 不显示
       //if (headTopData.modeType !== "show" || state.modeType === "follow" || state.modeType === "evaluating" || state.isHomeWork) return { display: false, disabled: false };
       if (state.modeType === "follow" || state.modeType === "evaluating" || state.isHomeWork) return { display: false, disabled: false };
@@ -815,7 +801,13 @@ export default defineComponent({
                 const oldPlayType = state.playType;
                 const oldPlaySource = state.playSource;
                 if (state.playType === "play") {
-                  state.playSource = state.playSource === "music" ? "background" : "music";
+                  if (state.playSource === "music") {
+                    state.playSource = state.accompany ? "background" : "mingSong";
+                  } else if (state.playSource === "background") {
+                    state.playSource = state.mingSong ? "mingSong" : "music";
+                  } else {
+                    state.playSource = state.music ? "music" : "background";
+                  }
                 } else {
                   if (state.playSource === "music") {
                     state.playSource = state.banSong ? "background" : "mingSong";
@@ -832,7 +824,7 @@ export default defineComponent({
                   state.music = ""
                 }
                 showToast({
-                  message: state.playType === "play" ? (state.playSource === "music" ? "已切换为原声" : "已切换为伴奏") : state.playSource === "music" ? "已切换为范唱" : state.playSource === "background" ? "已切换为伴唱" : "已切换为唱名",
+                  message: state.playType === "play" ? (state.playSource === "music" ? "已切换为原声" : state.playSource === "background" ? "已切换为伴奏" : "已切换为唱名") : state.playSource === "music" ? "已切换为范唱" : state.playSource === "background" ? "已切换为伴唱" : "已切换为唱名",
                   position: "top",
                   className: "selectionToast",
                 });
@@ -840,7 +832,7 @@ export default defineComponent({
             >
               <img style={{ display: state.playSource === "music" ? "" : "none" }} class={styles.iconBtn} src={state.playType === "play" ? headImg(`music.png`) : headImg(`music1.png`)} />
               <img style={{ display: state.playSource === "background" ? "" : "none" }} class={styles.iconBtn} src={state.playType === "play" ? headImg(`background.png`) : headImg(`background1.png`)} />
-              <img style={{ display: state.playSource === "mingSong" ? "" : "none" }} class={styles.iconBtn} src={headImg(`mingsong.png`)} />
+              <img style={{ display: state.playSource === "mingSong" ? "" : "none" }} class={styles.iconBtn} src={headImg(`ming_icon.png`)} />
               <span>{state.playSource === "music" ? (state.playType === "play" ? "原声" : "范唱") : state.playSource === "background" ? (state.playType === "play" ? "伴奏" : "伴唱") : "唱名"}</span>
             </div>
             <div

+ 6 - 6
src/state.ts

@@ -1519,12 +1519,12 @@ function initMusicSource(data: any, tracks: string[], partIndex: number, workRec
     state.partListNames = tracks
   }
   /*  目前 管乐迷没有演唱模式 所以先排除掉演唱模式的数据 */
-  if(fanSongObj?.audioFileUrl || banSongObj?.audioFileUrl || fanSongObj?.solmizationFileUrl || fanSongObj?.femaleSolmizationFileUrl){
-    fanSongObj?.audioFileUrl && (fanSongObj.audioFileUrl = null)
-    banSongObj?.audioFileUrl && (banSongObj.audioFileUrl = null)
-    fanSongObj?.solmizationFileUrl && (fanSongObj.solmizationFileUrl = null)
-    fanSongObj?.femaleSolmizationFileUrl && (fanSongObj.femaleSolmizationFileUrl = null)
-  }
+  // if(fanSongObj?.audioFileUrl || banSongObj?.audioFileUrl || fanSongObj?.solmizationFileUrl || fanSongObj?.femaleSolmizationFileUrl){
+  //   fanSongObj?.audioFileUrl && (fanSongObj.audioFileUrl = null)
+  //   banSongObj?.audioFileUrl && (banSongObj.audioFileUrl = null)
+  //   fanSongObj?.solmizationFileUrl && (fanSongObj.solmizationFileUrl = null)
+  //   fanSongObj?.femaleSolmizationFileUrl && (fanSongObj.femaleSolmizationFileUrl = null)
+  // }
   // 当没有任何曲目的时候报错
   if (!musicObj?.audioFileUrl && !accompanyObj?.audioFileUrl && !fanSongObj?.audioFileUrl && !banSongObj?.audioFileUrl && !fanSongObj?.solmizationFileUrl && !fanSongObj?.femaleSolmizationFileUrl) {
     state.noMusicSource = true // 没有音源文件

+ 2 - 0
src/view/audio-list/index.tsx

@@ -165,6 +165,7 @@ export const changeSongSourceByBeat = (isDisBeat:boolean) => {
 		if(state.playType === "play"){
 			audioData.songEle = audioData.songCollection.songEle
 			audioData.backgroundEle = audioData.songCollection.backgroundEle
+			audioData.mingSongEle = audioData.songCollection.mingSongEle
 		} else {
 			audioData.songEle = audioData.songCollection.fanSongEle
 			audioData.backgroundEle = audioData.songCollection.banSongEle
@@ -175,6 +176,7 @@ export const changeSongSourceByBeat = (isDisBeat:boolean) => {
 		if(state.playType === "play"){
 			audioData.songEle = audioData.songCollection.beatSongEle || audioData.songCollection.songEle
 			audioData.backgroundEle = audioData.songCollection.beatBackgroundEle || audioData.songCollection.backgroundEle
+			audioData.mingSongEle = audioData.songCollection.beatMingSongEle || audioData.songCollection.mingSongEle
 		} else {
 			audioData.songEle = audioData.songCollection.beatFanSongEle || audioData.songCollection.fanSongEle
 			audioData.backgroundEle = audioData.songCollection.beatBanSongEle || audioData.songCollection.banSongEle

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
stats.html


+ 1 - 1
vite.config.ts

@@ -81,7 +81,7 @@ export default defineConfig({
     // https: true,
     proxy: {
       "^/instrument/.*": {
-        target: "https://dev.gym.lexiaoya.cn",
+        target: "http://test.gym.lexiaoya.cn",
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/instrument/, ""),
       },

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است