📄 combine.c
字号:
BYTE bTmp;
/* for state change only */
if (bPbcState == _bLastPbcState)
{
return;
}
switch (_bLastPbcState)
{
case SV_STOP:
case SV_STOP_RESUME:
#if (STOP_RESUME_STYLE == STOP_RESUME_TWO_KEYS)
if ((_bLastPbcState == SV_STOP_RESUME) ||
(_bLastPbcState == SV_STOP))
{
vOsdPosClear(OSD_POS_STOP_MSG1);
vOsdPosClear(OSD_POS_STOP_MSG2);
}
#elif (STOP_RESUME_STYLE == STOP_RESUME_TWO_STOP)
if (_bLastPbcState == SV_STOP_RESUME)
{
vOsdPosClear(OSD_POS_STOP_MSG1);
}
#endif
break;
case SV_PLAY:
case SV_FF:
case SV_SF:
case SV_FR:
case SV_SR:
case SV_PAUSE:
case SV_STEP:
case SV_STEP_BACK:
case SV_FREEZE:
case SV_STILL:
/* fgIsDiscPlay() */
break;
case SV_DIGEST9:
case SV_DIGEST4:
case SV_DIGEST:
case SV_PTL_ERR:
case SV_REGION_ERR:
case SV_DISC_ERR:
case SV_SET_TMP_PTL:
break;
default:
/* error? */
break;
}
switch (bPbcState)
{
case SV_STOP:
case SV_STOP_RESUME:
vOsdCoreSetPlayStatus(OSD_SHOW_CLEAR, 0);
/*Find that: when play CD, bSharedInfo(SI_ISO_ITEM_TYPE) ==SV_ISO_JPG). so add: || !fgIsIsoPlay().linshangbo 06.04.07*/
if((bSharedInfo(SI_A_CODE_MODE)!=SV_A_CODE_MP3 && bSharedInfo(SI_ISO_ITEM_TYPE) !=SV_ISO_JPG) || !fgIsIsoPlay())
{
vVfdRotate(VFD_DISC_LIGHT_ALL);
vVfdMessage(VFD_MESSAGE_STOP);
vVfdClrAudInfo();
vVfdSymbol(VFD_SYM_STOP);
}
if(bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
{
vVfdSymbol(VFD_SYM_A_CODE_AAC); // dengsu 0723 for close mpeg4.
}
#ifdef STOP_CANCEL_USR_CTRL
if (((fgIsIsoPlay() || fgIsPcdPlay()) == FALSE)
#ifdef SINGLE_STOP_KEEP_USR_CTRL
&& (bPbcState != SV_STOP_RESUME)
#endif
)
{
bTmp = bSharedInfo(SI_USR_PBC_CTRL);
if (bTmp == SV_PROGRAM)
{
vSendUopCmd(UOP_PROGRAM, SV_PROGRAM_STOP, 0, 0);
}
else if (bTmp == SV_SHUFFLE)
{
vSendUopCmd(UOP_SHUFFLE, SV_OFF, 0, 0);
}
else if (bTmp == SV_RANDOM)
{
vSendUopCmd(UOP_RANDOM, SV_OFF, 0, 0);
}
}
#endif /* STOP_CANCEL_USR_CTRL */
#ifdef STOP_RESUME_CANCEL_REPEAT
if ((fgIsIsoPlay() || fgIsPcdPlay()) == FALSE)
{
bTmp = bSharedInfo(SI_REPEAT_MODE);
if ((bTmp != SV_REPEAT_NONE) &&
(bTmp != SV_REPEAT_ABNONE))
{
vSendUopCmd(UOP_REPEAT, SV_REPEAT_NONE, 0, 0);
}
}
#endif /* STOP_RESUME_CANCEL_REPEAT */
#ifdef SUPPORT_BROWSER
/*if auto play to end ,must close the browser,to avoid player idle. */
if(fgIsVcdPlay() && bSharedInfo(SI_PBC_SWITCH) == SV_PBC_OFF)
{
if(fgIsInBrowser())
{
vBrowserClose(); //stop condition maybe close the browser.songchen.
}
}
#endif
break;
case SV_PLAY:
case SV_FF:
case SV_SF:
case SV_FR:
case SV_SR:
case SV_PAUSE:
case SV_STEP:
case SV_STEP_BACK:
case SV_FREEZE:
case SV_STILL:
/* fgIsDiscPlay() */
if(bPbcState == SV_PLAY && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI) //dengsu
{
vVfdSymbol(VFD_SYM_A_CODE_MPEG);
}
if (!fgIsDiscPlay(_bLastPbcState) && (_bLastPbcState != SV_PBC_INIT))
{
vStatusDispRecall();
if (_bLastPbcState == SV_STOP)
{
/* if previous state is STOP, the time information may be incorrect! */
if (fgIsDvdPlay())
{
vDVDShowTotalTimeMark();
}
else if (fgIsVcdPlay())
{
vVCDShowTotalTimeMark();
}
}
}
break;
case SV_DIGEST9:
case SV_DIGEST4:
case SV_DIGEST:
case SV_PTL_ERR:
case SV_REGION_ERR:
case SV_DISC_ERR:
case SV_SET_TMP_PTL:
break;
default:
/* error? */
break;
}
/* to update VFD */
vVfdUpdateTrick();
#ifdef PLAYER_STOP_SRV_STOP
if (fgSrvStopCheck() == TRUE)
{
_bUISrvStatus = PLAYER_SRV_STOP;
}
#endif
_bLastPbcState = bPbcState;
}
/************************************************************************
Function :
Description :
Parameter :
Return :
************************************************************************/
#ifdef BBK_NEW_SELECTOR
void vShowUsrPbcCtrl(BYTE bMode) large
{
WORD wPos;
if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT;
}
else
{
wPos = OSD_POS_REPEAT;
}
}
else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT_LEFT;
}
else
{
wPos = OSD_POS_REPEAT_LEFT;
}
}
switch (bMode)
{
case SV_REPEAT_NONE:
case SV_REPEAT_ABNONE:
vOsdPosClear(wPos);
break;
case SV_REPEAT_SET_A:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_A, OSD_TIMEOUT);//10/08
break;
case SV_REPEAT_AB:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_AB, OSD_TIMEOUT);//10/08
break;
default:
vOsdPosClear(wPos);
break;
}
#ifdef SUPPORT_CD_SHUFFLE_PLAY// songchen 061030
if(fgIsInBrowser())
{
vBrowserUpdateShuffle();
}
#endif
if (fgIsUsrCtrlMode(bMode))
{
if (bCurrRemainType() != OSD_SHOW_DISABLE)
{
if (fgIsDvdPlay())
{
bDvdCheckRemainShow(FALSE, bCurrRemainType());
}
else if (fgIsCddaPlay())
{
bCddaCheckRemainShow(FALSE, bCurrRemainType());
}
}
}
}
#else
void vShowUsrPbcCtrl(BYTE bMode) large
{
WORD wPos;
if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT;
}
else
{
wPos = OSD_POS_REPEAT;
}
}
else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT_LEFT;
}
else
{
wPos = OSD_POS_REPEAT_LEFT;
}
}
switch (bMode)
{
case SV_REPEAT_NONE:
case SV_REPEAT_ABNONE:
vOsdPosClear(wPos);
break;
case SV_REPEAT_ALL:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_ALL, OSD_NO_DISAPPEAR);
break;
case SV_REPEAT_TRACK:
case SV_REPEAT_LIST:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_TRK, OSD_NO_DISAPPEAR);
break;
case SV_REPEAT_TITLE:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_TT, OSD_NO_DISAPPEAR);
break;
case SV_REPEAT_CHAPTER:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_CH, OSD_NO_DISAPPEAR);
break;
case SV_REPEAT_SET_A:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_A, OSD_NO_DISAPPEAR);
break;
case SV_REPEAT_AB:
vOsdPosShow(wPos, OSD_MSG_ICON_RPT_AB, OSD_NO_DISAPPEAR);
#ifdef KARAOKE_MIC_REC
vMicRecCtrl(MIC_REC_CTRL_INIT);
#endif
break;
#if 0 //bywhy 2003/10/09
case SV_RANDOM:
vOsdPosShow(wPos, OSD_MSG_RANDOM, OSD_NO_DISAPPEAR);
break;
case SV_SHUFFLE:
if (_rOsdStateCtx.fgRepeatShow == TRUE)
{
vOsdPosShow(wPos, OSD_MSG_SHUFFLE, OSD_NO_DISAPPEAR);
}
break;
case SV_PROGRAM:
vOsdPosShow(wPos, OSD_MSG_PROGRAM, OSD_NO_DISAPPEAR);
break;
case SV_USR_DIGEST:
// show OSD
if (fgIsCddaPlay())
{
vOsdPosShow(wPos, OSD_MSG_SCAN, OSD_NO_DISAPPEAR);
}
else
{
#if 0
vOsdPosShow(wPos, OSD_MSG_DIGEST, OSD_NO_DISAPPEAR);
#else
vOsdPosClear(wPos);
#endif
}
// show VFD
if (fgIsDvdPlay())
{
#ifdef DVD_DGST_SHOW_MSG_ONLY
#ifdef VFD_MESSAGE_DIGEST
vVfdMessage(VFD_MESSAGE_DIGEST);
#endif
#else
vVfdWord(VFD_WORD_TT, bHEXToBCD(bSharedInfo(SI_TT_NO)), 1);
vVfdWord(VFD_WORD_CH, bHEXToBCD(bSharedInfo(SI_CHAP_NO)), 1);
vVfdSymbol(VFD_SYM_PLAYINFO_TT_CH);
#endif
}
else if (fgIsVcdPlay())
{
#ifdef VCD_DGST_SHOW_MSG_ONLY
#ifdef VFD_MESSAGE_DIGEST
vVfdMessage(VFD_MESSAGE_DIGEST);
#endif
#else
wPos=(WORD) bSharedInfo(SI_TRACK_NO);
if (wPos <= 99)
vVfdWord(VFD_WORD_CH, bHEXToBCD((BYTE)wPos), 0);
else
vVfdWord(VFD_WORD_CH, 0, 0);
vVfdWordClr(VFD_WORD_TT);
vVfdSymbol(VFD_SYM_PLAYINFO_TRACK);
#endif //VCD_DGST_SHOW_MSG_ONLY
}
else if (fgIsIsoPlay() || fgIsCddaPlay())
{
/* ? */
}
break;
#endif
default:
vOsdPosClear(wPos);
break;
}
if (fgIsUsrCtrlMode(bMode))
{
if (bCurrRemainType() != OSD_SHOW_DISABLE)
{
if (fgIsDvdPlay())
{
bDvdCheckRemainShow(FALSE, bCurrRemainType());
}
else if (fgIsVcdPlay())
{
#ifndef BBK_MENU
bVcdCheckRemainShow(FALSE, bCurrRemainType());
#endif
}
else if (fgIsCddaPlay())
{
bCddaCheckRemainShow(FALSE, bCurrRemainType());
}
}
}
}
#endif //end bbk_new_selector
/************************************************************************
Function :
Description :
Parameter :
Return :
************************************************************************/
#ifdef BBK_NEW_SELECTOR
BOOL fgShowRepeatMode(BYTE bMode) large
{
#ifdef SUPPORT_BROWSER
if(fgIsInBrowser())
{
vBrowserUpdateRepeat();
}
#endif
if((bMode == SV_REPEAT_ALL) || (bMode == SV_REPEAT_TRACK)
|| (bMode == SV_REPEAT_LIST) || (bMode == SV_REPEAT_TITLE)
|| (bMode == SV_REPEAT_CHAPTER))
{
return(TRUE);
}
else
{
return(FALSE);
}
}
#else
BOOL fgShowRepeatMode(BYTE bMode) large
{
BOOL fgRet = FALSE; /* default is continue update */
WORD wPos;
WORD wMsg = 0;
if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT;
}
else
{
wPos = OSD_POS_REPEAT;
}
}
else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
{
if (fgIsIsoPlay())
{
wPos = OSD_POS_ISO_REPEAT_LEFT;
}
else
{
wPos = OSD_POS_REPEAT_LEFT;
}
}
switch (bMode)
{
case SV_REPEAT_ALL:
wMsg = OSD_MSG_ICON_RPT_ALL;
fgRet = TRUE;
break;
case SV_REPEAT_TRACK:
case SV_REPEAT_LIST:
wMsg = OSD_MSG_ICON_RPT_TRK;
fgRet = TRUE;
break;
case SV_REPEAT_TITLE:
wMsg = OSD_MSG_ICON_RPT_TT;
fgRet = TRUE;
break;
case SV_REPEAT_CHAPTER:
wMsg = OSD_MSG_ICON_RPT_CH;
fgRet = TRUE;
break;
case SV_REPEAT_NONE:
case SV_REPEAT_ABNONE:
wMsg = 0xffff;
fgRet = FALSE; /* continue update PBC state */
break;
default:
break;
}
#ifdef SUPPORT_BROWSER
if(fgIsInBrowser())
{
vBrowserUpdateRepeat();
}
#endif
if (_rOsdStateCtx.fgRepeatShow == TRUE)
{
if (wMsg == 0xffff)
{
vOsdPosClear(wPos);
}
else if (wMsg != 0)
{
vOsdPosShow(wPos, wMsg, OSD_TIMEOUT);//10/08
}
}
return (fgRet);
}
#endif //end bbk_new_selector
/************************************************************************
Function :
Description :
Parameter :
Return :
************************************************************************/
#ifdef RUSSIAN_BUYER_REQUEST2 //songchen 061211
BOOL fgShowAuxCtrl(BYTE bMode) large
{
BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);
BOOL fgFlMpegOn = fgFlCheckStatus(FL_STATUS_IN_MPEG); //songchen 061215
WORD wTmp;
BOOL fgRet = FALSE; /* default is continue update */
WORD wPos;
if(fgIsIsoPlay() && !fgIsIsoItemAV(bSharedInfo(SI_ISO_ITEM_TYPE)))
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -