#include "includes.h" void UI_ExpertMode_Init(void) { mGuiData[GUI_TAB_INDEX].Current = 1; mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current; //mGuiData[GUI_AUTOBAND_SW].Current = 1; Show_home_UI(); pCurrentTouch_Area = Touch_Areas; } void UI_ExpertMode_Process(DisplayTaskMessage_Type msg) { NvmParam_Type * nvm = drv_nvm_param_ptr(); switch(msg.MessageType) { case MSG_ID_TOUCH: for(uint8_t k=0; k= pCurrentTouch_Area[k].x_min && msg.HiByte <= pCurrentTouch_Area[k].x_max && msg.LoByte >= pCurrentTouch_Area[k].y_min && msg.LoByte <= pCurrentTouch_Area[k].y_max ) { Touch_Action(pCurrentTouch_Area[k].Flag,pCurrentTouch_Area[k].ID,k,pCurrentTouch_Area[k].Value); ResetAutoPowerCount(); break; } } break; case MSG_ID_BATTERY_VALUE: Draw_Status_Battery_Icon(percentage); break; case MSG_ID_TAP_SPEED: // uint8_t last_value = mGuiData[GUI_SPEED].Current; // mGuiData[GUI_SPEED].Current = msg.DataU16[1]; // Refresh_Transpose(last_value, &UI_Label[GUI_SPEED], &mGuiData[GUI_SPEED]); // // uint8_t Speed[6] = {0xF0, 0x51, 0x03, 0x00, 0x00, 0xF7}; // Speed[3] = mGuiData[GUI_SPEED].Current / 128; // Speed[4] = mGuiData[GUI_SPEED].Current % 128; // USART4_SendData(Speed,sizeof(Speed)); // AutoBandTop1_ChangeBPM(mGuiData[GUI_SPEED].Current); // // ResetAutoPowerCount(); break; case MSG_ID_EC_VOL: // //LCD_ShowString(200, 0, Num_To_String(msg.DataU16[1],buff,3), RED, WHITE, 16, 0); // uint8_t vol = msg.DataU16[1]; //// uint8_t level; // if (vol <= 5) level = 0; // else if (vol <= 35) level = 1; // else if (vol <= 65) level = 2; // else if (vol <= 95) level = 3; // else if (vol <= 115) level = 4; // else level = 5; // Draw_Volume_Bar(5, 5, level, 1, WHITE, GRAY); // uint8_t mMasterSysExVolume[12] = { 0xF0, 0x41, 0x00, 0x42, 0x12, 0x40, 0x00, 0x04, 0x64, 0x00, 0x00,0xF7}; // memset(mMasterSysExVolume+8,msg.DataU16[1],1); // SendMidiDataToDreamDSP(mMasterSysExVolume,12); // // ResetAutoPowerCount(); break; case MSG_ID_TOUCH_LONG_REPEAT: // { // for(uint8_t k=0; k= pCurrentTouch_Area[k].x_min && msg.DataU16[2] <= pCurrentTouch_Area[k].x_max && // msg.DataU16[3] >= pCurrentTouch_Area[k].y_min && msg.DataU16[3] <= pCurrentTouch_Area[k].y_max ) // { // if(pCurrentTouch_Area[k].ID == GUI_SPEED) // { // int flag = pCurrentTouch_Area[k].Flag; // uint8_t last = mGuiData[GUI_SPEED].Current; // // if(flag == 1) // { // if(mGuiData[GUI_SPEED].Current < 260) // { // mGuiData[GUI_SPEED].Current += 10; // if(mGuiData[GUI_SPEED].Current > 260) // mGuiData[GUI_SPEED].Current = 260; // } // else // { // break; // } // } // else if(flag == -1) // { // if(mGuiData[GUI_SPEED].Current > 40) // { // mGuiData[GUI_SPEED].Current -= 10; // if(mGuiData[GUI_SPEED].Current < 40) // mGuiData[GUI_SPEED].Current = 40; // }else // { // break; // } // } // // // 只有数值真正改变,才执行全套刷新、串口、伴奏更新 // if(last != mGuiData[GUI_SPEED].Current) // { // Refresh_Transpose(last, &UI_Label[GUI_SPEED], &mGuiData[GUI_SPEED]); // // if(nvm->param.BPM != mGuiData[GUI_SPEED].Current) // { // nvm->param.BPM = mGuiData[GUI_SPEED].Current; // } // uint8_t Speed[6] = {0xF0, 0x51, 0x03, 0x00, 0x00, 0xF7}; // Speed[3] = mGuiData[GUI_SPEED].Current / 128; // Speed[4] = mGuiData[GUI_SPEED].Current % 128; // USART4_SendData(Speed,sizeof(Speed)); // AutoBandTop1_ChangeBPM(mGuiData[GUI_SPEED].Current); // } // // ResetAutoPowerCount(); // } // break; // } // } // } break; case MSG_ID_BP_TRANSPOSE: // uint8_t lastvalue = mGuiData[GUI_TRANSPOSE].Current; // if(mGuiData[GUI_TRANSPOSE].Current != msg.DataU16[1]) // { // mGuiData[GUI_TRANSPOSE].Current = msg.DataU16[1]; // Refresh_Transpose(lastvalue, &UI_Label[GUI_TRANSPOSE], &mGuiData[GUI_TRANSPOSE]); // } // if(nvm->param.Transpose != mGuiData[GUI_TRANSPOSE].Current) // { // nvm->param.Transpose = mGuiData[GUI_TRANSPOSE].Current; // } // int8_t new_trans = mGuiData[GUI_TRANSPOSE].Current; // delta = new_trans - lastvalue; /* 使用正确�??? lastvalue */ // // USE_MIDI.Midi_1 += delta; // USE_MIDI.Midi_2 += delta; // USE_MIDI.Midi_3 += delta; // USE_MIDI.Midi_4 += delta; // USE_MIDI.Midi_5 += delta; // USE_MIDI.Midi_6 += delta; // if(/*KEY_ID_1629 != 0 && */StartFlag && KEY_ID_1629 != 22 && KEY_ID_1629 != 23) // { // uint8_t midi_note_buff[4] = {0,}; // 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_SetLoopMode(0,1); //// AutoBandTop1_StartWithNotes(midi_note_buff,GetChordNotesByType(KEY_ID_1629,chord_type_index_map[KEY_ID_1629].type,midi_note_buff)); // } // ResetAutoPowerCount(); break; } //drv_nvm_save_to_flash(); }