|
@@ -1536,6 +1536,19 @@ const setState = (data: any, index: number) => {
|
|
|
* 获取指法code
|
|
|
*/
|
|
|
// const code = state.isConcert ? matchVoicePart(state.trackId, "CONCERT") : matchVoicePart(state.musicalCodeId, "SINGLE");
|
|
|
+
|
|
|
+ // 如果是midi的曲子,midi的曲子没有musicSheetSoundList原音列表,指法需要通过musicalInstruments字段判断
|
|
|
+ if (data.musicSheetType === "SINGLE" && data.playMode === 'MIDI' && data.musicalInstruments?.length) {
|
|
|
+ const currentInstrumentId = query.instrumentId || storeData.user?.instrumentId;
|
|
|
+ let midiTrackId = null
|
|
|
+ if (currentInstrumentId) {
|
|
|
+ midiTrackId = data.musicalInstruments.find((item: any) => item.id == currentInstrumentId)?.code?.split(',')?.[0]
|
|
|
+ } else {
|
|
|
+ midiTrackId = data.musicalInstruments[0]?.code?.split(',')?.[0]
|
|
|
+ }
|
|
|
+ state.trackId = midiTrackId || state.trackId
|
|
|
+ }
|
|
|
+
|
|
|
let code = matchVoicePart(state.trackId, "CONCERT")
|
|
|
if (code == 1 || !code) {
|
|
|
code = fixInstrumentNameCode(state.trackId)
|