diff --git a/Global/Global.c b/Global/Global.c index 113b8b2..fb9dcaf 100644 --- a/Global/Global.c +++ b/Global/Global.c @@ -716,6 +716,17 @@ void Pick_Handle() { uint8_t midi = 0; uint8_t midi_note_buff[4] = {0,}; + uint8_t note_cnt = 0; + uint8_t chord_id = KEY_ID_1629; + + /* 左手未触发和弦板(或落在拍速/停止键)时:拨片默认发当前调一级大和弦伴奏 */ + if (chord_id == 0 || chord_id == 22 || chord_id == 23) + { + KEY_ID_1629 = 1; + chord_type_index_map[1].type = 0; + chord_id = 1; + } + note_cnt = GetChordNotesByType(chord_id, chord_type_index_map[chord_id].type, midi_note_buff); Return_Light_buff(KEY_ID_1629); switch(mGuiData[GUI_TAB_INDEX].Current) @@ -730,24 +741,24 @@ void Pick_Handle() AutoBandTop1_SetLoopMode(0,1); midi = 0x3C + mGuiData[GUI_TRANSPOSE].Current; AutoBandTop1_StartWithNote(midi); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); } break; case 1: StartFlag = 1; AutoBandTop1_SetPiecePlayMode(1,0,1920); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); AutoBandTop1_SetLoopMode(0,1); break; case 0: if(PressFlag) { AutoBandTop1_SetLoopMode(0,1); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); }else { AutoBandTop1_SetPiecePlayMode(1,0,480); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); } StartFlag = 1; break; @@ -761,14 +772,14 @@ void Pick_Handle() AutoBandTop1_SetLoopMode(0,1); midi = 0x3C + mGuiData[GUI_TRANSPOSE].Current; AutoBandTop1_StartWithNote(midi); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); } break; - case 1: + case 1: StartFlag = 1; AutoBandTop1_SetPiecePlayMode(1,0,1920); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); AutoBandTop1_SetLoopMode(0,1); break; case 0: @@ -776,12 +787,12 @@ void Pick_Handle() if(PressFlag) { AutoBandTop1_SetPiecePlayMode(1,0,480); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); AutoBandTop1_SetLoopMode(0,1); }else { AutoBandTop1_SetPiecePlayMode(1,0,480); - AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); + AutoBandTop1_StartWithNotes(midi_note_buff, note_cnt); } break; }