UiFileList.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:26k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: UiFileList.c
- content: user interface for play module
- History: Created by TNE 2005/6/1
- ==========================================================================*/
- #define _UI_FLIST_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 "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 "UiFileList.h"
- #include "OledString.h"
- #include "OLED.h"
- #include "IconDefine.h"
- #include "ClassDataBase.h"
- #include "UiPlayDel.h"
- void UiErrHandle(void) large;
- //void UiDispDelYesNoMenu(void) large;
- void UiCountFileAfterDel(void) large;
- void UiFileListPlayMusic(void) large;
- void UiSaveCurPlayPath(void) large;
- void UiFileListSwapJob(void);
- void UiGoSelectDvrDir(void) large;
- void UiGoSelectDvrDir(void) large;
- void UiGoSelectFileList(void) large;
- //void UiDispSelListMenu(void) large; // Jeff check if mark, yes
- void UiGoClassList(void) large;
- void UiGoRootFileList(void) large;
- void UiGetDvrDirNum(void) large;
- void UiFileListDvrLightMoe(BOOL bflag) large; // WHH #13 301_070106
- void UiGoBackMusicMenu(void); //tne 2007/01/06 #1
- API void UiPlayFileListDispCtrl(BYTE bStatus); //Walace060606#1 PlayProcess
- XWORD gxwOldTotalDirInDir;
- XWORD gxwOldTotalFileInDir;
- BOOL gfPeStartAfterDel;
- XBYTE gxbDvrDirNum; //tne 2005/10/09
- ////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////// Ui Header End ///////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////
- void main(void)
- {
- 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(ENABLE_SD_FUNCTION&SD_DET_USE_INT1) //Nick060808
- gbDdmCheck = obGPIO_INT_FLAG&obGPIO_INT_MASK;//use gbDdmCheck as temp, ok la
- if(gbDdmCheck&0x20)//gpiod5 // sd init flase anyway, even SD/MMC plug in
- gfSDinit = FALSE;
- #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_FLIST;
- goto RETURN_FROM_NANDRESTORE;
- }
- OLED_DISP_MASK_INIT();
- //set default value
- //xbSubMenuNum[1]=10;
- gxfSourceUnicode=STRING_TYPE_ASCII;
- gxbCheckBattCounter=0;
- gxbBtyReTestNum=0;
- gxbBtyLowNum=0;
- gxbPwOffCounter=0;
- gxbLcdLimitCol=MAX_COLNUM; //tne lcd scroll2
- #if(SYS_USE_KEY_HOLD)
- gfLastKeyLocked=KEY_UNLOCK;
- #endif
- UiFileListFileType=UI_FILE_LIST_PLAYBACK;
- gfPwOffStop=FALSE;
- VAR_INIT_FINISH:
- if( (gxbModuleState & MODULE_SUB)==MODULE_FILE_DEL ) //Walace060607#1 PlayProcess
- {
- gxwOldTotalFileInDir=GXW_OLD_TOTAL_FILE_IN_DIR;
- gxwOldTotalDirInDir=GXW_OLD_TOTAL_DIR_IN_DIR;
- if(gxwTotalFileInAll==0) //no file
- {
- gxbLastErrCode=ERR_FS_NO_FILE_FOUND;
- gxbPlayClassMode=P_CLASS_MODE_FILE;
- gxbSysState=S_PE_WAIT;
- //LCD_CTRL_EN(); //UiGoNoMenu() will disable lcd, so enable here
- 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;
- //Walace060606#1 PlayProcess start
- gxbModuleState=(MODULE_PLAY_FLIST|MODULE_FILE_DEL);
- LoadPlayProcess(PLAY_PROC_PE_CMD|P_RESTART);
- }
- //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
- {
- gxwOldTotalFileInDir=gxwTotalFileInDir;
- gxwOldTotalDirInDir=gxwTotalDirInDir;
- }
- #if(UI_USE_CHK_CARD)
- if(gxbStorage!=STOR_NAND)
- UiCheckCardRemoved();
- #endif
- //UI for class
- gpstFileIndex=&stUiFileListData;
- #if(_PM_DVR_)
- /* //tne 2005/10/09 //Not need
- if(stUiFileListData.bPathDepth==0) //Root //no file??
- { UiGoSelectDvrDir(); }
- else
- { UiGoFileList(); }
- */
- UiGetDvrDirNum();
- UiGoFileList();
- #else
- if(!gfChangeMusic)
- {
- //if(gxbModuleState==MODULE_PLAY_CLIST) //Walace060607#1 PlayProcess
- if((gxbModuleState==MODULE_PLAY_MENU) && (gxbPlayClassMode!=P_CLASS_MODE_FILE)) //tne 2007/01/24 #2
- UiGoRootFileList();
- UiGoFileList();
- }
- #endif
- gxbModuleState=MODULE_PLAY_FLIST; //Walace060606#1
- bKey=KEY_INVALID;
- 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 start
- {
- //#if(!_PM_DVR_) //No long file name in DVR //Walace051227#1
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- if( (gxbLcdCounter>=UI_SCROLL_DELAY_TIME)&&(gxwFileNumInFileList!=0) )
- {
- //Walace051227#1
- //LcdScrollFileList(stUiFileListData.pbLongFileName,gxbUiMenuSubStates<<1);
- // WHH #13 301_070105
- //LcdScrollFileList(&stUiFileListData,gxbUiMenuSubStates<<1,TRUE);
- LcdScrollFileList(&stUiFileListData,gxbUiMenuSubStates,TRUE);
- gxbLcdCounter=0;
- }
- }
- //#endif
- }
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- //case KEY_VOL_UP_BREAK: //tne 2007/01/24 #2
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- UiShowFileList(UI_FILE_LIST_UP);
- }
- #if(_PM_DVR_)
- else if(gxbUiMenuMainStates==UI_DVR_FILE_SOURCE_MENU)
- {
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- UiFileListDvrLightMoe(FALSE);// WHH #13 301_070106
- if(gxbUiMenuSubStates==0)
- gxbUiMenuSubStates=REC_DIR_NUM;
- else
- gxbUiMenuSubStates--;
- UiFileListDvrLightMoe(TRUE); // WHH #13 301_070106
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- #elif(0) //(UI_USE_CLASS_LIST) //tne 2007/01/24 #2
- else if(gxbUiMenuMainStates==UI_SEL_LIST_MENU)
- { UiDispSelectListMenu(); }
- #endif
- else //if(gxbUiMenuMainStates==UI_DEL_YES_NO_MENU)
- {
- gxbUiMenuSubStates ^= 1;
- UiDispYesNoMenu();
- }
- break;
- case KEY_RIGHT_BREAK:
- //case KEY_VOL_DOWN_BREAK: //tne 2007/01/24 #2
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- UiShowFileList(UI_FILE_LIST_DOWN);
- }
- #if(_PM_DVR_)
- else if(gxbUiMenuMainStates==UI_DVR_FILE_SOURCE_MENU)
- {
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- UiFileListDvrLightMoe(FALSE);// WHH #13 301_070106
- if(gxbUiMenuSubStates==REC_DIR_NUM)
- gxbUiMenuSubStates=0;
- else
- gxbUiMenuSubStates++;
- UiFileListDvrLightMoe(TRUE);// WHH #13 301_070106
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- #elif(0) //(UI_USE_CLASS_LIST) //tne 2007/01/24 #2
- else if(gxbUiMenuMainStates==UI_SEL_LIST_MENU)
- { UiDispSelectListMenu(); }
- #endif
- else //if(gxbUiMenuMainStates==UI_DEL_YES_NO_MENU)
- {
- gxbUiMenuSubStates ^= 1;
- UiDispYesNoMenu();
- }
- break;
- case KEY_UP_BREAK:
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- if(gxwFileNumInFileList<=gxwTotalDirInDir)
- {
- #if(_PM_DVR_)
- FILE_LIST_DIR_CONTROL:
- #if(REC_DIR_NUM==1)
- //only one dir, not change dir in DVR
- #else
- UiGoSelectDvrDir();
- #endif
- #else
- FILE_LIST_DIR_CONTROL:
- //root->select list
- if( (gxwFileNumInFileList==0) && (stUiFileListData.bPathDepth==0) )
- {
- #if(0) //(UI_USE_CLASS_LIST) //tne 2007/01/24 #2
- gxbUiMenuSubStates=UI_SEL_FILE_LIST_MENU;
- UiGoSelectListMenu();
- #else
- stUiFileListData=stFsFileInf; //restore file struct
- UiGoBackMusicMenu(); //tne 2007/01/06 #1
- #endif
- break;
- }
- //LCD_CTRL_DIS();
- PeFillDspBuf(); //tne 2005/08/03
- SetSysSpeed(0x02);
- gpstFileIndex=&stUiFileListData;//Vicky050321#3
- if(gxwFileNumInFileList==0) //back dir
- {
- //tne 2005/10/09
- //FsChangeDir(BACK_DIR);
- FsChangeDir(RESTORE_DIR);
- gxwFileNumInFileList=UiGetBackDirNum();
- }
- else
- {
- FsChangeDir(ENTER_DIR);
- gxwFileNumInFileList=0;
- }
- UiGetFileListNum();
- //restor clock
- SetSysSpeed(0x08);
- //LCD_CTRL_EN();
- UiGoFileList();
- #endif
- }
- else
- {
- //#if(_PM_PLAY_)
- //PeFillDspBuf();
- //#endif
- //Walace060606#1 PlayProcess start
- UiFileListPlayMusic();
- /*
- if(gfIntroPlaying==INTRO_PLAY)
- UiCancelIntroMode();
- else if(gxbIntroMode)
- UiGoIntroMode();
- UiGoNoMenu();
- */
- //Walace060606#1 PlayProcess end
- }
- }
- #if(_PM_DVR_)
- else if(gxbUiMenuMainStates==UI_DVR_FILE_SOURCE_MENU)
- {
- if(gxbUiMenuSubStates>0)
- {
- gxbDvrDirNum=gxbUiMenuSubStates-1; //tne 2005/10/09
- SetSysSpeed(0x02);
- //change dir
- stUiFileListData.dwDirStartSec=gxdwData+(gxdwRecDirClu[gxbUiMenuSubStates-1]-2)*gbSecPerClu;
- stUiFileListData.dwDirSec[1]=stUiFileListData.dwDirStartSec;
- stUiFileListData.wDirOffset[1]=0;
- UiGetFileListNum();
- gxwFileNumInFileList=0;
- //restor clock
- SetSysSpeed(0x08);
- UiGoFileList();
- }
- }
- #elif(0) //(UI_USE_CLASS_LIST) //tne 2007/01/24 #2
- else if(gxbUiMenuMainStates==UI_SEL_LIST_MENU)
- {
- if(gxbUiMenuSubStates==UI_SEL_FILE_LIST_MENU)
- {
- UiGoRootFileList();
- UiGoFileList();
- }
- else
- {
- gfChangeMusic=FALSE;
- stUiFileListData=stFsFileInf;
- UiFileListSwapJob();
- gxwFileNumInFileList=gxwCurtFileInDir+gxwTotalDirInDir; //tne 2005/11/15
- LoadProgram(PM_CLASS_LIST,BASIC_CODE_ONLY);
- }
- break;
- }
- #endif
- else //if(gxbUiMenuMainStates==UI_DEL_YES_NO_MENU)
- {
- if(gxbUiMenuSubStates==TRUE) //del file
- {
- //tne 2007/01/24 #4
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_DEL);
- //Walace060806#2
- //OLED_CLEAR_ALL();
- //StrShowSysString(SYS_STR_HOST_WORKING_DEL,LCD_AUTO_CENTER_COL,PAGE3);
- GXW_OLD_TOTAL_DIR_IN_DIR=gxwOldTotalDirInDir;
- GXW_OLD_TOTAL_FILE_IN_DIR=gxwOldTotalFileInDir;
- //LCD_CTRL_DIS();
- //tne dir del
- SetSysSpeed(0x02);
- #if(_PM_DVR_)
- gxbModuleState=MODULE_DVR_FLIST; //Walace060607#1 PlayProcess
- #else
- gxbModuleState=MODULE_PLAY_FLIST; //Walace060607#1 PlayProcess
- #endif
- //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
- if(gxwFileNumInFileList>gxwTotalDirInDir) //select a file //tne dir del
- {
- //if(stUiFileListData.dwFileStartClu==stFsFileInf.dwFileStartClu) //del playing file
- /*
- if( (stUiFileListData.dwDirSec[stUiFileListData.bPathDepth]==stFsFileInf.dwDirSec[stFsFileInf.bPathDepth]) &&
- (stUiFileListData.wDirOffset[stUiFileListData.bPathDepth]==stFsFileInf.wDirOffset[stFsFileInf.bPathDepth]) )
- { PlayEngine(P_STOP); }
- */
- LoadProgram(PM_PLAY_DEL,BASIC_CODE_ONLY);
- }
- else
- {
- LoadProgram(PM_DIR_DEL,BASIC_CODE_ONLY);
- }
- }
- UiGoFileList();
- }
- break;
- //case KEY_REC_BREAK:
- #if(FIVEKEY)
- case KEY_VOL_BREAK:
- #else
- case KEY_REC_BREAK:
- #endif
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- //tne dir del
- //if(gxwFileNumInFileList>gxwTotalDirInDir) //select a file
- if(gxwFileNumInFileList>0)
- {
- UiDrawSubMenu(SYS_STR_TOOLS_DEL);
- gxbUiMenuMainStates=UI_DEL_YES_NO_MENU;
- gxbUiMenuSubStates=FALSE;
- UiDispYesNoMenu();
- }
- }
- break;
- case KEY_FUNC_BREAK:
- if(gxbUiMenuMainStates==UI_FILE_LIST_MENU) //back dir
- {
- gxwFileNumInFileList=0;
- goto FILE_LIST_DIR_CONTROL;
- }
- case KEY_MODE_BREAK:
- if(gxbUiMenuMainStates==UI_DEL_YES_NO_MENU)
- {
- UiGoFileList();
- }
- #if(0) //(!_PM_DVR_ & UI_USE_CLASS_LIST) //tne 2007/01/24 #2
- else if(gxbUiMenuMainStates==UI_FILE_LIST_MENU)
- {
- gxbUiMenuSubStates=UI_SEL_FILE_LIST_MENU;
- UiGoSelectListMenu();
- }
- #endif
- else //if(gxbUiMenuMainStates==UI_SEL_LIST_MENU)
- {
- stUiFileListData=stFsFileInf; //restore file struct
- UiGoBackMusicMenu(); //tne 2007/01/06 #1
- }
- 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
- }
- UiPlayFileListDispCtrl(gxbPeDispCmd);
- gxbPeDispCmd=UI_PE_NOP;
- #if(1)
- //vicky070105#3 remove to function
- #if(_PM_DVR_)
- UiCheckNandRestore(MODULE_DVR_FLIST);
- #else
- UiCheckNandRestore(MODULE_PLAY_FLIST);
- #endif
- #else
- //Nick061120 start //NandRestore start
- if((gxbRestoreBlkNum || (gxwTimeToScanPM > SCAN_PM_DURATION)) &&
- (gfChangeMusic || gxbSysState==S_PE_PAUSE||gxbSysState==S_PE_WAIT)&&gfMLCMode) //Nick061204
- {
- //LCD_CTRL_DIS(); //Walace061126#1
- #if(_PM_DVR_)
- gxbModuleState=MODULE_DVR_FLIST;
- #else
- gxbModuleState=MODULE_PLAY_FLIST;
- #endif
- //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 //NandRestore start
- if(gfChangeMusic)
- {
- gxdwLastFileSize=0;
- if( (gxbIntroMode) && (gfIntroPlaying!=INTRO_PLAY) )
- {
- UiGoIntroMode();
- }
- #if(_PM_DVR_)
- UiGetDvrDirNum();
- #endif
- UiGoFileList();
- gfChangeMusic=FALSE;
- }
- }
- }
- API void UiPlayFileListDispCtrl(BYTE bStatus) //Walace060607#1 PlayProcess
- {
- bStatus=bStatus; //tne 2007/01/14 #3
- #if(USE_ERR_MSG_DISPLAY)
- if(gxbErrCode!=ERR_NO_ERROR)
- {
- UiErrHandle();
- return;
- }
- #endif
- }
- API void UiFsDispCtrl(BYTE bStatus) large //tne play 320 music
- {
- switch(bStatus)
- {
- default:
- case UI_FS_OPENING_FILE:
- PeFillDspBuf();
- break;
- }
- }
- #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)
- {
- gxwFileNumInFileList=gxwCurtFileInDir+gxwTotalDirInDir;
- gxwOldTotalDirInDir=gxwTotalDirInDir;
- gxwOldTotalFileInDir=gxwTotalFileInDir;
- /* //Walace060127#2 start
- //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);
- */
- 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
- gxbAbRepeatSts=AB_REPT_RESET; //tne 2006/08/08 #2
- gxwCurrentPlayTime=0; //set 0 for intro mode
- //gxdwCurrentLrcTime=0; //tne 2006/02/10 #1 //Walace060226#Remove
- gfFillDspBufEn=TRUE;
- }
- else if(bStatus==UI_PE_START_START) //tne 2005/08/10
- {
- if(!gfPeStartAfterDel)
- {
- LoadExtendMemCode();
- gfFillDspBufEn=FALSE;
- UiCountCurtFileNum(&stUiFileListData,&stFsFileInf);
- #if(UI_DISP_DIR_NAME)
- UiGetCurtDirName();
- #endif
- }
- }
- else if(bStatus==UI_PE_STOP)
- {
- if(!gfPwOffStop) //tne 2005/11/21 #2
- {
- //LoadExtendMemCode(); //tne 2006/08/16 #1
- 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
- }
- /* //tne 2007/01/14 #1 move to UiCommon.c
- void UiDispDelYesNoMenu(void) large
- {
- UiShowSubMenuNum(gxbUiMenuSubStates+1,2);
- UI_CLEAR_MENU_TAG_AREA();
- StrShowSysString(cwStringSysYesNoList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,OLED_TAG_ROW);
- }
- */
- void UiFileListPlayMusic(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
- //UiDspFade((DSP_FADE_OUT_EN|DSP_FADE_FORCE|(10<<3)),TRUE);
- }
- #endif
- //End
- //
- LoadExtendMemCode();
- UiSetPeStop();
- gfFillDspBufEn=FALSE;
- gxbFileNumSearchMode=FNUM_SEARCH_RESET_MODE;
- //Walace060607#1 PlayProcess start
- //UiCountCurtFileNum(&stFsFileInf,&stUiFileListData); //Walace060606#1 PlayProcess
- //gxbFileNumSearchMode=FNUM_SEARCH_NEXT_MODE;
- //gxwOldTotalDirInDir=gxwTotalDirInDir;
- //gxwOldTotalFileInDir=gxwTotalFileInDir;
- gxbPlayClassMode=P_CLASS_MODE_FILE;
- stFsFileInf=stUiFileListData;
- gpstFileIndex=&stFsFileInf;
- gxbSysState=S_PE_PLAY;
- UiRndPlayInit(); //Ui for class
- if(gfIntroPlaying==INTRO_PLAY)
- UiCancelIntroMode();
- else if(gxbIntroMode)
- UiGoIntroMode();
- // PeStart();
- gxbModuleState=MODULE_PLAY_FLIST;
- LoadPlayProcess(PLAY_PROC_PE_CMD|P_RESTART);
- //Walace060606#1 PlayProcess end
- //PlayEngine(P_PLAYBACK);
- //PlayEngine(P_NOP);
- // LCD_CTRL_EN();
- }
- void UiFileListSwapJob(void)
- {
- // LCD_CTRL_DIS();
- PeFillDspBuf();
- SetSysSpeed(0x02);
- gxwTotalDirInDir=gxwOldTotalDirInDir;
- gxwTotalFileInDir=gxwOldTotalFileInDir;
- gxbModuleState=MODULE_PLAY_FLIST; //Walace060607#1 PlayProcess
- }
- void UiGoBackMenuJob(void)
- {
- UiFileListSwapJob();
- //gxbUiMenuMainStates=UI_FILE_LIST_MENU; //UI for class
- gpstFileIndex = &stUiFileListData; //Tne060113#1
- if(gxwTotalFileInAll>0) //tne 2005/12/09 #1
- FsOpenFile(RELOAD_FILE_NAME); //tne 2005/11/21 #2
- }
- //tne 2007/01/06 #1 start
- void UiGoBackMusicMenu(void)
- {
- UiGoBackMenuJob();
- gxbUiMenuMainStates=UI_MUSIC_MENU;
- gxbUiMenuSubStates=UI_MUSIC_ENTER_FLIST_MENU; // Jeff Check if _LIST_ FLIST
- #if(_PM_DVR_)
- LoadProgram(PM_DVR_MENU,BASIC_CODE_ONLY);
- #else
- LoadProgram(PM_PLAY_MENU,BASIC_CODE_ONLY);
- #endif
- }
- //tne 2007/01/06 #1 end
- void UiGoNoMenu(void)
- {
- UiGoBackMenuJob();
- gxbUiMenuMainStates=UI_FILE_LIST_MENU; //UI for class
- #if(_PM_DVR_)
- LoadProgram(PM_PLAY_DVR,BASIC_CODE_ONLY);
- #else
- LoadProgram(PM_PLAY_FAT_LARGE,BASIC_CODE_ONLY);
- #endif
- }
- #if( (REC_DIR_NUM>1) & (_PM_DVR_) )
- //Note: If REC_DIR_NUM bigger than lcd size, the function should be fixed.
- void UiGoSelectDvrDir(void) large
- {
- CBYTE bFakeLongFileBuf[2]={0,0};
- BYTE bI;
- WORD wDisplayIcon;
- gxbUiMenuMainStates=UI_DVR_FILE_SOURCE_MENU;
- //gxbUiMenuSubStates=0;
- //WHH #13 301_070107
- //OLED_CLEAR_ALL();
- UiShowLargeBackground(5,IM_BROWSER_BG_S1); //tne 2007/01/10 #2
- //OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_FILST_LIGHT_START_COL, (UI_FILST_LIGHT_START_ROW+UI_FILST_TREE_ROW));
- OledShowIconNew(1,IM_BROWSER_ICON_HOME,0,UI_FILST_ROOT_ROW);
- //OledShowIcon(ICON_FILE_FOLDER_OPEN,SEG0,LINE0);
- //OledShowIcon(UI_FLIST_DIR_HOME,SEG2,LINE0) ; //Icon HomeDir
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_FILST_LIGHT_START_COL, (UI_FILST_LIGHT_START_ROW+UI_FILST_TREE_ROW+gxbDvrDirNum*UI_FILST_TREE_ROW));
- for(bI=1;bI<=REC_DIR_NUM;bI++)
- {
- if(bI==REC_DIR_NUM) //last dir
- {
- //wDisplayIcon=UI_FLIST_ICON_FOLDER_CLOSE;
- wDisplayIcon=UI_FILST_FILE_TREE_LAST ;
- }
- else
- {
- //wDisplayIcon=UI_FLIST_ICON_FOLDER_CLOSE;
- wDisplayIcon=UI_FILST_FILE_TREE ;
- }
- // OledShowIcon(ICON_FILE_FOLDER_CLOSE,SEG0,LINE2PIXEL(bI));
- // WHH #13 301_070106
- OledShowIconNew(1,wDisplayIcon,1,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(bI));
- OledShowIconNew(1,UI_FLIST_ICON_FOLDER_CLOSE,7,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(bI));
- //LcdShowFileList(gxbUiDirName[bI-1],bFakeLongFileBuf,bI<<1); //Walace051227#1
- stUiFileListData.pbFileName=gxbUiDirName[bI-1];
- stUiFileListData.pbLongFileName=bFakeLongFileBuf;
- //LcdShowFileList(&stUiFileListData,bI<<1);
- gfTransparent=TRUE;
- LcdShowFileList(&stUiFileListData,bI);
- gfTransparent=FALSE;
- stUiFileListData.pbFileName=gxbFileName;
- stUiFileListData.pbLongFileName=gxbLongFileName;
- }
- //tne 2005/10/09
- gxbUiMenuSubStates=gxbDvrDirNum+1;
- // WHH #13 301_070106
- //OledReverse(OLED_FLIST_COL,LINE2PIXEL(gxbUiMenuSubStates),OLED_FLIST_END_COLUMN-OLED_FLIST_COL+1,LINE1);
- }
- #endif
- #if(!_PM_DVR_)
- void UiGoRootFileList(void) large
- {
- gxwFileNumInFileList=0;
- gpstFileIndex=&stUiFileListData;
- gpstFileIndex->bPathDepth=0;
- gpstFileIndex->dwDirStartSec=gxdwRoot;
- gpstFileIndex->dwDirSec[0]=gxdwRoot;
- gpstFileIndex->wDirOffset[0]=0;
- //FsOpenFile(FIRST_PLAYBACK_IN_DIR);
- UiGetFileListNum();
- }
- #endif
- //tne 2005/10/09
- #if(_PM_DVR_)
- void UiGetDvrDirNum(void) large
- {
- BYTE bI;
- for(bI=0;bI<REC_DIR_NUM;bI++)
- {
- if( (gxbFileName[0]==gxbUiFileName[bI][0]) && (gxbFileName[1]==gxbUiFileName[bI][1]) )
- {
- gxbDvrDirNum=bI;
- break;
- }
- }
- }
- #endif
- #if(_PM_DVR_)
- void UiFileListDvrLightMoe(BOOL bflag) large// WHH #13 301_070106
- {
- CBYTE bFakeLongFileBuf[2]={0,0};
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_ALL,0, UI_FILST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_FILST_LIGHT_ROW);
- if(bflag)
- {
- //OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_01, 0, UI_FILST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_FILST_LIGHT_ROW);
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01, UI_FILST_LIGHT_START_COL, UI_FILST_LIGHT_START_ROW+gxbUiMenuSubStates*UI_FILST_LIGHT_ROW);
- }
- if(gxbUiMenuSubStates==0)
- {
- OledShowIconNew(1,IM_BROWSER_ICON_HOME,0,UI_FILST_ROOT_ROW);
- }
- else if(gxbUiMenuSubStates==REC_DIR_NUM)
- {
- OledShowIconNew(1,UI_FILST_FILE_TREE_LAST,1,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1,UI_FLIST_ICON_FOLDER_CLOSE,7,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- }
- else
- {
- OledShowIconNew(1,UI_FILST_FILE_TREE,1,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- OledShowIconNew(1,UI_FLIST_ICON_FOLDER_CLOSE,7,UI_FILST_ROOT_ROW+(UI_FILST_TREE_ROW)*(gxbUiMenuSubStates));
- }
- if(gxbUiMenuSubStates!=0)
- {
- stUiFileListData.pbFileName=gxbUiDirName[gxbUiMenuSubStates-1];
- stUiFileListData.pbLongFileName=bFakeLongFileBuf;
- gfTransparent=TRUE;
- LcdShowFileList(&stUiFileListData,gxbUiMenuSubStates);
- gfTransparent=FALSE;
- stUiFileListData.pbFileName=gxbFileName;
- stUiFileListData.pbLongFileName=gxbLongFileName;
- }
- }
- #endif
English
