⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uopmap.h

📁 mtk1389L latest sourcecode enjoy
💻 H
📖 第 1 页 / 共 3 页
字号:
strucInputState;

#define INPUT_STATE_KEY_TBL_NORMAL     0
#define INPUT_STATE_KEY_TBL_SHIFT      1
#define INPUT_STATE_KEY_TBL_KEEP       2

#define INPUT_STATE_NONE               0xff

#define INPUT_STATE_SELECT_NUM         0
#define INPUT_STATE_PROGRAM            1
#define INPUT_STATE_PTT_SEARCH         2
#define INPUT_STATE_TITLE_SEARCH       3
#define INPUT_STATE_DVD_TIME_SEARCH    4
#define INPUT_STATE_VCD_TIME_SEARCH    5
#define INPUT_STATE_VCD_TRACK_SEARCH   6
#define INPUT_STATE_ISO_TIME_SEARCH    7
#define INPUT_STATE_AUDIO_CHANGE       8
#define INPUT_STATE_SUBTITLE_CHANGE    9
#define INPUT_STATE_ANGLE_CHANGE      10
#define INPUT_STATE_DVD_DISPLAY       11
#define INPUT_STATE_VCD_DISPLAY       12
#define INPUT_STATE_PASSWORD          13
#define INPUT_STATE_BOOKMARK          14
#define INPUT_STATE_UPG               15
#define INPUT_STATE_DIGEST            16
#define INPUT_STATE_FILE_SELECT       17
#define INPUT_STATE_FSMENU_FILTER     18
#define INPUT_STATE_PCD_ZOOM          19
#define INPUT_STATE_DA_HIDDEN_PWD     20
#define INPUT_STATE_DVD_AUDIO_SCAN    21
#define INPUT_STATE_DISC_LOCK_PWD     22
#define INPUT_STATE_LOGO_CAPTURE      23
#define INPUT_STATE_VREMOTE           24
//#define INPUT_STATE_ZOOM_IN           25
#ifdef SUPPORT_DRM
#ifdef SUPPORT_USB_COPY //yan 070409
#define INPUT_STATE_DRM_DISRGCD      25
#define INPUT_STATE_DRM_OTHER        26
#define INPUT_STATE_USBINPUT          27
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
#define  INPUT_STATE_SYS_MODE_SWITCH 28
#endif
#define INPUT_STATE_DRM_RENTEXP      29// hy 070330-- old_value + 1
#define INPUT_STATE_DRM_REMTLMT      30
#define INPUT_STATE_STACK_START       31
#define INPUT_STATE_SETUP             31
#define INPUT_STATE_GOTO              32	
#define INPUT_STATE_MAX               33  //--32->33 modify by hy
#else
#define INPUT_STATE_DRM_DISRGCD      25
#define INPUT_STATE_DRM_OTHER        26
#ifdef SUPPORT_MODE_SWITCH_MENU//yan 070409
#define  INPUT_STATE_SYS_MODE_SWITCH 27
#endif
#define INPUT_STATE_DRM_RENTEXP      28// hy 070330-- old_value + 1
#define INPUT_STATE_DRM_REMTLMT      29
#define INPUT_STATE_STACK_START       30
#define INPUT_STATE_SETUP             30
#define INPUT_STATE_GOTO              31	

#define INPUT_STATE_MAX               32  //31->32   --modify by hy
#endif
#else
	#ifdef SUPPORT_USB_COPY //yan 070409
	#define INPUT_STATE_USBINPUT          25	
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
#define  INPUT_STATE_SYS_MODE_SWITCH 26
#endif
	#define INPUT_STATE_STACK_START      28// hy 070330-- old_value + 1
	#define INPUT_STATE_SETUP             28
	#define INPUT_STATE_GOTO              29
	#define INPUT_STATE_MAX               30 //29->30 modify by hy
#else
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
#define  INPUT_STATE_SYS_MODE_SWITCH 26
#endif
#define INPUT_STATE_STACK_START       27  // hy 070330-- old_value + 1
	#define INPUT_STATE_SETUP             27
	#define INPUT_STATE_GOTO              28
#define INPUT_STATE_MAX               29  //28->29 modify by hy
#endif
#endif

#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 */
  BYTE bTotalDigNum:3;
  BYTE bDigNum:3;
  BYTE fgComplete:1;
  BYTE fgCancel:1;
} strucNumState;

EXTERN xdata struct
{
  BYTE bDig[6];
  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;
  #ifndef SUPPORT_DRM
  BYTE Reserve:2;
  #else
  BYTE fgDRMShow:1;
  BYTE Reserve:1;
  #endif

  // BYTE 5

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -