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

📄 nonshow.c

📁 MTK portableDVD 采用mtk1389方案的代码
💻 C
📖 第 1 页 / 共 3 页
字号:
  BYTE bPlayType = bOsdCoreCurrPlayType();

  if (bPlayType != OSD_SHOW_CLEAR)
  {
    if (bPlayType != OSD_SHOW_PLAY)
    {
      // we must by pass user action here
      if (fgIsTrickPlay(bState))
      {
        vOsdCoreSetPlayStatus(OSD_SHOW_TRICK, bTime);
      }
      else if ((bState == SV_PLAY) && (bPlayType == OSD_SHOW_TRICK))
      {
        // clear play status first, this should be moved to vChangePbcState()
        vOsdCoreSetPlayStatus(OSD_SHOW_CLEAR, 0);
      }
      else
      {
        return;
      }
    }
    else if (bState == SV_PLAY)  // && (bPlayType == OSD_SHOW_PLAY)
    {
      return;
    }
    else
    {
      // clear play status first 
      vOsdCoreSetPlayStatus(OSD_SHOW_CLEAR, 0);
    }
  }

  // start show play status
  switch (bState)
  {
    case SV_PLAY:
    case SV_STILL:
    case SV_DIGEST9:
    case SV_DIGEST4:
    case SV_DIGEST:
      // show "BLANK" for PLAY state
#ifndef BBK_NEW_INDICATOR 
      vOsdPosClear(OSD_POS_PLAY_STATUS);
#else
      vOsdPosClear(OSD_POS_PLAY_STATUS_ALL);
#endif
      return;

    default:
#ifdef SUPPORT_DATA_DISC
      if (fgIsIsoPlay())
        vGetPbcStateMsg(bFlGetFgPbcState(), bVal, &wMsgIndex, pbStr);
      else
#endif
        vGetPbcStateMsg(bState, bVal, &wMsgIndex, pbStr);
      break;
  }

  if (wMsgIndex != 0)
  {
    if (!fgFlCheckStatus(FL_STATUS_IN_MENU))
    {
      vOsdPosShowArg(OSD_POS_PLAY_STATUS, wMsgIndex, bTime, pbStr);
    #ifdef BBK_NEW_INDICATOR
      vOsdShowStateBmp(BMP_PBC_STATUS, bState, bTime);
    #endif
    }
  }
}

static code WORD pwErrMsg[SV_ERR_MAX] = {
  0,                                /* 00: SV_NO_ERROR              */
  //OSD_MSG_ERR_INVALID_OPERATION,
  //OSD_MSG_ERR_INVALID_OPERATION,
  OSD_MSG_ERROR,                    /* 01: SV_ERR_GENERAL           */
  OSD_MSG_ERROR,                    /* 02: SV_ERR_INVALID_OPERATION */
  OSD_MSG_ERR_INPUT_INVALID,        /* 03: SV_ERR_INPUT_INVALID     */
  //OSD_MSG_ERR_DISC_NOT_SUPPORT,
  OSD_MSG_ERROR,                    /* 04: SV_ERR_DISC_NOT_SUPPORT  */
  OSD_MSG_ERR_PLAYBACK_ONLY,        /* 05: SV_ERR_PLAYBACK_ONLY     */
  OSD_MSG_ERR_STOP_ONLY,            /* 06: SV_ERR_STOP_ONLY         */
  OSD_MSG_ERR_PBC_ON_ONLY,          /* 07: SV_ERR_PBC_ON_ONLY       */
  OSD_MSG_ERR_PBC_OFF_ONLY,         /* 08: SV_ERR_PBC_OFF_ONLY      */
  OSD_MSG_ERR_NORMAL_PLAY_ONLY,     /* 09: SV_ERR_NORMAL_PLAY_ONLY  */
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
  OSD_MSG_ERR_KARA_ONLY,            /* 10: SV_ERR_KARA_ONLY         */
  OSD_MSG_ERR_NON_KARA_ONLY,        /* 11: SV_ERR_NON_KARA_ONLY     */
#else
  OSD_MSG_ERROR,                    /* 10: SV_ERR_KARA_ONLY         */
  OSD_MSG_ERROR,                    /* 11: SV_ERR_NON_KARA_ONLY     */
#endif
  OSD_MSG_ERR_OSD_MEM_FULL,         /* 12: SV_ERR_OSD_MEM_FULL      */
  OSD_MSG_ERROR,                    /* 13: SV_ERR_LIST_HEAD_TRK     */
  OSD_MSG_ERROR,                    /* 14: SV_ERR_LIST_END_TRK      */
  OSD_MSG_ERROR,                    /* 15: SV_ERR_LIST_HEAD_CH      */
  OSD_MSG_ERROR                     /* 16: SV_ERR_LIST_END_CH       */
};

// *********************************************************************
// Function : void vOsdShowError(BYTE bType, BYTE bTime)
// Description :
// Parameter :
// Return    : None
// Note      :
// *********************************************************************
void vOsdShowError(BYTE bType, BYTE bTime) large
{
  BYTE pbStr[4];

  if (bType == OSD_ERROR_CLEAR)
  {
    if (bSharedInfo(SH_OSD_TIMER_ERR_MSG) > 0)
    {
      vOsdPosClear(OSD_POS_ERROR);
      vSetSharedInfo(SH_OSD_TIMER_ERR_MSG, 0);
    }
    return;
  }
  else if (bType == OSD_ERROR_CODE)
  {
    pbStr[0] = 3;

    /* assume the error code in BCD format */
    if (bTime > 0x99)
    {
      return;
    }

    pbStr[1] = '0';
    pbStr[2] = BCD_HI(bTime) + '0';
    pbStr[3] = BCD_LO(bTime) + '0';

    vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_ERROR_CODE, OSD_NO_DISAPPEAR, pbStr);

    return;
  }
  else if (bType >= SV_ERR_MAX)
  {
    return;
  }
  else if (pwErrMsg[bType] == 0)
  {
    return;
  }
#ifdef SHOW_ERROR_TYPE_MSG
  if(!(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI && bType == SV_ERR_INVALID_OPERATION && _bIRKey == IR_NONE))
{
      if(
#ifdef SUPPORT_EMD      //wait define
	  _bIRKey==IR_DEV_CHG||
#endif
	     bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG \
	  	||bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG||bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_DAT\
	  	||(bSharedInfo(SI_DEVICE_ID)==1)||(bSharedInfo(SI_DEVICE_ID)==0))
    {
	        vOsdPosShow(OSD_POS_ERROR, OSD_MSG_NULL, bTime);
    } 
      else
    {
	    vOsdPosShow(OSD_POS_ERROR, pwErrMsg[bType], bTime);
#ifdef BBK_NEW_INDICATOR
      vOsdShowStateBmp(BMP_ERR_STATUS, bType, bTime);
#endif
    }
		 
		vSetSharedInfo(SH_OSD_TIMER_ERR_MSG, bTime);
}
#else
  vOsdPosShow(OSD_POS_ERROR, OSD_MSG_ERROR, bTime);
  vSetSharedInfo(SH_OSD_TIMER_ERR_MSG, bTime);
#endif 
}

// *********************************************************************
// Function : void vOsdShowTimeRemain2(BYTE bMin, BYTE bSec, BYTE bTime)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowTimeRemain2(BYTE bMin, BYTE bSec, BYTE bTime) large
{
  BYTE pbTime[5];

  vCheckTimeValid2(bMin, bSec);

  pbTime[0] = 4;
  pbTime[1] = BCD_HI(bMin) + '0';
  pbTime[2] = BCD_LO(bMin) + '0';
  pbTime[3] = BCD_HI(bSec) + '0';
  pbTime[4] = BCD_LO(bSec) + '0';

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    vOsdPosShowArg(OSD_POS_TIME_LEFT, OSD_MSG_TIME_LEFT_2, bTime, pbTime);
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    vOsdPosShowArg(OSD_POS_TIME_NEW_LEFT, OSD_MSG_TIME_RIGHT_2, bTime, pbTime);
  }
}


// *********************************************************************
// Function : void vOsdShowTimeRemain22(BYTE bMin, BYTE bSec, BYTE bTotalMin, BYTE bTotalSec, BYTE bTime)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
#ifdef GUI_NEW_DISPLAY
void vOsdShowTimeRemain22(BYTE bMin, BYTE bSec, BYTE bTotalMin, BYTE bTotalSec, BYTE bTime) large
{
  BYTE pbTime[9];

  vCheckTimeValid2(bMin, bSec);
	vCheckTimeValid2(bTotalMin, bTotalSec);

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    pbTime[0] = 4;
    pbTime[1] = BCD_HI(bMin) + '0';
    pbTime[2] = BCD_LO(bMin) + '0';
    pbTime[3] = BCD_HI(bSec) + '0';
    pbTime[4] = BCD_LO(bSec) + '0';
    vOsdPosShowArg(OSD_POS_TIME_LEFT, OSD_MSG_TIME_LEFT_2, bTime, pbTime);
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    pbTime[0] = 8;
    pbTime[1] = BCD_HI(bMin) + '0';
    pbTime[2] = BCD_LO(bMin) + '0';
    pbTime[3] = BCD_HI(bSec) + '0';
    pbTime[4] = BCD_LO(bSec) + '0';
		pbTime[5] = BCD_HI(bTotalMin) + '0';
    pbTime[6] = BCD_LO(bTotalMin) + '0';
    pbTime[7] = BCD_HI(bTotalSec) + '0';
    pbTime[8] = BCD_LO(bTotalSec) + '0';
    vOsdPosShowArg(OSD_POS_TIME_NEW_LEFT, OSD_MSG_TIME_LEFT_22, bTime, pbTime);
  }
}
#endif
// *********************************************************************
// Function : void vOsdShowTimeRemain3(BYTE bHour, BYTE bMin, BYTE bSec, BYTE bTime)
// Description : show 0:00:00 message,
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowTimeRemain3(BYTE bHour, BYTE bMin, BYTE bSec, BYTE bTime) large
{
  BYTE pbTime[6];

  vCheckTimeValid3(bHour, bMin, bSec);

  pbTime[0] = 5;
  pbTime[1] = BCD_LO(bHour) + '0';
  pbTime[2] = BCD_HI(bMin) + '0';
  pbTime[3] = BCD_LO(bMin) + '0';
  pbTime[4] = BCD_HI(bSec) + '0';
  pbTime[5] = BCD_LO(bSec) + '0';

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    vOsdPosShowArg(OSD_POS_TIME_LEFT, OSD_MSG_TIME_LEFT_3, bTime, pbTime);
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    vOsdPosShowArg(OSD_POS_TIME_NEW_LEFT, OSD_MSG_TIME_RIGHT_3, bTime, pbTime);
  }
}


// *********************************************************************
// Function : void vOsdShowTimeRemain23(BYTE bCurrHour, BYTE bCurrMin, BYTE bCurrSec, 
//                                     BYTE bTotalHour, BYTE bTotalMin, BYTE bTotalSec, BYTE bTime)
// Description : show 0:00:00 / 0:00:00 message,
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowTimeRemain23(BYTE bCurrHour, BYTE bCurrMin, BYTE bCurrSec, BYTE bTotalHour, BYTE bTotalMin, BYTE bTotalSec, BYTE bTime) large
{
  BYTE pbTime[11];

  vCheckTimeValid3(bCurrHour, bCurrMin, bCurrSec);
	vCheckTimeValid3(bTotalHour, bTotalMin, bTotalSec);

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    pbTime[0] = 5;
    pbTime[1] = BCD_LO(bCurrHour) + '0';
    pbTime[2] = BCD_HI(bCurrMin) + '0';
    pbTime[3] = BCD_LO(bCurrMin) + '0';
    pbTime[4] = BCD_HI(bCurrSec) + '0';
    pbTime[5] = BCD_LO(bCurrSec) + '0';
    vOsdPosShowArg(OSD_POS_TIME_LEFT, OSD_MSG_TIME_LEFT_3, bTime, pbTime);
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    pbTime[0] = 10;
    pbTime[1] = BCD_LO(bCurrHour) + '0';
    pbTime[2] = BCD_HI(bCurrMin) + '0';
    pbTime[3] = BCD_LO(bCurrMin) + '0';
    pbTime[4] = BCD_HI(bCurrSec) + '0';
    pbTime[5] = BCD_LO(bCurrSec) + '0';
		pbTime[6] = BCD_LO(bTotalHour) + '0';
    pbTime[7] = BCD_HI(bTotalMin) + '0';
    pbTime[8] = BCD_LO(bTotalMin) + '0';
    pbTime[9] = BCD_HI(bTotalSec) + '0';
    pbTime[10] = BCD_LO(bTotalSec) + '0';
    vOsdPosShowArg(OSD_POS_TIME_NEW_LEFT, OSD_MSG_TIME_LEFT_33, bTime, pbTime);
  }
}


// *********************************************************************
// Function : void vOsdShowTimeClear(void)
// Description : show 0:00:00 message,
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowTimeClear(void) large
{
  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    vOsdPosClear(OSD_POS_TIME_LEFT);
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    vOsdPosClear(OSD_POS_TIME_NEW_LEFT);
  }
}

// *********************************************************************
// Function : void vOsdShowSelect2(BYTE bNum, BYTE bType, BYTE bTime) large
// Description : show SELECT message,
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowSelect2(BYTE bNum, BYTE bType, BYTE bTime) large
{
  BYTE pbNum[3];
  BOOL fgHili;

  if (bType == OSD_SELECT_CLEAR)
  {
    vOsdClearInputField(OSD_POS_SELECT);
    vOsdPosClear(OSD_POS_SELECT);
    return;
  }
  else
  {
    if (bType & OSD_SELECT_HILI)
    {
      fgHili = TRUE;
      bType &= (~OSD_SELECT_HILI);
    }
    else
    {
      fgHili = FALSE;
    }
  }

  bNum = bHEXToBCD(bNum);

  pbNum[0] = 2;

  if (bType == 0)
  {
    pbNum[1] = '-';
    pbNum[2] = '-';
  }
  else if (bType <= 2)
  {
#ifdef NO_ADD10_KEY
    if (bType == 1)
    {
      pbNum[1] = '-';
      pbNum[2] = BCD_LO(bNum) + '0';
    }
    else if (bType == 2)
    {
      pbNum[1] = BCD_HI(bNum) + '0';
      pbNum[2] = BCD_LO(bNum) + '0';
    }
    else
    {
      pbNum[1] = '-';
      pbNum[2] = '-';
    }
#else /* use ADD10 key */
    if (bNum == 0)
    {
      pbNum[1] = '-';
      pbNum[2] = '-';
    }
    else
    {
      pbNum[1] = BCD_HI(bNum) + '0';
      if ((BCD_LO(bNum) == 0) && (bType != 2))
      {
#ifdef ADD10_SHOW_10
        pbNum[2] = '0';
#else
        pbNum[2] = '-';
#endif
      }

⌨️ 快捷键说明

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