📄 uopmap.h
字号:
INPUT_STATE_TITLE_SEARCH, //3
INPUT_STATE_DVD_TIME_SEARCH, //4
INPUT_STATE_VCD_TIME_SEARCH, //5
INPUT_STATE_VCD_TRACK_SEARCH, //6
INPUT_STATE_ISO_TIME_SEARCH, //7
INPUT_STATE_AUDIO_CHANGE, //8
INPUT_STATE_SUBTITLE_CHANGE, //9
INPUT_STATE_ANGLE_CHANGE, //10
INPUT_STATE_DVD_DISPLAY, //11
INPUT_STATE_VCD_DISPLAY, //12
INPUT_STATE_PASSWORD, //13
INPUT_STATE_BOOKMARK, //14
INPUT_STATE_UPG, //15
INPUT_STATE_DIGEST, //16
INPUT_STATE_FILE_SELECT, //17
INPUT_STATE_FSMENU_FILTER, //18
INPUT_STATE_PCD_ZOOM, //19
INPUT_STATE_DA_HIDDEN_PWD, //20
INPUT_STATE_DVD_AUDIO_SCAN, //21
INPUT_STATE_DISC_LOCK_PWD, //22
INPUT_STATE_LOGO_CAPTURE, //23
INPUT_STATE_FL_OPTIONS, //24
INPUT_STATE_ITEM_INFO, //25
INPUT_STATE_VREMOTE, //26
#ifdef ID_NO
INPUT_STATE_ID, //27
#endif
#ifdef BBK_NEW_SELECTOR
INPUT_STATE_SELECTOR, //28
#endif
INPUT_STATE_ZOOM_IN, // 29
INPUT_STATE_STACK_START, //30
INPUT_STATE_SETUP, //31
INPUT_STATE_GOTO, //32
#ifdef BBK_LAST_MEMORY
INPUT_STATE_LAST_MEMORY, //33
#endif
#ifdef SUPPORT_BROWSER
INPUT_STATE_BROWSER, //34
#endif
INPUT_STATE_MAX //35
};
#define fgIsInputStateValid(bMode) (_bInputState == bMode)
#define fgIsNoInputState() (_bInputState == INPUT_STATE_NONE)
#define fgIsSearchInputState() ((_bInputState >= INPUT_STATE_PTT_SEARCH) && (_bInputState <= INPUT_STATE_ISO_TIME_SEARCH))
EXTERN xdata BYTE _bPlayPostKey;
EXTERN xdata BYTE _bInputState;
#define _fgInputResend (_rUopmapFlag.fgInputResend)
#define _fgInputEscape (_rUopmapFlag.fgInputEscape)
//===================================================================
// Set internal command
//===================================================================
BOOL fgSetPlayPostKey(BYTE bKey) large;
// *********************************************************************
// Key combine state export function
// *********************************************************************
void vChangeInputState(BYTE bState, BOOL fgSendKey) large;
void vSetExitInputState(void) large;
// *********************************************************************
// UOP Dispatch Function, No branch in run-time
// *********************************************************************
#if defined(PC_EMULATION)
extern void vSendUopCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2, BYTE bParm3) large;
#else
/*
#define vSendUopCmd(bCmd, bParm1, bParm2, bParm3) \
SendIRCmd(bCmd, bParm1, bParm2, bParm3)
*/
void vSendUopCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2, BYTE bParm3) large;
#endif
// *********************************************************************
// Description : For peripheral command to main loop
// *********************************************************************
void vSendPeriCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2) large;
// *********************************************************************
// For UI reset
// *********************************************************************
EXTERN void vResetInputState(void) large;
EXTERN void vResetOsdState(void) large;
// *********************************************************************
// Status Display Recall
// *********************************************************************
void vStatusDispRecall(void) large;
// *********************************************************************
// Main State Machine
// *********************************************************************
/* This must be called after call the main state function */
/* assume the vChangeInputState() is only called from main state */
/* execute non-stacked input state */
#define vResendInputState() \
if (_fgInputResend == TRUE) \
{ \
vNonStatckInputState(); \
_fgInputResend = FALSE; \
}
void vNonStatckInputState(void) large;
// *********************************************************************
// Button No Input State Machine
// *********************************************************************
void vBtnNoInitState(BYTE fgInit) large;
BOOL fgBtnNoInputState(void) large;
// *********************************************************************
// Setup State Machine
// *********************************************************************
BOOL fgSetupState(void) large;
void vSetupInitState(void) large;
// *********************************************************************
// FILE SYSTEM MENU.
// *********************************************************************
void vFsMenuInit(BOOL fgInit) large;
BOOL fgFsMenuState(void) large;
void vFsMenuExit(void);
#ifndef PLAYER_FLMENU
void vFsMenuRecoverMenus(void);
#endif
//BOOL fgFsMenuIsMenuOn(void);
//BOOL fgFsMenuIsBusy(void);
//BOOL fgFsMenuIsDecoding(void);
#ifdef PLAYER_FLMENU
void vFlHandleUopRet(BYTE bUopId, BYTE bUopRet) large;
#else
void vFsMenuHandleUopRet(BYTE bUopId, BYTE bUopRet) large;
#endif
// *********************************************************************
// Select State Machine
// *********************************************************************
void vSelectInit(BYTE fgInit) large;
BOOL fgSelectState(void) large;
// *********************************************************************
// Search State Machine
// *********************************************************************
#define SEARCH_NONE 0
#define SEARCH_DVD_TIME 1 /* for title time search in TT/TIME */
#define SEARCH_DVD_TIME_CH 2 /* for chapter time search in CH/TIME */
#define SEARCH_VCD_TIME_DISC 3
#define SEARCH_VCD_TIME_TRACK 4
#define SEARCH_VCD_TRACK 5
#define SEARCH_DVD_PTT 6 /* for chapter search in TT/CH */
#define SEARCH_DVD_CH 7 /* for chapter search in CH/TIME */
#define SEARCH_DVD_TIME_CH_WAIT 8 /* for chapter search wait complete */
#define SEARCH_DVD_TIME_CH_CHANGE 9 /* for chapter search change to CH time search */
#define SEARCH_DVD_PTT_TTL 10 /* for title search in TT/CH */
#define SEARCH_DVD_TIME_TTL 11 /* for title search in TT/TIME */
#define SEARCH_DVD_TIME_WAIT 12 /* for title search wiat complete */
#define SEARCH_DVD_PTT_WAIT 13 /* for title search wiat complete */
#define SEARCH_DVD_TIME_CHANGE 14 /* for title search change to TT time search */
#define SEARCH_DVD_PTT_CHANGE 15 /* for title search change to PTT search */
#define SEARCH_ISO_TIME 16
#define SEARCH_ISO_FILE 17
EXTERN xdata struct
{
BYTE bType;
}
_rSearchStateCtx;
// *********************************************************************
// General Number Input State Machine
// *********************************************************************
WORD wWRDToBCD(WORD wVal) large;
void vNumInInitState(BYTE bType, BYTE bCnt) large;
BOOL fgNumInState(void) large;
#define NUM_IN_NONE 0
#define NUM_IN_TYPE_1 1
#define NUM_IN_TYPE_2 2
#define NUM_IN_TYPE_3 3
#define NUM_IN_TYPE_4 4
#define NUM_IN_VCD_TIME 5
#define NUM_IN_DVD_TIME 6
#define NUM_IN_SEQ_WAIT 7
#define NUM_IN_SEQ_LIMIT 8
typedef struct {
/* BYTE 1 */
BYTE bInputType:4;
BYTE bInputState:4;
/* BYTE 2 */
#ifdef ID_NO
BYTE bTotalDigNum:4;
BYTE bDigNum:4;
#else
BYTE bTotalDigNum:3;
BYTE bDigNum:3;
#endif
BYTE fgComplete:1;
BYTE fgCancel:1;
} strucNumState;
EXTERN xdata struct
{
#ifdef ID_NO
BYTE bDig[12];
#else
BYTE bDig[6];
#endif
BYTE wNum;
strucNumState rState;
}
_rNumInStateCtx;
// *********************************************************************
// OSD Display Update Routines
// *********************************************************************
void vSmUpdate(BYTE *pbInfo) large;
void vPlayerKeyProc(void) large;
void vShowInitState(BYTE bInitState) large;
EXTERN xdata struct
{
/* BYTE 0 */
BYTE fgUopUpdate:1;
BYTE fgSetupShow:1;
BYTE fgTimeShow:1;
BYTE bTimeType:3;
BYTE fgRemainMsgShow:1;
BYTE fgPlayInfoShow:1;
/* BYTE 1 */
BYTE bPlayInfoType:3;
BYTE bPlayType:4;
BYTE fgPlayShow:1;
/* BYTE 2 */
BYTE fgRepeatShow:1;
BYTE fgABShow:1;
BYTE fgUsrCtrlShow:1;
BYTE fgZoomShow:1;
BYTE fgAngleShow:1;
BYTE fgTimePos:1;
BYTE fgAudioStatusRecall:1;
BYTE bAudioStatus:1;
/* BYTE 3 */
#ifdef EN_DISC_ID_CHK
BYTE bDiscInitFlag:7;
BYTE bDiscIDFound:1;
#endif
/* BYTE 4 */
BYTE fgZoomBrShow:1;
BYTE fgGotoShow:1;
BYTE bGotoTimeType:2;
BYTE fgVRemoteShow:1;
BYTE fgLastMemWrBack:1;
BYTE fgSetupSttTrans:1;
#ifndef SUPPORT_BROWSER
BYTE Reserve:1;
#else
BYTE fgBrowserShow:1; // Bright_liu
#endif
/* BYTE 5 */
#ifdef BBK_NEW_SELECTOR
BYTE fgSelectorShow: 1;
#endif
/* BYTE 6/7 */
BYTE bUopRetId;
BYTE bUopRetVal;
}
_rOsdStateCtx;
#define fgIsInSetupMenu() (_rOsdStateCtx.fgSetupShow == TRUE)
#ifdef BBK_NEW_GUI
#define fgIsInFlOptState (_bInputState == INPUT_STATE_FL_OPTIONS)
#define fgIsInFlItemInfo (_bInputState == INPUT_STATE_ITEM_INFO)
#endif
#ifdef SUPPORT_BROWSER
#define SetBrowser() _rOsdStateCtx.fgBrowserShow = TRUE
#define ClrBrowser() _rOsdStateCtx.fgBrowserShow = FALSE
#define fgIsInBrowser() (_rOsdStateCtx.fgBrowserShow == TRUE) // Bright_liu
#else
#define fgIsInBrowser() FALSE
#endif
#ifdef BBK_NEW_SELECTOR
#define SetSelector() _rOsdStateCtx.fgSelectorShow = TRUE
#define ClrSelector() _rOsdStateCtx.fgSelectorShow = FALSE
#define fgIsInSelector() (_rOsdStateCtx.fgSelectorShow == TRUE)
#else
#define fgIsInSelector() FALSE
#endif
#define fgIsUopUpdate() (_rOsdStateCtx.fgUopUpdate == TRUE)
#define bCurrRemainType() (_rOsdStateCtx.bTimeType)
#define vSetAngleShow(fgOnOff) (_rOsdStateCtx.fgAngleShow = fgOnOff)
#define fgIsAngleShow() (_rOsdStateCtx.fgAngleShow == TRUE)
#define fgIsUopRetOK(bUop) (fgIsUopUpdate() && (bUop == _rOsdStateCtx.bUopRetId) && \
(_rOsdStateCtx.bUopRetVal == SV_NO_ERROR))
// *********************************************************************
// For disc identification
// *********************************************************************
#define DISC_INIT_DISC_TYPE 0x01
#define DISC_INIT_DISC_ID 0x02
#define DISC_INIT_LOCK_CHK 0x04
#define DISC_INIT_WAIT_PWD_IN 0x08
#define DISC_INIT_PWD_OK 0x10
#define DISC_INIT_LASTMEM 0x20
#define DISC_INIT_FINISHED (DISC_INIT_DISC_TYPE | DISC_INIT_DISC_ID)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -