|
@@ -159,40 +159,21 @@ function modeChangeHandleTimes(oldPlayType: "play" | "sing", oldPlaySource: IPla
|
|
|
const playSource = 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") {
|
|
|
+ // 原声向伴奏和伴奏向原声不处理 范唱向伴唱和伴唱向范唱切不处理
|
|
|
+ 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;
|
|
@@ -212,37 +193,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;
|
|
@@ -263,6 +214,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;
|
|
|
}
|
|
|
|
|
@@ -385,8 +347,13 @@ export default defineComponent({
|
|
|
return { display: true, disabled: true };
|
|
|
}
|
|
|
if (state.playType === "play") {
|
|
|
- // 原声, 伴奏 少一个,就不能切换
|
|
|
- if (state.music && state.accompany) return { display: true, disabled: false };
|
|
|
+ let index = 0;
|
|
|
+ state.music && index++;
|
|
|
+ state.accompany && index++;
|
|
|
+ state.mingSong && index++;
|
|
|
+ if (index > 1) {
|
|
|
+ return { display: true, disabled: false };
|
|
|
+ }
|
|
|
} else {
|
|
|
// 范唱
|
|
|
let index = 0;
|
|
@@ -412,6 +379,7 @@ export default defineComponent({
|
|
|
let index = 0;
|
|
|
state.music && index++;
|
|
|
state.accompany && index++;
|
|
|
+ state.mingSong && index++;
|
|
|
let songIndex = 0;
|
|
|
state.fanSong && songIndex++;
|
|
|
state.banSong && songIndex++;
|
|
@@ -830,7 +798,7 @@ export default defineComponent({
|
|
|
state.playSource = state.fanSong ? "music" : state.banSong ? "background" : "mingSong";
|
|
|
} else {
|
|
|
state.playType = "play";
|
|
|
- state.playSource = state.music ? "music" : "background";
|
|
|
+ state.playSource = state.music ? "music" : state.accompany ? "background" : "mingSong";
|
|
|
}
|
|
|
isClickMode = true;
|
|
|
// 有指法并且显示指法的时候 切换到演唱模式 需要影藏指法
|
|
@@ -868,7 +836,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";
|
|
@@ -880,7 +854,7 @@ export default defineComponent({
|
|
|
}
|
|
|
await handlerModeChange(oldPlayType, oldPlaySource);
|
|
|
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",
|
|
|
});
|