?? flmenu.c
字號:
{
case IR_SELECT_DONE:
case IR_PLAY_ENTER:
case IR_PLAY:
case IR_ENTER:
case IR_PLAY_PAUSE:
case IR_PROGRAM:
fgFlAutoPlayQuit();
break;
}
#endif
for (i = 0; i < sizeof(_rFlMnIrHandler) / sizeof(_rFlMnIrHandler[0]); i++)
{
if (_bIRKey == _rFlMnIrHandler[i].bIrKey)
{
fgIsGrabbed = _rFlMnIrHandler[i].pHandler();
return fgIsGrabbed;
}
}
return fgIsGrabbed;
}
////////////////////////////////////////////////////////////////////////////////
//
// Fslist Command Handler
//
/**
* Check the return value of command "FLCMD_CREATE".
*/
static void vFlMnRetCreate(void) large
{
WORD wBlkPtr;
BYTE bRCode;
wBlkPtr = FL_CMD_BLK_SA + 1; // - shift to the parameter block
bRCode = bSharedInfo(wBlkPtr ++);
// - mark the command is done
vFlCmdDone();
if (bRCode == FLRET_S_OK)
{
// - read in the newly created list info
if (fgFlClIsLock())
{
switch(bFlClPath())
{
case FL_CMDPATH_INIT_0:
_bFlMnListId = bSharedInfo(wBlkPtr ++);
vFlMnRdListInfo(_bFlMnListId);
#ifdef ISO_AUTO_PLAY
vFlClNext();
vFlCmdCreate(FLPARM_LIST_DISC, 0, 0x0,
#ifdef MT1379_MANUFACTURE_TEST
FLPARM_FF_MPG,
#else
FL_AUDIO_FILE,
#endif
FLPARM_SO_GDIR);
break;
case FL_CMDPATH_INIT_1:
_bFlRefListId = bSharedInfo(wBlkPtr ++);
#ifdef MT1379_MANUFACTURE_TEST
vFlMnRdListInfo(_bFlRefListId);
if (!_wFlMnListLen)
vNotMp4CD();
else
vFlCmdClickItem(_bFlRefListId, 0);
#endif
#endif
if (bSharedInfo(SI_DISC_TYPE) == SV_PCD)
{
vFlSetCmdTarget(FL_CMD_TARGET_JPEG);
}
else
{
if (_wFlMnListLen)
{
if (_wFlCurAdoIdx == 0xFFFF)
{
fgFlCmdGetItems(_bFlMnListId, 0);
//vFlSetCmdTarget(FL_CMD_TARGET_MENU);
}
else
{
_bFlMnCurItemIdx = _wFlCurAdoIdx % FLMN_ITEM_N;
fgFlCmdGetItems(_bFlMnListId, _wFlCurAdoIdx - _bFlMnCurItemIdx);
}
}
else
{
#ifdef SUPPORT_EMD
vFlMnShowPage();
vFlMnDrawInfoPanel(_bFlIpState);
vFlIpShowInfo(IP_INFO_FILE_INDEX, 0, 0);
_wStartX = FLMN_BTN_1_X + FLMN_MENU_BORDER + 80;
_wStartY = FLMN_BTN_1_Y + FLMN_MENU_BORDER + 2;
if (bSharedInfo(SI_FAT_ERR_CODE) == SV_FAT_E_NOT_SUPPORT)
vOsdMsgPaste(FL_MENU_WB, OSD_MSG_ERR_DISC_NOT_SUPPORT);
else
vOsdMsgPaste(FL_MENU_WB, OSD_MSG_EMPTY_CARD);
_bFlCmdTarget = FL_CMD_TARGET_MENU;
vFlClRls();
#endif
}
}
break;
}
}
}
else
{
// - error occurs
_bFlMnListId = 0xFF;
_bFlRefListId = 0xFF;
}
return;
}
/**
* Check the return value of command "FLCMD_SET".
*/
static void vFlMnRetSet(void) large
{
WORD wBlkPtr;
BYTE bRCode;
wBlkPtr = FL_CMD_BLK_SA + 1; // - shift to the parameter block
bRCode = bSharedInfo(wBlkPtr ++);
//bRetOp = bFlCmdRetOp();
// - mark the command is done
vFlCmdDone();
if (bRCode == FLRET_S_OK)
{
// - successful
vFlMnRdListInfo(_bFlMnListId);
if (fgFlClIsLock())
{
switch(bFlClPath())
{
case FL_CMDPATH_RETURN:
_bFlMnCurItemIdx = _wFlCurAdoIdx % FLMN_ITEM_N;
fgFlCmdGetItems(_bFlMnListId, _wFlCurAdoIdx - _bFlMnCurItemIdx);
break;
case FL_CMDPATH_CHG_DIR:
case FL_CMDPATH_DIR_UP_0:
case FL_CMDPATH_DIR_UP_1:
_bFlMnCurItemIdx = 0x0;
fgFlCmdGetItems(_bFlMnListId, 0);
break;
case FL_CMDPATH_CHG_LIST:
fgFlCmdGetItems(_bFlMnListId, 0x0);
break;
case FL_CMDPATH_ATPLY_1:
_wFlCurAdoIdx += wFlGetSubFldrNs(_bFlMnListId);
fgFlCmdGetItems(_bFlMnListId, _wFlCurAdoIdx - (_wFlCurAdoIdx % FLMN_ITEM_N));
break;
}
}
else
{
#if 0
if (bRetOp == FLCMD_RET_OP_CHG_LIST)
fgFlCmdGetItems(_bFlMnListId, 0x0);
else
#endif
fgFlCmdGetItems(_bFlMnListId, 0x0);
_bFlMnCurItemIdx = 0x0;
}
}
else
{
// - error occurs
}
return;
}
/**
* Check the return value of command "FLCMD_GET_ITEMS".
*/
static void vFlMnRetGetItems(void) large
{
WORD wBlkPtr;
WORD wNum;
BYTE bType;
BYTE bRCode;
wBlkPtr = FL_CMD_BLK_SA + 1; // - shift to the parameter block
bRCode = bSharedInfo(wBlkPtr ++);
if (bRCode == FLRET_S_OK)
{
// - successful, update the item number, redraw the page
_bFlMnItemNs = bSharedInfo(wBlkPtr ++);
vFlCmdDone();
switch(bFlClPath())
{
#ifdef ISO_AUTO_PLAY
case FL_CMDPATH_INIT_1:
#else
case FL_CMDPATH_INIT_0:
#endif
#ifdef ISO_LAST_MEM
// lastmem & autoplay can't be happened at the same time
if (_wFlCurAdoIdx != 0xffff)
{
vFlMnDrawPage();
fgFlMnEntItem(_bFlMnCurItemIdx);
vFlCmdClickItem(_bFlMnListId, _wFlCurAdoIdx);
}else
#endif
{
vFlSetCmdTarget(FL_CMD_TARGET_MENU);
}
break;
case FL_CMDPATH_CHG_LIST:
vFlIpShowInfo(IP_INFO_LIST_TYPE, bSharedInfo(FL_LIST_FIELD(_bFlMnListId)), 0);
case FL_CMDPATH_CHG_DIR:
case FL_CMDPATH_REDRAW:
case FL_CMDPATH_DIR_UP_1:
case FL_CMDPATH_UP:
case FL_CMDPATH_DOWN:
case FL_CMDPATH_RETURN:
vFlMnSyncState();
vFlMnDrawPage();
fgFlMnEntItem(_bFlMnCurItemIdx);
vFlClRls();
break;
case FL_CMDPATH_SEL_2:
vFlMnDrawPage();
fgFlMnEntItem(_bFlMnCurItemIdx);
vFlClRls();
break;
case FL_CMDPATH_DIR_DOWN:
fgFlMnEntDir(0x0, FALSE);
break;
case FL_CMDPATH_DIR_UP_0:
vFlClNext();
fgFlMnEntDir(0x0, TRUE);
break;
case FL_CMDPATH_PL_RM:
vFlMnDrawPage();
fgFlMnEntItem(_bFlMnCurItemIdx);
vFlClRls();
break;
case FL_CMDPATH_SEL_0:
_fgFlMdChg = TRUE;
_bFlMnItemType = bFlGetItemType(_bFlMnCurItemIdx);//061212 xinzhen modify for CQ( PL00003089)
switch (_bFlMnItemType)
{
case FTYPE_FOLDER:
vFlClNext();
if (fgIsParentDir())
vParseFolderName(_bFlMnCurItemIdx, TRUE);
else
vParseFolderName(_bFlMnCurItemIdx, FALSE);
vFlSetCmdTarget(FL_CMD_TARGET_MENU);
break;
case FTYPE_AUDIO:
vFlClNext();
vFlSetCmdTarget(FL_CMD_TARGET_MENU);
break;
case FTYPE_STILL:
vFlClNext();
vFlSetCmdTarget(FL_CMD_TARGET_JPEG);
break;
case FTYPE_AV:
vFlClNext();
vFlSetCmdTarget(FL_CMD_TARGET_MPEG);
break;
}
break;
#ifdef ISO_AUTO_PLAY
case FL_CMDPATH_ATPLY_0:
vFlCmdQueryItem(_bFlRefListId, _wFlAtplyIdx);
break;
case FL_CMDPATH_ATPLY_1:
_bFlMnCurItemIdx = _wFlCurAdoIdx % FLMN_ITEM_N;
#ifdef FL_AUTO_PLAY_SYNC_MENU
vFlMnDrawPage();
fgFlMnEntItem(_bFlMnCurItemIdx);
#endif
vFlCmdClickItem(_bFlMnListId, _wFlCurAdoIdx);
break;
#endif
}
}
else
{
// - error occurs, mark the number of item is negative
vFlCmdDone();
switch(bFlClPath())
{
case FL_CMDPATH_CHG_LIST:
bType = bSharedInfo(FL_LIST_FIELD(_bFlMnListId));
switch (bType)
{
case FLPARM_LIST_FOLDER:
bType = FLPARM_LIST_DISC;
_wFlCurAdoIdx = _wFlFdIdx;
break;
case FLPARM_LIST_DISC:
bType = FLPARM_LIST_PLAYLIST;
_wFlCurAdoIdx = _wFlFlIdx;
break;
case FLPARM_LIST_INVALID:
case FLPARM_LIST_PLAYLIST:
bType = FLPARM_LIST_FOLDER;
_wFlCurAdoIdx = _wFlPlIdx;
break;
}
#if 0
if (bType == FLPARM_LIST_PLAYLIST)
{
vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_ON);
vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_OFF);
}
else
{
vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_OFF);
vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_ON);
}
#endif
switch (bType)
{
case FLPARM_LIST_FOLDER:
#ifdef SUPPORT_SACD
if (IS_SACD_TYPE())
{
vFlCmdSet(_bFlMnListId, FLPARM_LIST_FOLDER, 0x0,
_wBaseDir, FLMN_DEF_FFAC, FLPARM_SO_GDIR);
}else
#endif
{
vFlCmdSet(_bFlMnListId, FLPARM_LIST_FOLDER, FLPARM_INC_PARENT,
_wBaseDir, FLMN_DEF_FFAC | FLPARM_FF_DIR, FLPARM_SO_GDIR);
}
break;
case FLPARM_LIST_DISC:
case FLPARM_LIST_PLAYLIST:
default:
vFlCmdSet(_bFlMnListId, bType, 0x0,
0x0, FLMN_DEF_FFAC, FLPARM_SO_GDIR);
}
break;
default:
//vFlCmdDone();
_bFlMnCurItemIdx = 0xFF;
_bFlMnItemNs = 0xFF;
break;
}
}
return;
}
/**
* Check the return value of command "FLCMD_CLICK_ITEM".
*/
void vFlMnRetClickItem(void) large
{
WORD wBlkPtr, wItem;
BYTE bRCode;
wBlkPtr = FL_CMD_BLK_SA + 1; // - shift to the parameter block
bRCode = bSharedInfo(wBlkPtr ++);
vFlCmdDone();
if (bRCode == FLRET_S_OK)
{
// - successful
switch (bSharedInfo(wBlkPtr ++))
{
case FTYPE_DIR:
// - we clicked a dir, the list goes into it.
// re-get items for redraw later
vFlMnRdListInfo(_bFlMnListId);
bLoByte(wItem) = bSharedInfo(wBlkPtr ++);
bHiByte(wItem) = bSharedInfo(wBlkPtr);
_bFlMnCurItemIdx = wItem % FLMN_ITEM_N;
fgFlCmdGetItems(_bFlMnListId, wItem - _bFlMnCurItemIdx);
break;
case FTYPE_JPG:
// - we clicked a JPEG file
switch (bFlClPath())
{
case FL_CMDPATH_CHG_CMDTGT:
case FL_CMDPATH_RPLC_CMDTGT:
case FL_CMDPATH_SEL_2:
vFlClRls();
break;
case FL_CMDPATH_CLICK:
vFlClRls();
if (_bPreview == PREVIEW_STATE_FINISHED)
{
// - clicked for preview
_bPreview = PREVIEW_STATE_IDLE;
}
else
{
// - clicked for selection
if (fgFlClLock(FL_CMDPATH_CHG_CMDTGT))
vFlSetCmdTarget(FL_CMD_TARGET_JPEG);
}
break;
}
break;
case FTYPE_MP1:
case FTYPE_MP2:
case FTYPE_MP3:
case FTYPE_WMA:
case FTYPE_AC3:
#ifdef OGG_AUDIO_AS_MP3
case FTYPE_OGG:
#endif
#ifdef DDISC_FTYPE_MLP_SUPPORT
case FTYPE_MLP:
#endif
#ifdef DDISC_ENB_CDFS
case FTYPE_CDA:
#endif
#ifdef SUPPORT_SACD
case FTYPE_DST:
case FTYPE_DSD:
#endif
// - we clicked a Audio file
switch (bFlClPath())
{
#ifdef ISO_LAST_MEM
case FL_CMDPATH_INIT_0:
vFlSetCmdTarget(FL_CMD_TARGET_MENU);
break;
#endif
case FL_CMDPATH_SEL_2:
vFlMnDrawPage();
vFlMnHiliItem(_bFlMnCurItemIdx, TRUE);
_wFlCurAdoDir = wFlGetListBaseDir(_bFlMnListId);
_wFlCurAdoIdx = wFlGetItemIdx(_bFlMnCurItemIdx);
vFlIpShowInfo(IP_INFO_FILE_INDEX, 0, _wFlCurAdoIdx);
break;
#ifdef ISO_AUTO_PLAY
case FL_CMDPATH_ATPLY_1:
break;
#endif
}
vFlClRls();
break;
case FTYPE_MPG:
case FTYPE_DAT:
case FTYPE_VOB:
case FTYPE_AVI:
case FTYPE_TS1:
case FTYPE_MP4:
case FTYPE_3GP:
case FTYPE_TS2:
#ifdef OGG_AUDIO_AS_MP3
case FTYPE_OGM:
#else
case FTYPE_OGG:
#endif
case FTYPE_TS4:
case FTYPE_ASF:
vFlClRls();
vFlSetCmdTarget(FL_CMD_TARGET_MPEG);
break;
default:
// - other case
break;
}
}
else
{
// - error occurs, do nothing
}
// _bFlCurAdoFileType = bSharedInfo(FL_LIST_FIELD(_bFlMnListId));
return;
}
/**
* Check the return value of command "FLCMD_RM_FROM_PL".
*/
void vFlMnRetRmFromPl(void) large
{
WORD wBlkPtr,wPos;
BYTE bRCode;
wBlkPtr = FL_CMD_BLK_SA + 1; // - shift to the parameter block
bRCode = bSharedInfo(wBlkPtr ++);
vFlCmdDone();
if (bRCode == FLRET_S_OK)
{
// - successful
_wFlMnListLen = bSharedInfo(wBlkPtr ++);
if (_wFlMnListLen)
{
if (_bFlMnCurItemIdx >= _wFlMnListLen)
_bFlMnCurItemIdx--;
//added by msz00049 for CR PL00105606 @07-4-24
wPos = FL_LIST_FIELD(_bFlMnListId);
if(FLPARM_SO_GDIR == bSharedInfo(wPos + 8))
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -