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

📄 uopmap.c

📁 MTK1389 SOURCE CODE
💻 C
📖 第 1 页 / 共 2 页
字号:
{
  _fgInputEscape = TRUE;
}

// *********************************************************************
// Function : void vResetInputState(void)
// Description : Reset input state, system initial and eject
// Parameter : None
// Return    : None
// *********************************************************************
void vResetInputState(void) large
{
  /* only reset non-stack input mode here */
  if (_bInputState != INPUT_STATE_NONE)
  {
    vEscapeInputState();
    _bInputState = INPUT_STATE_NONE;
  }

  // clear UI timer
  _bIrTimer = IR_TIMER_VOID;
  _bIrTimerBeepCnt = 0;

  /* exit stacked input state, like setup menu ? */
}

#ifndef DROP_DUMMY_FUNC
// *********************************************************************
//  Dummy function call, for C51 only
// *********************************************************************
static void Dummy(void) large
{
#if defined(__C51__)
  BYTE bDummy = 0;

  if (bDummy)
  {
    //vNotifySharedGroup(1);

    dwReadDspSharedDInfo(0);

    // OSD generic
    vSetTransDis(0);
    vChgColEn();
    vCreateMsgButtonR(0, 0, 0, 0, 0, 0, 0);
    vOsdMsgPaste(0, 0);
    vOsdShowStrMax(0, 0, 0, 0);
    vOsdMsgPasteMax(0, 0);
#if (!defined(PLAYER_BOOKMARK) && !defined(PLAYER_PROGRAM))
    vCreateMsgButton(0, 0, 0, 0, 0, 0);
#endif

    // not used by NUI
    vSetMsgCol2(0, 0, 0);
    vFillWB(0, 0);
    vVoidEn();
    vVoidDis();
    vSetVoidRng(0);
    vHlButton(0, 0);
    vOsdMsgShow(0, 0, 0);
    WriteDRAMTbl(0, 0, 0);
    // not used by NUI end

#ifdef SUPPORT_TRUECOLOR
    vSetWBTcMode(0);
  #ifdef ALL_WB_USE_TRUECOLOR
    vSetPal(0, 0, 0, 0);
  #endif
#endif

    vPasteMsgAddr(0, 0, 0);
    vChgColSetCol(0, 0, 0, 0);
    vOsdPosShowStr(0, 0);

#ifndef SS_FADE_INOUT
    vSetWBMixRatio(0, 0);
#endif

    // VFD
    VfdCalendar(0);
    VfdMsgDirect(0);

    // audio control
#ifdef DOLBY_PROLOGIC
    vAdspPrologBal(0);
    vAdspPrologSurr(0);
#else
    wReadDspSharedWInfo(0);
#endif
#ifdef PLAYER_KARAOKE
    vAdspMicMix(0, 0);
#endif
#ifdef SIMPLE_SPDIF_CTRL
    vAdspSpdifManualSet(0, 0);
#endif

    vSetAuxIO(0, 0);

    fgCheckUopBlock(0);

    vSendPeriCmd(0, 0, 0);

#ifndef PLAYER_POWERDOWN
    vUIStop();
  VfdUpdateNow();
#endif

#ifdef DRS232_DEBUG
  #ifdef RS232_LOG_UI
    DBGLogS("");
    DBGLogB(1,2,3,4);
  #endif
#endif

  } /* if (bDummy) */
#endif /* __C51__ */
}
#endif

#ifdef IR_SUPPORT_SHIFT_KEY
// *********************************************************************
// Function : void vSetShiftKeyMode(BOOL fgEnable)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vSetShiftKeyMode(BOOL fgEnable) large
{
  if (fgEnable == TRUE)
  {
    if (_fgIRShiftKey != TRUE)
    {
      vSetKeyTblShift();
    }
    vOsdShowShiftMark(OSD_SHIFT_MARK_ALL, TRUE);
  }
  else if (fgEnable == FALSE)
  {
    if (_fgIRShiftKey != FALSE)
    {
      vSetKeyTblNormal();
    }
    vOsdShowShiftMark(OSD_SHIFT_MARK_ALL, FALSE);
  }
}
#endif /* IR_SUPPORT_SHIFT_KEY */

// *********************************************************************
// Function : void vPlayerKeyProc(void)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vPlayerKeyProc(void) large
{
  BOOL fgRet = UOP_OK;


#ifndef DROP_DUMMY_FUNC
// dummy
  Dummy();
#endif

  /* before key process, update input state first */
  vUpdateInputState();

#ifdef SHRINK_KEYPROC
  /* setup menu */
  if (fgIsInSetupMenu())
  {
    if( bSharedInfo(SH_WAIT_FOR_WB_ALLOC) == 0)
    {
      if(fgSetupState())
      {
        _bIRKey = IR_NONE;
      }
      vUpdateInputState();
    }
    else
    {
      _bIRKey = IR_NONE;
    }
  }

  #ifdef PLAYER_GOTO
  if (fgIsInGoto())
  {
    if (fgGotoState())
    {
      _bIRKey = IR_NONE;
    }
    vUpdateInputState();
  }
  #endif

  #ifdef IR_SUPPORT_SHIFT_KEY
  if (_bIRKey == IR_SHIFT)
  {
    if (fgIsKeyTblShift())
    {
      /* back to normal */
      vSetShiftKeyMode(FALSE);
    }
    else
    {
      /* set shift key table */
      vSetShiftKeyMode(TRUE);
    }

    _bIRKey = IR_NONE;
    return;
  }
  #endif

  /* handle multi-function key */
  if (fgIsMultiFuncKey(_bIRKey))
  {
    fgRet = fgHandleMultiKey();
  }

  /* execute non-stacked input state */
  if (_bIRKey != IR_NONE)
  {
    vNonStatckInputState();
  }

  /* from here is main state */
  /* process common key */
  if (_bIRKey != IR_NONE)
  {
    fgRet = fgComKeyFunc();       // do the common key proc between each state
  }

  vResendInputState();

  /* check if the UOP return sync is set, if is set, don't do playback key */
  /* dispatch the key to the play module */
  if ((fgRet == UOP_OK) && (_bIRKey != IR_NONE))
  {
    if (fgIsNonPlay())  /* process non-play */
    {
      fgRet = fgInitKeyProc();
    }
  #ifdef SUPPORT_DATA_DISC
    else if (fgIsIsoPlay()
#ifdef SUPPORT_PCD
          || fgIsPcdPlay()
#endif
          )
    {
      fgRet = fgISOKeyProc();
    }
  #endif
    else if (fgIsDvdPlay() || fgIsVcdPlay()
  #ifndef CDDA_USE_CDFS  
             || fgIsCddaPlay()
  #endif
  #ifdef AUDIO_IN_EN  
             || fgIsAinPlay()
  #endif
      )
    {
      fgRet = fgNonISOKeyProc();
    }
  }
#else  // !SHRINK_KEYPROC

  if (bKeyState() == KEY_SCRSAV)
    fgRet = fgSCRSAVKeyProc();

#ifdef PLAYER_GOTO
  if (fgIsInGoto())
  {
    if (fgGotoState())
    {
      _bIRKey = IR_NONE;
    }
    vUpdateInputState();
  }
#endif

  if ( bKeyState() == KEY_SETUP )
  {
    if(fgSetupState())
    {
      _bIRKey = IR_NONE;
    }
    vUpdateInputState();
  }

  if ( bKeyState() != KEY_SCRSAV )
  {
    fgRet = fgComKeyProc();       // do the common key proc between each state
  }

  switch(bKeyState())
  {
    case KEY_INIT:
      fgRet = fgInitKeyProc();
      break;
    case KEY_ISO:
#ifdef SUPPORT_DATA_DISC
      if ((fgRet == UOP_OK) && (_bIRKey != IR_NONE))
      {
        fgRet = fgISOKeyProc();
      }
      vResendInputState();
#endif
      break;
    case KEY_NONISO:
      if ((fgRet == UOP_OK) && (_bIRKey != IR_NONE))
      {
        fgRet = fgNonISOKeyProc();
      }

      vResendInputState();
      break;

    case KEY_SETUP:
    /*
      if(fgSetupState())
      {
        _bIRKey = IR_NONE;
      }
      vUpdateInputState();
    */
      break;
    case KEY_SCRSAV:
      fgRet = fgSCRSAVKeyProc();
      break;
    default:
      _bKeyState = KEY_INIT;
      break;
  }

  /* check if the UOP return sync is set, if is set, don't do playback key */
  /* dispatch the key to the play module */
  if ((fgRet == UOP_OK) && (_bIRKey != IR_NONE))
  {
#if 0
    if (fgIsAinPlay())
    {
      fgRet = fgAINHandleCmd();
    }
#endif
  }
#endif  // SHRINK_KEYPROC

  vResendInputState();

  /* Key process fail show error mark */
  if (fgRet == UOP_FAIL)
  {
    if (_bIRKey < IR_INTERNAL_KEY_START)
    {
      vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);
    }
  }

  /* reset _bIRKey here */
  _bIRKey = IR_NONE;
}

// *********************************************************************
// Function : void vPlayerShowLogo(BYTE bType, WORD wOption)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vPlayerShowLogo(BYTE bType, WORD wOption) large
{
  BYTE bTmp;
#ifndef MT1379_MANUFACTURE_TEST
  if (bType == SV_LOGO_KEEP)
  {
    return;
  }

#ifdef SUPPORT_CAPTURE_LOGO
  if (bType == SV_LOGO_SETUP)
  {
    bTmp = bEepromReadByte(LOGO_TYPE_POSITION);
    wOption = 0;

    switch (bTmp)
    {
      case EV_LOGO_JACKET:
        bType = SV_LOGO_JACKET;
        break;

      case EV_LOGO_BLUE:
        bType = SV_LOGO_COLOR;
        wOption = LOGO_BLUE;
        break;

      case EV_LOGO_CAPTURED:
        bType = SV_LOGO_CAPTURE;
        break;

      case EV_LOGO_DEFAULT:
      default:
        bType = SV_LOGO_FLASH;
        break;
    }
  } /* bType == SV_LOGO_SETUP */
#endif /* SUPPORT_CAPTURE_LOGO */

#if 0
  if (fgIsCddaPlay())
  {
    if ((bReadDEC(RW_RBCR1) & BWSEL_32) == 0) /* 16 bit DRAM */
    {
      bType = SV_LOGO_COLOR;
      wOption = LOGO_BLUE;
    }
  }
#endif

  if (bType == SV_LOGO_COLOR)
  {
    bTmp = (wOption & 0x000f) << 4;
    vSetSharedInfo(SI_LOGO_CLR_Y, bTmp);

    wOption >>= 4;
    bTmp = (wOption & 0x000f) << 4;
    vSetSharedInfo(SI_LOGO_CLR_CB, bTmp);

    wOption >>= 4;
    bTmp = (wOption & 0x000f) << 4;
    vSetSharedInfo(SI_LOGO_CLR_CR, bTmp);

    vSendUopCmd(UOP_SHOW_LOGO, SV_LOGO_COLOR, 0, 0);
  }
  else
  {
    vSendUopCmd(UOP_SHOW_LOGO, bType, wOption, 0);
  }
  #endif
}

⌨️ 快捷键说明

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