- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
UiClassList.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:38k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: UiClassList.c
- content: user interface for class list
- History: Created by TNE 2005/9/5
- ==========================================================================*/
- #define _UI_CLIST_H_
- #include <DP8051XP.H>
- #include "TypeDef.h"
- #include "Const.h"
- #include "Reg5661.h"
- #include "Common.h"
- #include "UiCommon.h"
- #include "SysStrDef.h"
- #include "UiSysStr.h"
- //#include "Lcd.h"
- #include "Key.h"
- #include "SaveSetting.h"
- #include "Playback.h"
- #include "NandFlash.h"
- #include "Idma.h"
- #include "FileSystem.h"
- #include "ExtCodec.h"
- #include "IntCodec.h"
- #include "UiPlayCommon.h"
- #include "UiClassList.h"
- #include "ClassDataBase.h"
- #include "UiPlayDel.h"
- #include "OledString.h"
- #include "Oled.h"
- #include "IconDefine.h"
- void UiErrHandle(void) large;
- void UiGoClassListTop(void) large;
- void UiClassListSwapJob(void) large;
- void UiGoNoMenu(void) large;
- void UiShowClassList(BYTE bOpenType) large;
- void UiEnterClassList(void) large;
- void UiGoClassList(BYTE bCListNum) large;
- void UiBackClassList(void) large;
- void UiClassListPlayMusic(void) large;
- void UiCountFileNumInAllClass(void) large;
- BOOL UiCListIsRootMenu(void) large;
- BYTE UIGetCListDispType(void) large;
- BOOL UiCdbSearchCListData(BYTE bSearchType) large;
- void UiReLoadCdbInfo(void) large;
- BOOL UiCdbGetClassString(void) large;
- DWORD UiCdbGetDataBaseHeader(BYTE bInfAdd) large;
- void UiGoRefreshSureMenu(void) large;
- void UiRestoreCList(void) large;
- void UiFirstGoCList(void) large;
- //void UiDispYesNoMenu(void) large;
- void UiDispClassListTopMenu(BYTE bflag); // WHH #14 301_070107
- API void UiClassListDispCtrl(BYTE bStatus); //Walace060607# PlayProcess
- void UiClassListGoBackMenuJob(void) large; //tne 2007/01/24 #2
- CBYTE cbGetDataBaseHeaderAdd[]={
- CDB_HEADER_GENRE_NUM_ADD,
- CDB_HEADER_ARTIST_NUM_ADD,
- CDB_HEADER_ALBUM_NUM_ADD,
- CDB_HEADER_TITLE_NUM_ADD,
- };
- CBYTE cbEnterTopCListMainSts[]={
- UI_CLIST_GENRE_GENRE_MENU,
- UI_CLIST_ARTIST_ARTIST_MENU,
- UI_CLIST_ALBUM_ALBUM_MENU,
- UI_CLIST_TITLE_TITLE_MENU,
- };
- CBYTE cbEnterTitleCListMainSts[]={
- UI_CLIST_GENRE_TITLE_MENU,
- UI_CLIST_ARTIST_TITLE_MENU,
- UI_CLIST_ALBUM_TITLE_MENU,
- UI_CLIST_TITLE_TITLE_MENU,
- };
- XWORD gxwOldCurtFileInClass, gxwOldTotalFileInClass;
- XWORD gxwTotalFileInSelClass;
- XDWORD gdwOldCdbAddPoint;
- BOOL gfPeStartAfterDel;
- ////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////// Ui Header End ///////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////
- void main(void)
- {
- //Use Long File Name Buffer to kept state for show del menu
- #define bKeptMainSts gxbLongFileName[254]
- #define bKeptSubSts gxbLongFileName[255]
- //BYTE bKeptMainSts,bKeptSubSts;
- BYTE bKey;
- BYTE bPeCommand;
- //Walace060607#1 PlayProcess
- if((gxbModuleState&MODULE_SUB)==MODULE_PRC_EOF_CTRL||
- (gxbModuleState&MODULE_SUB)==MODULE_DEL_AFTER_PRC||
- (gxbModuleState&MODULE_SUB)==MODULE_NAND_RTN_RESOTRE) //NandRestore
- {
- KeepMemory(RESTORE_MEMORY);
- }
- EA = 1;
- #if(ICE_REAL_MODE) //vicky061001#2 Debug Play
- EnableTimer0();
- IE=0x83;
- #endif
- bPeCommand=P_NOP;
- bKey=KEY_INVALID;
- SetSysSpeed(0x08);
- #if(_PM_PLAY_)
- PeFillDspBuf();
- #endif
- if((gxbModuleState&MODULE_SUB)==MODULE_PRC_EOF_CTRL||
- (gxbModuleState&MODULE_SUB)==MODULE_DEL_AFTER_PRC)
- {
- goto VAR_INIT_FINISH;
- }
- //NandRestore
- if((gxbModuleState&MODULE_SUB)==MODULE_NAND_RTN_RESOTRE) //Nick061120
- {
- gxbModuleState=MODULE_PLAY_CLIST;
- goto RETURN_FROM_NANDRESTORE;
- }
- //set default value
- gxfSourceUnicode=STRING_TYPE_ASCII;
- gxbCheckBattCounter=0;
- gxbBtyReTestNum=0;
- gxbBtyLowNum=0;
- gxbPwOffCounter=0;
- gxbLcdLimitCol=MAX_COLNUM;
- #if(SYS_USE_KEY_HOLD)
- gfLastKeyLocked=KEY_UNLOCK;
- #endif
- gfPwOffStop=FALSE;
- #if(UI_USE_CHK_CARD)
- if(gxbStorage!=STOR_NAND)
- UiCheckCardRemoved();
- #endif
- OLED_DISP_MASK_INIT();
- VAR_INIT_FINISH:
- if((gxbModuleState & MODULE_SUB)==MODULE_FILE_DEL)
- {
- gxwOldCurtFileInClass=gxwOldDelCurtFileInClass;
- gxwOldTotalFileInClass=gxwOldDelTotalFileInClass;
- gdwOldCdbAddPoint=gdwOldDelCdbAddPoint;
- if(gxwTotalFileInAll==0) //no file
- {
- gxbLastErrCode=ERR_FS_NO_FILE_FOUND;
- gxbPlayClassMode=P_CLASS_MODE_FILE;
- gxbSysState=S_PE_WAIT; //tne 2005/12/09 #1
- UiGoNoMenu();
- }
- //Del playing file, Call PeStart to get tag info again...
- if(gxbSysState==S_PE_DEL)
- {
- //Vicky060901#1 _Add Power Down PA
- gxbSysState=S_PE_PAUSE;
- if(gfDspCtrlCdc) //vicky060912#1
- {
- //LoadExtendMemCode(); //tne 2007/01/05 #1 //Walace070109#2
- PlayEngine(P_STOP);
- }
- //End
- gpstFileIndex=&stFsFileInf;
- FsOpenFile(RELOAD_FILE_NAME); //tne 2006/03/23
- gxbSysState=S_PE_WAIT;
- gfPeStartAfterDel=TRUE;
- //LCD_CTRL_DIS();
- //LoadExtendMemCode();
- gxbModuleState=(MODULE_PLAY_CLIST|MODULE_FILE_DEL);
- LoadPlayProcess(PLAY_PROC_PE_CMD|P_RESTART);
- //PeStart(); //Walace060606#1 PlayProcess
- //LCD_CTRL_EN();
- }
- //Vicky060901#1 _Add Fade In
- else
- {
- if(gxbSysState==S_PE_PLAY)
- {
- #if(FADE_IN_OUT_MODE==1)
- if(UiCheckDspFadeDone()==0x02)
- {
- UiDspFade((DSP_FADE_IN_EN|DSP_FADE_FORCE|DSP_FADE_1_UNIT),FALSE);
- }
- #endif
- }
- }
- //End
- }
- else
- {
- gxwOldCurtFileInClass=gxwCurtFileInClass;
- gxwOldTotalFileInClass=gxwTotalFileInClass;
- gdwOldCdbAddPoint=gdwCdbAddPoint;
- }
- //GO_TO_FILE_LIST:
- //NO CDB... Ask Refresh
- if(gdwCdbAddPoint==CDB_NULL_POINT)
- {
- UiGoRefreshSureMenu();
- }
- else if(!gfChangeMusic)
- {
- //Walace060607#1 PlayProcess
- //if( (gxbModuleState==MODULE_PLAY_FLIST) ) //Display from top
- if( (gxbModuleState==MODULE_PLAY_MENU) && (gxbPlayClassMode==P_CLASS_MODE_FILE) ) //tne 2007/01/24 #2
- {
- gxbUiMenuSubStates=CDB_CLASS_MODE_GENRE;
- UiGoClassListTop();
- }
- else
- { UiFirstGoCList(); }
- }
- //Walace060607#1 PlayProcess
- gxbModuleState=MODULE_PLAY_CLIST;
- goto ERROR_HANDLE;
- while(1)
- {
- KeyGet(bKey);
- /* Walace060105#1
- #if(UI_USE_ALARM_DISPLAY)
- if(gfAlarmTimeUp) bKey=KEY_INVALID; //let key disable when show alarm message
- #endif
- */
- UiCheckBackLight(bKey);
- UiNormalCheck();
- #if(USE_LYRIC_DISPLAY)
- UiPlayLyricControl();
- #endif
- #if(!EXT_ADC | !EXT_DAC | !EXT_PA)
- if(gxbMusicProcState==MUSIC_PROC_BODY) //Renshuo050603#A
- {
- //IntCdcSetPaGainTask(FALSE); //Renshuo041203#A //Ren050312#1
- CdcSetPaGainTask(PA_TASK_UNIMMEDIATE|PA_TASK_DELAY); //Walace060525#4 //tne 2006/12/26 #1
- }
- #endif
- bPeCommand=P_NOP;
- if(gfScrollFlag) //Walace060213#3
- {
- if( (gxbUiMenuMainStates>=UI_CLIST_GENRE_GENRE_MENU) && (gxbUiMenuMainStates<=UI_CLIST_TITLE_TITLE_MENU) )
- {
- if( (gxbLcdCounter>=UI_SCROLL_DELAY_TIME)&&(gxwCurtFileInClass!=0) )
- {
- //WHH #14 301_070107
- //LcdScrollFileList(gxbDispClassString,gxbUiMenuSubStates<<1,TRUE); //Walace051227#1
- LcdScrollFileList(gxbDispClassString,gxbUiMenuSubStates,TRUE);
- gxbLcdCounter=0;
- }
- }
- }
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- //case KEY_VOL_UP_BREAK:
- case KEY_RIGHT_BREAK:
- //case KEY_VOL_DOWN_BREAK:
- switch(gxbUiMenuMainStates)
- {
- case UI_REFRESH_YES_NO_MENU:
- case UI_DEL_YES_NO_MENU:
- gxbUiMenuSubStates ^= 1;
- UiDispYesNoMenu();
- break;
- default:
- if( (bKey==KEY_LEFT_BREAK) || (bKey==KEY_VOL_UP_BREAK) )
- UiShowClassList(SHOW_CLASS_UP);
- else
- UiShowClassList(SHOW_CLASS_DOWN);
- break;
- }
- break;
- case KEY_UP_BREAK:
- switch(gxbUiMenuMainStates)
- {
- case UI_REFRESH_YES_NO_MENU:
- if(gxbUiMenuSubStates)
- {
- //LCD_CTRL_DIS();
- gxbModuleState=MODULE_INITIAL; //Walace060607#1 PlayProcess
- UiGoSysRefreshCdb();
- }
- else
- { UiGoNoMenu(); }
- break;
- case UI_DEL_YES_NO_MENU:
- if(gxbUiMenuSubStates)
- {
- //tne 2007/01/24 #4
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_DEL);
- //LcdClearAll();
- //OLED_CLEAR_ALL();
- //LcdShowSysString(SYS_STR_HOST_WORKING_DEL,3,LCD_AUTO_CENTER_COL);
- //Walace060806#2 mark
- //StrShowSysString(SYS_STR_HOST_WORKING_DEL,LCD_AUTO_CENTER_COL,PAGE3);
- //LCD_CTRL_DIS();
- //tne dir del
- SetSysSpeed(0x02);
- //keep restore variable
- gxwOldDelCurtFileInClass=gxwOldCurtFileInClass;
- gxwOldDelTotalFileInClass=gxwOldTotalFileInClass;
- gxwOldDelTotalFileInSelClass=gxwTotalFileInSelClass;
- gdwOldDelCdbAddPoint=gdwOldCdbAddPoint;
- gxbUiMenuMainStates=bKeptMainSts;
- gxbUiMenuSubStates=bKeptSubSts;
- gxbModuleState=MODULE_PLAY_CLIST; //Walace060607#1 PlayProcess
- //Vicky060901#1 _Add Fade Out
- if(gxbSysState==S_PE_PLAY)
- {
- #if(FADE_IN_OUT_MODE==1)
- if((UiCheckDspFadeDone())!=0x02)
- UiDspFade((DSP_FADE_OUT_EN|(1<<3)),TRUE);
- #endif
- }
- //End
- for(bKey=0;bKey<4;bKey++) //use bKey for temp variable
- {
- if(bKeptMainSts==cbEnterTitleCListMainSts[bKey]) //select title
- {
- //Del playing file
- /*
- if( (stCdbClassInfo.dwDirSec==stFsFileInf.dwDirSec[stFsFileInf.bPathDepth]) &&
- (stCdbClassInfo.wDirOff==stFsFileInf.wDirOffset[stFsFileInf.bPathDepth]) )
- { PlayEngine(P_STOP); }
- */
- LoadProgram(PM_PLAY_DEL,BASIC_CODE_ONLY);
- }
- }
- LoadProgram(PM_DIR_DEL,BASIC_CODE_ONLY);
- }
- else
- { goto DEL_YES_NO_BACK; }
- break;
- #if(0) //tne 2007/01/24 #2
- case UI_SEL_LIST_MENU:
- if(gxbUiMenuSubStates==UI_SEL_CLASS_LIST_MENU)
- {
- gxbUiMenuSubStates=CDB_CLASS_MODE_GENRE;
- UiGoClassListTop();
- break;
- }
- else
- {
- gfChangeMusic=FALSE;
- stUiFileListData=stFsFileInf;
- UiRestoreCList();
- UiClassListSwapJob();
- LoadProgram(PM_PLAY_FILE_LIST,BASIC_CODE_ONLY);
- }
- break;
- #endif
- default: //UI_CLIST_GENRE_GENRE_MENU~UI_CLIST_TITLE_TITLE_MENU
- if(gxwCurtFileInClass==0)
- goto CLASS_LIST_BACK;
- case UI_CLIST_TOP_MENU:
- UiEnterClassList();
- break;
- }
- break;
- case KEY_MODE_BREAK:
- if( (gxbUiMenuMainStates>=UI_CLIST_GENRE_GENRE_MENU) && (gxbUiMenuMainStates<=UI_CLIST_TITLE_TITLE_MENU) )
- goto CLIST_TOP_BACK; //Fast Jump to UI_SEL_LIST_MENU
- case KEY_FUNC_BREAK:
- switch(gxbUiMenuMainStates)
- {
- /* //tne 2007/01/24 #2
- case UI_SEL_LIST_MENU:
- UiRestoreCList();
- */
- case UI_REFRESH_YES_NO_MENU:
- UiGoNoMenu();
- break;
- case UI_DEL_YES_NO_MENU:
- DEL_YES_NO_BACK:
- gxbUiMenuMainStates=bKeptMainSts;
- gxbUiMenuSubStates=bKeptSubSts;
- UiGoClassList(CDB_CLASS_MODE_TITLE);
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- break;
- case UI_CLIST_TOP_MENU:
- CLIST_TOP_BACK:
- //tne 2007/01/24 #2 start
- UiRestoreCList();
- UiClassListGoBackMenuJob();
- gxbUiMenuMainStates=UI_MUSIC_MENU;
- gxbUiMenuSubStates=UI_MUSIC_ENTER_CLIST_MENU;
- LoadProgram(PM_PLAY_MENU,BASIC_CODE_ONLY);
- //gxbUiMenuSubStates=UI_SEL_CLASS_LIST_MENU;
- //UiGoSelectListMenu();
- //tne 2007/01/24 #2 end
- break;
- default: //UI_CLIST_GENRE_GENRE_MENU~UI_CLIST_TITLE_TITLE_MENU
- CLASS_LIST_BACK:
- UiBackClassList();
- break;
- }
- break;
- //case KEY_REC_BREAK:
- case KEY_VOL_BREAK:
- //tne dir del
- if( (gxbUiMenuMainStates>=UI_CLIST_GENRE_GENRE_MENU) && (gxbUiMenuMainStates<=UI_CLIST_TITLE_TITLE_MENU) )
- {
- if(gxwCurtFileInClass>0)
- {
- bKeptMainSts=gxbUiMenuMainStates;
- bKeptSubSts=gxbUiMenuSubStates;
- UiDrawSubMenu(SYS_STR_TOOLS_DEL);
- gxbUiMenuMainStates=UI_DEL_YES_NO_MENU;
- gxbUiMenuSubStates=FALSE;
- UiDispYesNoMenu();
- }
- }
- break;
- }
- #if(PLAY_ERR_THEN_NEXT_MUSIC) //Walace061024#2
- EOF_CTRL_PROC:
- #endif
- //End of file control
- #include "EOF_Ctrl.h"
- gpstFileIndex=&stFsFileInf; //Vicky050321#2
- PlayEngine(bPeCommand);
- ERROR_HANDLE:
- if(gxbErrCode!=ERR_NO_ERROR)
- {
- #if(PLAY_ERR_THEN_NEXT_MUSIC) //Walace061024#2
- if(gxbErrCode==ERR_PE_UNSUPPORT_FORMAT||gxbErrCode==ERR_PE_NO_AUTHORITY)
- {
- bPeCommand=P_NEXT;
- gxbErrCode = ERR_NO_ERROR;
- goto EOF_CTRL_PROC;
- }
- else
- {
- PlayEngine(P_STOP); //Walace061024#2
- }
- #else
- PlayEngine(P_STOP); //Walace061024#2
- #endif
- }
- UiClassListDispCtrl(gxbPeDispCmd); //Walace060606#1 PlayProcess
- gxbPeDispCmd=UI_PE_NOP;
- #if(1)
- //vicky070105#3 remove to function
- UiCheckNandRestore(MODULE_PLAY_CLIST);
- #else
- //Nick061120 start //NandRestore
- if((gxbRestoreBlkNum || (gxwTimeToScanPM > SCAN_PM_DURATION)) &&
- (gfChangeMusic || gxbSysState==S_PE_PAUSE||gxbSysState==S_PE_WAIT) &&gfMLCMode) //Nick061204
- {
- //LCD_CTRL_DIS(); //Walace061126#1
- gxbModuleState=MODULE_PLAY_CLIST;
- //Nick061204 start
- if(gxwTimeToScanPM > SCAN_PM_DURATION)
- gxbRestoreCMD |= PM_SCAN;
- else
- gxbRestoreCMD = FullStep;
- //Nick061204 end
- KeepMemory(KEEP_MEMORY);
- LoadProgram(PM_PLAY_DATA_RTN_RESTORE, BASIC_CODE_ONLY);
- }
- #endif
- RETURN_FROM_NANDRESTORE:
- //Nick061120 end
- if(gfChangeMusic)
- {
- gxdwLastFileSize=0;
- if( (gxbIntroMode) && (gfIntroPlaying!=INTRO_PLAY) )
- {
- UiGoIntroMode();
- }
- UiFirstGoCList();
- gfChangeMusic=FALSE;
- }
- }
- }
- API void UiFsDispCtrl(BYTE bStatus) large //tne play 320 music
- {
- switch(bStatus)
- {
- default:
- case UI_FS_OPENING_FILE:
- //PeFillDspBuf(); //not need
- break;
- }
- }
- //Walace060607#1 PlayProcess
- API void UiClassListDispCtrl(BYTE bStatus)
- {
- bStatus=bStatus; //tne 2007/01/14 #3 // for uncall warning
- #if(USE_ERR_MSG_DISPLAY)
- if(gxbErrCode!=ERR_NO_ERROR)
- {
- UiErrHandle();
- return;
- }
- #endif
- }
- #if(0) //Walace060606#1 PlayProcess
- API void UiDispCtrl(BYTE bStatus)
- {
- #if(USE_ERR_MSG_DISPLAY)
- if(gxbErrCode!=ERR_NO_ERROR)
- {
- UiErrHandle();
- return;
- }
- #endif
- if(bStatus==UI_PE_START_END)
- {
- gxbLastErrCode=ERR_NO_ERROR;
- if(!gfPeStartAfterDel)
- {
- gxwOldCurtFileInClass=gxwCurtFileInClass;
- gxwOldTotalFileInClass=gxwTotalFileInClass;
- gdwOldCdbAddPoint=gdwCdbAddPoint;
- }
- /* //Walace060127#2 start
- //#if(!_PM_DVR_) //tne 2006/01/16
- #if(!UI_EQ_CUSTOM) // Jeff_051116
- IdmaPioDmxW(&gxwEqMode,DSP_EQ_ADDR,1,DSP_W16);
- #else
- UiSetEqGain();
- #endif
- //chun_chi 060105
- #if(UI_USE_USER_EQ)
- if(gxwEqMode==EQ_USER)
- UiSetEqGain(EQ_USER);
- #endif
- IdmaPioDmxW(&gxw3DMode,DSP_3D_ADDR,1,DSP_W16);
- //#endif //tne 2006/01/16
- */
- IdmaPioDmxW(&gxw3DMode,DSP_3D_ADDR,1,DSP_W16);
- UiSetEqGain(gxwEqMode);
- //Walace060127#2 end
- #if(USE_LYRIC_DISPLAY)
- gxbLcdLyricStatus=LCD_LYRIC_SCROLL_DONE; // set done to show first lyric
- gxbLastLyrcBuf[1]=0; //tne 2005/08/11
- #endif
- #if(!_PM_DVR_)
- UiCheckTag(); //tne 2005/11/07
- #endif
- gxwCurrentPlayTime=0; //set 0 for intro mode
- //gxdwCurrentLrcTime=0; //tne 2006/02/10 #1 //Walace060226#Remove
- gfFillDspBufEn=TRUE;
- }
- else if(bStatus==UI_PE_STOP)
- {
- if(!gfPwOffStop) //tne 2005/11/21 #2
- {
- UiRndPlayInit();
- gxwCurrentPlayTime=0;
- //gxdwCurrentLrcTime=0; //tne 2006/02/10 #1 //Walace060226#Remove
- }
- }
- }
- #endif
- void UiErrHandle(void) large
- {
- #if(USE_ERR_MSG_DISPLAY)
- if( (gxbErrCode!=ERR_NO_ERROR) && (gxbErrCode!=ERR_FS_NO_FILE_FOUND) ) //by pass no file error
- gxbLastErrCode=gxbErrCode;
- #endif
- }
- void UiClassListSwapJob(void) large
- {
- //LCD_CTRL_DIS();
- PeFillDspBuf();
- SetSysSpeed(0x02);
- gxbModuleState=MODULE_PLAY_CLIST; //Walace060607#1 PlayProcess
- }
- //tne 2007/01/24 #2 start
- void UiClassListGoBackMenuJob(void) large
- {
- UiClassListSwapJob();
- stUiFileListData=stFsFileInf;
- gpstFileIndex = &stUiFileListData;
- if(gxwTotalFileInAll>0)
- FsOpenFile(RELOAD_FILE_NAME);
- gxbLongFileName[0]=STRING_TYPE_UNICODE;
- }
- void UiGoNoMenu(void) large
- {
- UiClassListGoBackMenuJob();
- LoadProgram(PM_PLAY_FAT_LARGE,BASIC_CODE_ONLY);
- }
- /*
- void UiGoNoMenu(void) large
- {
- UiClassListSwapJob();
- //tne 2006/07/07 #2
- stUiFileListData=stFsFileInf;
- /////tne 2006/01/26 #1
- gpstFileIndex = &stUiFileListData;
- if(gxwTotalFileInAll>0)
- FsOpenFile(RELOAD_FILE_NAME);
- ///////////////////
- //tne 2006/04/27 #2
- gxbLongFileName[0]=STRING_TYPE_UNICODE;
- LoadProgram(PM_PLAY_FAT_LARGE,BASIC_CODE_ONLY);
- }
- */
- //tne 2007/01/24 #2 end
- void UiSowClassListHome(BYTE bCListNum) large
- {
- // WHH #14 301_070107
- //OledClearArea(WORD0,LINE0,OLED_MAX_COL,LINE1);
- //OledShowIcon(cwIconClassListTop[bCListNum],SEG0,PAGE0);
- //OledShowIcon(cwIconClassListTop[bCListNum],UI_CLASSLST_ROOT_COL,UI_CLASSLST_ROOT_ROW);
- //OledShowIconNew(1,cwIconClassListTop[bCListNum],UI_CLASSLST_ROOT_COL,UI_CLASSLST_ROOT_ROW);
- OledShowIconNew(1,cwIconClassListNormal[bCListNum],UI_CLASSLST_ROOT_COL,UI_CLASSLST_ROOT_ROW);
- /*if(UiCListIsRootMenu())
- OledShowIcon(UI_CLIST_DIR_HOME,WORD1,LINE0);
- else
- OledShowIcon(UI_CLIST_DIR_UP,WORD1,LINE0);*/
- }
- void UiGoClassListTop(void) large
- {
- BYTE bI;
- gxbUiMenuMainStates=UI_CLIST_TOP_MENU;
- PeFillDspBuf(); // Ping070309#2
- // WHH #14 301_070107(start)
- UiShowLargeBackground(5,IM_BROWSER_BG_S1); //tne 2007/01/10 #2
- StrShowSysString(SYS_STR_SEL_CLASSIFICATION,LCD_AUTO_CENTER_COL,UI_FILST_SELECT_TITLE_ROW_START);
- OledShowIconNew(1,IM_MAINMENU_BUTTON_01 ,0,UI_CLASSLST_SELECT_ROW_START+UI_CLASSLST_SELECT_ROW_DIFF*gxbUiMenuSubStates);
- OledShowIconNew(1,cwIconClassListTopSelect[gxbUiMenuSubStates],UI_CLASSLST_SELECT_COL_START,UI_CLASSLST_SELECT_ROW_START+1+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- gfTransparent=TRUE;
- PeFillDspBuf(); // Ping070309#2
- StrShowSysString(cwStringClassList[gxbUiMenuSubStates],UI_CLASSLST_SELECT_COL_START+16,UI_CLASSLST_SELECT_ROW_START+1+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- for(bI=0;bI<4;bI++)
- {
- if(bI!=gxbUiMenuSubStates)
- {
- PeFillDspBuf(); // Ping070309#2
- OledShowIconNew(1,cwIconClassListTop[bI],UI_CLASSLST_SELECT_COL_START,UI_CLASSLST_SELECT_ROW_START+1+bI*UI_CLASSLST_SELECT_ROW_DIFF);
- StrShowSysString(cwStringClassList[bI],UI_CLASSLST_SELECT_COL_START+16,UI_CLASSLST_SELECT_ROW_START+1+bI*UI_CLASSLST_SELECT_ROW_DIFF);
- }
- }
- gfTransparent=FALSE;
- // WHH #14 301_070107(end)
- /*OLED_CLEAR_ALL();
- for(bI=0;bI<4;bI++)
- {
- OledShowIcon(cwIconClassListTop[bI],SEG0,LINE2PIXEL(bI));
- StrShowSysString(cwStringClassList[bI],WORD1,LINE2PIXEL(bI));
- }
- OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);*/
- }
- void UiShowClassListUp(BYTE bCListNum) large
- {
- //BYTE bI;
- //LCD_CTRL_DIS(); //tne play 320 music
- PeFillDspBuf();
- //LCD_CTRL_EN();
- if(gxwCurtFileInClass==0)
- {
- UiCdbSearchCListData(CDB_SEARCH_LAST|bCListNum);
- gxwCurtFileInClass=gxwTotalFileInClass;
- UiGoClassList(bCListNum);
- return;
- }
- else
- {
- // WHH #14 301_070107
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_STRING, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- //LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates<<1);
- gfTransparent=TRUE;
- LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- if(gxwCurtFileInClass!=1)
- {
- UiCdbSearchCListData(CDB_SEARCH_PREV);
- UiCdbGetClassString();
- }
- if(gxbUiMenuSubStates==0)
- {
- #if(LCD_TYPE==TFT_ORISE||LCD_TYPE==TFT_TOPPOLY||LCD_TYPE==TFT_SOLOMON)
- //WHH #14 301_070107
- //UiMoveOneLine(SEG0,LINE0,OLED_MAX_COL-SEG0,3,FALSE);
- UiMoveOneLine(0,UI_CLASSLST_START_ROW,UI_CLASSLST_STRING_END,UI_CLASSLST_NUM,FALSE);
- #else
- OledCopyArea(SEG0,LINE0,OLED_MAX_COL-SEG0,LINE3,SEG0,LINE1);
- #endif
- //OledShowIcon(cwIconClassListNormal[bCListNum],SEG0,PAGE0);
- //OledShowIcon(cwIconClassListNormal[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, IM_BROWSER_ICON_TREE,1,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, cwIconClassListTop[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- }
- else
- {
- gxbUiMenuSubStates--;
- }
- gxwCurtFileInClass--;
- if(gxwCurtFileInClass==0)
- {
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_ALL, 0, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- UiSowClassListHome(bCListNum);
- }
- else
- {
- // WHH #14 301_070107
- //LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates<<1);
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- gfTransparent=TRUE;
- LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- }
- }
- }
- void UiShowClassListDown(BYTE bCListNum) large
- {
- // LCD_CTRL_DIS(); //tne play 320 music
- PeFillDspBuf();
- // LCD_CTRL_EN();
- if(gxwCurtFileInClass==gxwTotalFileInClass)
- {
- gxwCurtFileInClass=0;
- UiGoClassList(bCListNum);
- return;
- }
- else
- {
- // WHH #14 301_070107
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_STRING, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- if(gxwCurtFileInClass==0) //Home->First File
- { UiCdbSearchCListData(CDB_SEARCH_FIRST|bCListNum); }
- else
- {
- // WHH #14 301_070107
- gfTransparent=TRUE;
- //LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates<<1);
- LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- UiCdbSearchCListData(CDB_SEARCH_NEXT);
- }
- UiCdbGetClassString();
- //WHH #14 301_070107
- //if(gxbUiMenuSubStates==3)
- if(gxbUiMenuSubStates==UI_CLASSLST_NUM)
- {
- #if(LCD_TYPE==TFT_ORISE||LCD_TYPE==TFT_TOPPOLY||LCD_TYPE==TFT_SOLOMON)
- // WHH #14 301_070107
- //UiMoveOneLine(SEG0,LINE1,OLED_MAX_COL-SEG0,3,TRUE);
- UiMoveOneLine(0,UI_CLASSLST_START_ROW,UI_CLASSLST_STRING_END,UI_CLASSLST_NUM,TRUE);
- #else
- OledCopyArea(SEG0,LINE1,OLED_MAX_COL-SEG0,LINE3,SEG0,LINE0);
- #endif
- if((gxwCurtFileInClass+1)==gxwTotalFileInClass)
- {
- //OledShowIcon(cwIconClassListBottom[bCListNum],WORD0,LINE3);
- //OledShowIcon(cwIconClassListBottom[bCListNum],7,UI_CLASSLST_ROOT_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, IM_BROWSER_ICON_TREE_LAST,1,UI_CLASSLST_ROOT_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, cwIconClassListTop[bCListNum],7,UI_CLASSLST_ROOT_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- }
- else
- {
- //OledShowIcon(cwIconClassListNormal[bCListNum],WORD0,LINE3);
- //OledShowIcon(cwIconClassListNormal[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, IM_BROWSER_ICON_TREE,1,UI_CLASSLST_START_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1, cwIconClassListTop[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(gxbUiMenuSubStates));
- }
- }
- else
- {
- gxbUiMenuSubStates++;
- }
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- gfTransparent=TRUE;
- //LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates<<1);
- LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- gxwCurtFileInClass++;
- }
- }
- void UiShowClassList(BYTE bOpenType) large
- {
- /* //tne 2007/01/24 #2
- if(gxbUiMenuMainStates==UI_SEL_LIST_MENU)
- { UiDispSelectListMenu(); }
- else
- */
- {
- // WHH #14 301_070107
- //OledReverse(OLED_FLIST_COL,PAGE2PIXEL(gxbUiMenuSubStates<<1),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- if(gxbUiMenuMainStates==UI_CLIST_TOP_MENU)
- {
- if(bOpenType==SHOW_CLASS_UP)
- {
- UiDispClassListTopMenu(FALSE); // WHH #14 301_070107
- if(gxbUiMenuSubStates>0)
- gxbUiMenuSubStates--;
- else
- gxbUiMenuSubStates=3;
- UiDispClassListTopMenu(TRUE);
- }
- else
- {
- UiDispClassListTopMenu(FALSE); // WHH #14 301_070107
- if(gxbUiMenuSubStates<3)
- gxbUiMenuSubStates++;
- else
- gxbUiMenuSubStates=0;
- UiDispClassListTopMenu(TRUE); // WHH #14 301_070107
- }
- }
- else
- {
- if(bOpenType==SHOW_CLASS_UP)
- UiShowClassListUp(UIGetCListDispType());
- else
- UiShowClassListDown(UIGetCListDispType());
- }
- // WHH #14 301_070107
- //OledReverse(OLED_FLIST_COL,PAGE2PIXEL(gxbUiMenuSubStates<<1),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- }
- void UiEnterClassList(void) large
- {
- switch(gxbUiMenuMainStates)
- {
- case UI_CLIST_TOP_MENU:
- gxwCurtFileInClass=0;
- gxwTotalFileInClass=UiCdbGetDataBaseHeader(cbGetDataBaseHeaderAdd[gxbUiMenuSubStates]);
- gxbUiMenuMainStates=cbEnterTopCListMainSts[gxbUiMenuSubStates];
- //UiCdbSearchCListData(CDB_SEARCH_FIRST|UIGetCListDispType()); //UiGoClassList will do it while gxwCurtFileInClass==0, not need
- UiGoClassList(UIGetCListDispType());
- break;
- case UI_CLIST_GENRE_TITLE_MENU:
- gxbPlayClassMode=P_CLASS_MODE_GENRE;
- goto START_PLAY_MUSIC;
- case UI_CLIST_ARTIST_TITLE_MENU:
- gxbPlayClassMode=P_CLASS_MODE_ARTIST;
- goto START_PLAY_MUSIC;
- case UI_CLIST_ALBUM_TITLE_MENU:
- gxbPlayClassMode=P_CLASS_MODE_ALBUM;
- goto START_PLAY_MUSIC;
- case UI_CLIST_TITLE_TITLE_MENU:
- gxbPlayClassMode=P_CLASS_MODE_TITLE;
- gxwTotalFileInSelClass=gxwTotalFileInClass;
- START_PLAY_MUSIC:
- UiClassListPlayMusic();
- UiGoNoMenu();
- break;
- default: //enter other menu
- if(UiCListIsRootMenu())
- gxwTotalFileInSelClass=stCdbClassInfo_wTotalMusic;
- gxwCurtFileInClass=0;
- gxwTotalFileInClass=stCdbClassInfo_wTotalChild;
- UiCdbSearchCListData(CDB_SEARCH_ENTER);
- gxbUiMenuMainStates++; //enter next state
- UiGoClassList(UIGetCListDispType());
- break;
- }
- // WHH #14 301_070107
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- //You should set gxwCurtFileInClass, gxwTotalFileInClass befor calling this function
- void UiGoClassList(BYTE bCListNum) large
- {
- BYTE bI;
- DWORD dwOldCdbAddPoint;
- // LCD_CTRL_DIS();
- PeFillDspBuf();
- // LCD_CTRL_EN();
- // WHH #14 301_070107
- //OLED_CLEAR_ALL();
- UiShowLargeBackground(5,IM_BROWSER_BG_S1); //tne 2007/01/10 #2
- // WHH #14 301_070107
- if(gxwTotalFileInClass>(UI_CLASSLST_NUM-1))
- {
- if((gxwCurtFileInClass+(UI_CLASSLST_NUM))>gxwTotalFileInClass) //last 4 music
- gxbUiMenuSubStates=(UI_CLASSLST_NUM-1)-(gxwTotalFileInClass-gxwCurtFileInClass);
- else
- gxbUiMenuSubStates=0;
- }
- else
- {
- gxbUiMenuSubStates=gxwCurtFileInClass;
- }
- /*if(gxwTotalFileInClass>3)
- {
- if((gxwCurtFileInClass+4)>gxwTotalFileInClass) //last 4 music
- gxbUiMenuSubStates=3-(gxwTotalFileInClass-gxwCurtFileInClass);
- else
- gxbUiMenuSubStates=0;
- }
- else
- {
- gxbUiMenuSubStates=gxwCurtFileInClass;
- }*/
- //WHH #14 301_070107
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_CLASSLST_LIGHT_START_COL, UI_CLASSLST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_CLASSLST_LIGHT_ROW);
- if(gxbUiMenuSubStates == gxwCurtFileInClass)
- UiSowClassListHome(bCListNum);
- if(gxwTotalFileInClass==0)
- return;
- if(gxwCurtFileInClass==0)
- {
- UiCdbSearchCListData(CDB_SEARCH_FIRST|bCListNum);
- bI=1;
- }
- else
- { bI=gxbUiMenuSubStates; }
- dwOldCdbAddPoint=gdwCdbAddPoint;
- while(bI>0)
- {
- if(stCdbClassInfo.dwPrePoint==CDB_NULL_POINT) //no prev file
- break;
- UiCdbSearchCListData(CDB_SEARCH_PREV);
- bI--;
- }
- while(bI<(UI_CLASSLST_NUM+1))
- {
- UiCdbGetClassString();
- // WHH #14 301_070107
- //LcdShowClassList(gxbDispClassString,bI<<1);
- gfTransparent=TRUE;
- LcdShowClassList(gxbDispClassString,bI);
- gfTransparent=FALSE;
- if(stCdbClassInfo.dwNextPoint==CDB_NULL_POINT)
- {
- // WHH #14 301_070106
- //OledShowIcon(cwIconClassListBottom[bCListNum],WORD0,LINE2PIXEL(bI));
- OledShowIconNew(1, IM_BROWSER_ICON_TREE_LAST,1,UI_CLASSLST_START_ROW+(UI_FILST_TREE_ROW)*(bI));
- //OledShowIconNew(1, cwIconClassListBottom[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(bI));
- OledShowIconNew(1, cwIconClassListTop[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(bI));
- break;
- }
- // WHH #14 301_070106
- //OledShowIcon(cwIconClassListNormal[bCListNum],WORD0,LINE2PIXEL(bI));
- OledShowIconNew(1, IM_BROWSER_ICON_TREE,1,UI_CLASSLST_START_ROW+(UI_FILST_TREE_ROW)*(bI));
- OledShowIconNew(1,cwIconClassListTop[bCListNum],7,UI_CLASSLST_START_ROW+(UI_CLASSLST_TREE_ROW)*(bI));
- UiCdbSearchCListData(CDB_SEARCH_NEXT);
- bI++;
- }
- // LCD_CTRL_DIS(); //tne play 320 music
- PeFillDspBuf();
- // LCD_CTRL_EN();
- gdwCdbAddPoint=dwOldCdbAddPoint;
- UiReLoadCdbInfo();
- //show again to get display info for lcd
- if(gxwCurtFileInClass>0)
- {
- //WHH #14 301_070107
- //LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates<<1);
- gfTransparent=TRUE;
- LcdShowClassList(gxbDispClassString,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- }
- }
- void UiBackClassList(void) large
- {
- DWORD dwTempCdbPoint;
- if(UiCListIsRootMenu())
- {
- gxbUiMenuSubStates=UIGetCListDispType();
- UiGoClassListTop();
- return;
- }
- switch(gxbUiMenuMainStates)
- {
- case UI_CLIST_GENRE_ARTIST_MENU:
- case UI_CLIST_ARTIST_ALBUM_MENU:
- case UI_CLIST_ALBUM_TITLE_MENU:
- gxbUiMenuMainStates--;
- gxwTotalFileInClass=UiCdbGetDataBaseHeader(cbGetDataBaseHeaderAdd[UIGetCListDispType()]);
- UiCdbSearchCListData(CDB_SEARCH_BACK);
- gxwCurtFileInClass=stCdbClassInfo.wItemNum;
- UiGoClassList(UIGetCListDispType());
- break;
- //case UI_CLIST_GENRE_ALBUM_MENU:
- //case UI_CLIST_GENRE_TITLE_MENU:
- //case UI_CLIST_ARTIST_TITLE_MENU:
- default:
- gxbUiMenuMainStates--;
- UiCdbSearchCListData(CDB_SEARCH_BACK);
- dwTempCdbPoint=gdwCdbAddPoint;
- UiCdbSearchCListData(CDB_SEARCH_BACK); //Back to parent to get total file number
- gxwTotalFileInClass=stCdbClassInfo_wTotalChild;
- gdwCdbAddPoint=dwTempCdbPoint;
- UiReLoadCdbInfo();
- gxwCurtFileInClass=stCdbClassInfo.wItemNum;
- UiGoClassList(UIGetCListDispType());
- break;
- }
- // WHH #14 301_070107
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- void UiClassListPlayMusic(void) large
- {
- // LCD_CTRL_DIS();
- //David051130#4 Start
- #if(FADE_IN_OUT_MODE==0)
- #if(!EXT_ADC | !EXT_DAC | !EXT_PA)
- if(gxbSysState==S_PE_PLAY)
- {
- UiSetVolFadeOut();
- }
- #endif
- #elif(FADE_IN_OUT_MODE==1)
- if((UiCheckDspFadeDone()!=0x02) &&(gxbSysState==S_PE_PLAY) ) //if fade out done, won't do it again
- {
- UiDspFade((DSP_FADE_OUT_EN|DSP_FADE_1_UNIT),TRUE);//bk //Vicky060119
- }
- #endif
- LoadExtendMemCode();
- UiSetPeStop();
- UiCountFileNumInAllClass();
- UiOpenClassFile();
- stUiFileListData=stFsFileInf;
- gpstFileIndex=&stFsFileInf;
- gxbSysState=S_PE_PLAY;
- UiRndPlayInit();
- //PeStart(); //Walace060606#1 PlayProcess
- gxbModuleState=MODULE_PLAY_CLIST;
- LoadPlayProcess(PLAY_PROC_PE_CMD|P_RESTART);
- //PlayEngine(P_PLAYBACK);
- //PlayEngine(P_NOP);
- //LCD_CTRL_EN();
- }
- void UiCountFileNumInAllClass(void) large
- {
- DWORD dwTempCdbPoint;
- dwTempCdbPoint=gdwCdbAddPoint;
- gxwCurtFileInAllClass=gxwCurtFileInClass;
- switch(gxbUiMenuMainStates)
- {
- case UI_CLIST_GENRE_TITLE_MENU:
- CdbSearchData(CDB_SEARCH_BACK);
- while(stCdbClassInfo.dwPrePoint!=CDB_NULL_POINT)
- {
- CdbSearchData(CDB_SEARCH_PREV);
- gxwCurtFileInAllClass += stCdbClassInfo_wTotalMusic;
- }
- case UI_CLIST_ARTIST_TITLE_MENU:
- CdbSearchData(CDB_SEARCH_BACK);
- while(stCdbClassInfo.dwPrePoint!=CDB_NULL_POINT)
- {
- CdbSearchData(CDB_SEARCH_PREV);
- gxwCurtFileInAllClass += stCdbClassInfo_wTotalMusic;
- }
- break;
- case UI_CLIST_ALBUM_TITLE_MENU:
- case UI_CLIST_TITLE_TITLE_MENU:
- break;
- }
- gdwCdbAddPoint=dwTempCdbPoint;
- CdbGetClassHeader(gdwCdbAddPoint);
- gxwTotalFileInAllClass=gxwTotalFileInSelClass;
- if(gfPlayAutoSearchFile)
- {
- gxwNumTotalFiles=gxwTotalFileInAllClass;
- gxwCurrentFileNum=gxwCurtFileInAllClass;
- }
- else
- {
- gxwNumTotalFiles=gxwTotalFileInClass;
- gxwCurrentFileNum=gxwCurtFileInClass;
- }
- }
- BOOL UiCListIsRootMenu(void) large
- {
- switch(gxbUiMenuMainStates)
- {
- case UI_CLIST_GENRE_GENRE_MENU:
- case UI_CLIST_ARTIST_ARTIST_MENU:
- case UI_CLIST_ALBUM_ALBUM_MENU:
- case UI_CLIST_TITLE_TITLE_MENU:
- return TRUE;
- default:
- return FALSE;
- }
- }
- BYTE UIGetCListDispType(void) large
- {
- switch(gxbUiMenuMainStates)
- {
- case UI_CLIST_GENRE_GENRE_MENU:
- return(CDB_CLASS_MODE_GENRE);
- case UI_CLIST_GENRE_ARTIST_MENU:
- case UI_CLIST_ARTIST_ARTIST_MENU:
- return(CDB_CLASS_MODE_ARTIST);
- case UI_CLIST_GENRE_ALBUM_MENU:
- case UI_CLIST_ARTIST_ALBUM_MENU:
- case UI_CLIST_ALBUM_ALBUM_MENU:
- return(CDB_CLASS_MODE_ALBUM);
- //case UI_CLIST_GENRE_TITLE_MENU:
- //case UI_CLIST_ARTIST_TITLE_MENU:
- //case UI_CLIST_ALBUM_TITLE_MENU:
- //case UI_CLIST_TITLE_TITLE_MENU:
- default:
- return(CDB_CLASS_MODE_TITLE);
- }
- }
- BOOL UiCdbSearchCListData(BYTE bSearchType) large
- {
- BOOL fRetVal;
- BYTE bFreqDiv; //tne play 320 music
- //LCD_CTRL_DIS();
- fRetVal=TRUE;
- bFreqDiv=obCLKMCUDIVF; //tne play 320 music
- SetSysSpeed(0x02);
- if(!UiCListIsRootMenu())
- {
- //DataBase not support this first, Ui control to find first data
- if( ((bSearchType&CDB_SEARCH_WAY)==CDB_SEARCH_FIRST) || ((bSearchType&CDB_SEARCH_WAY)==CDB_SEARCH_LAST) )
- {
- if(!CdbSearchData(CDB_SEARCH_BACK))
- {
- fRetVal=FALSE;
- goto FINISH_SEARCH;
- }
- if( (bSearchType&CDB_SEARCH_WAY)==CDB_SEARCH_FIRST )
- fRetVal=CdbSearchData(CDB_SEARCH_ENTER);
- else if( (bSearchType&CDB_SEARCH_WAY)==CDB_SEARCH_LAST )
- fRetVal=CdbSearchData(CDB_SEARCH_ENTER_LAST);
- goto FINISH_SEARCH;
- }
- }
- PeFillDspBuf(); //tne play 320 music //test debug
- fRetVal=CdbSearchData(bSearchType);
- FINISH_SEARCH:
- SetSysSpeed(bFreqDiv); //tne play 320 music
- //LCD_CTRL_EN();
- return fRetVal;
- }
- void UiReLoadCdbInfo(void) large
- {
- //LCD_CTRL_DIS();
- CdbGetClassHeader(gdwCdbAddPoint);
- CdbGetClassString(gdwCdbAddPoint,gxbDispClassString);
- //LCD_CTRL_EN();
- }
- BOOL UiCdbGetClassString(void) large
- {
- BOOL fRetVal;
- //LCD_CTRL_DIS();
- fRetVal=CdbGetClassString(gdwCdbAddPoint,gxbDispClassString);
- //LCD_CTRL_EN();
- return fRetVal;
- }
- DWORD UiCdbGetDataBaseHeader(BYTE bInfAdd) large
- {
- DWORD dwRetVal;
- //LCD_CTRL_DIS();
- dwRetVal=CdbGetDataBaseHeader(bInfAdd);
- //LCD_CTRL_EN();
- return dwRetVal;
- }
- void UiRestoreCList(void) large
- {
- if(gdwCdbAddPoint!=CDB_NULL_POINT)
- {
- gxwTotalFileInClass=gxwOldTotalFileInClass;
- gxwCurtFileInClass=gxwOldCurtFileInClass;
- gdwCdbAddPoint=gdwOldCdbAddPoint;
- UiReLoadCdbInfo();
- }
- }
- void UiFirstGoCList(void) large
- {
- //Walace060607#1 PlayProcess
- if((gxbModuleState & MODULE_SUB)==MODULE_DEL_AFTER_PRC||
- (gxbModuleState & MODULE_SUB)==MODULE_FILE_DEL)
- {
- gxwTotalFileInSelClass=gxwOldDelTotalFileInSelClass;
- gxbModuleState=MODULE_PLAY_CLIST;
- }
- else
- {
- gxwTotalFileInSelClass=gxwTotalFileInAllClass;
- gxbUiMenuMainStates=cbEnterTitleCListMainSts[gxbPlayClassMode];
- }
- UiGoClassList(UIGetCListDispType()); //tne dir del
- // WHH #14 301_070107
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- void UiGoRefreshSureMenu(void) large
- {
- //Display Error Message
- OLED_CLEAR_ALL();
- StrShowSysString(SYS_STR_NOT_REFRESH_DB,LCD_AUTO_CENTER_COL,PAGE3);
- gxbLcdCounter=0;
- //LCD_CTRL_DIS();
- while(gxbLcdCounter<42)
- {
- PlayEngine(P_NOP);
- }
- //LCD_CTRL_EN();
- UiDrawSubMenu(SYS_STR_TOOLS_REFRESH);
- gxbUiMenuMainStates=UI_REFRESH_YES_NO_MENU;
- gxbUiMenuSubStates=FALSE;
- UiDispYesNoMenu();
- }
- // WHH #14 301_070107
- void UiDispClassListTopMenu(BYTE bflag)
- {
- if(bflag)
- {
- OledShowIconNew(1,IM_MAINMENU_BUTTON_01 ,0,UI_CLASSLST_SELECT_ROW_START+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- OledShowIconNew(1, cwIconClassListTopSelect[gxbUiMenuSubStates],UI_CLASSLST_SELECT_COL_START,UI_CLASSLST_SELECT_ROW_START+1+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- }
- else
- {
- OledShowIconNew(1,IM_EXPLORE_BUTTON_CLEAR_ALL ,0,UI_CLASSLST_SELECT_ROW_START+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- OledShowIconNew(1, cwIconClassListTop[gxbUiMenuSubStates],UI_CLASSLST_SELECT_COL_START,UI_CLASSLST_SELECT_ROW_START+1+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- }
- gfTransparent=TRUE;
- StrShowSysString(cwStringClassList[gxbUiMenuSubStates],UI_CLASSLST_SELECT_COL_START+16,UI_CLASSLST_SELECT_ROW_START+1+gxbUiMenuSubStates*UI_CLASSLST_SELECT_ROW_DIFF);
- gfTransparent=FALSE;
- }
- /* //tne 2007/01/14 #1
- void UiDispYesNoMenu(void) large
- {
- CLEAR_MENU_NUM_AREA(); //Walace060426#3
- UiShowSubMenuNum(gxbUiMenuSubStates+1,2);
- //CLEAR_MENU_NUM_AREA(); //Walace060426#3
- StrShowSysString(cwStringSysYesNoList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,OLED_TAG_ROW);
- }
- */