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

📄 combine.c

📁 MTK 1389E SOURCE CODE
💻 C
📖 第 1 页 / 共 5 页
字号:
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void vShowUsrPbcCtrl(BYTE bMode) large
{
  WORD wPos;

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT_LEFT;   // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT;
    }
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT;  // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT_LEFT;
    }
  }

  switch (bMode)
  {
    case SV_REPEAT_NONE:
    case SV_REPEAT_ABNONE:
      vOsdPosClear(wPos);
      break;
#if 0   // repeat mode won't come into this function, will be handled in fgShowRepeatMode()
    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;
#endif
    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;

    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;

#ifdef PLAYER_DIGEST
    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_STATUS_DIGEST
        VfdShowStatus(VFD_STATUS_DIGEST);
#endif

#else
        VfdShowPlayInfo(VFD_INFO_TITLE_CHAPTER, bSharedInfo(SI_TT_NO), bSharedInfo(SI_CHAP_NO));
#endif
      }
#ifdef VCD_SUPPORT
      else if (fgIsVcdPlay())
      {
#ifdef VCD_DGST_SHOW_MSG_ONLY

  #ifdef VFD_STATUS_DIGEST
        VfdShowStatus(VFD_STATUS_DIGEST);
#endif
#else
        VfdShowPlayInfo(VFD_INFO_TRACK, 0, bSharedInfo(SI_TRACK_NO));
#endif  //VCD_DGST_SHOW_MSG_ONLY
      }
#endif
      else if (fgIsIsoPlay() || fgIsCddaPlay())
      {
        /* ? */
      }
      break;
#endif /* #ifdef PLAYER_DIGEST */

    default:
      vOsdPosClear(wPos);
      break;
  }

  if (fgIsUsrCtrlMode(bMode))
  {
    if (bCurrRemainType() != OSD_SHOW_DISABLE)
    {
      if (fgIsDvdPlay())
      {
        bDvdCheckRemainShow(FALSE, bCurrRemainType());
      }
#ifdef VCD_SUPPORT
      else if (fgIsVcdPlay())
      {
        bVcdCheckRemainShow(FALSE, bCurrRemainType());
      }
#endif
#ifndef CDDA_USE_CDFS
      else if (fgIsCddaPlay())
      {
        bCddaCheckRemainShow(FALSE, bCurrRemainType());
      }
#endif
    }
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
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()||fgIsPcdPlay())
    {
      wPos = OSD_POS_ISO_REPEAT_LEFT;   // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT;
    }
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    if (fgIsIsoPlay()||fgIsPcdPlay())
    {
      wPos = OSD_POS_ISO_REPEAT;    // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT_LEFT;
    }
  }

  switch (bMode)
  {
    case SV_REPEAT_ALL:
      if (fgIsIsoPlay()||fgIsPcdPlay())    // repeat msg for iso type
        wMsg = OSD_MSG_MP3_REPEAT_FOLDER ;
      else
        wMsg = OSD_MSG_ICON_RPT_ALL;
      fgRet = TRUE;
      break;

    case SV_REPEAT_TRACK:
    case SV_REPEAT_LIST:
      if (fgIsIsoPlay()||fgIsPcdPlay())  // repeat msg for iso type
        wMsg = OSD_MSG_MP3_REPEAT_ONE ;
      else
        wMsg = OSD_MSG_ICON_RPT_TRK;
      fgRet = TRUE;
      break;

#if  defined (DDISC_PB_SINGLE_ENABLED)
    case SV_SINGLE: // repeat msg for iso type
      wMsg = OSD_MSG_MP3_SINGLE;
      fgRet = TRUE;
      break;
#endif

    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 PLAYER_GOTO
  // megaa Goto
  if (fgIsInGoto())
  {
    if (wMsg == 0xffff)
    {
      vShowGotoRepeat(OSD_MSG_OFF);
    }
    else if (wMsg != 0)
    {
      vShowGotoRepeat(wMsg);
    }
  }
#endif

  if ((_rOsdStateCtx.fgRepeatShow == TRUE)||fgIsPcdPlay())
  {
    if (wMsg == 0xffff)
    {
      vOsdPosClear(wPos);
    }
    else if (wMsg != 0)
    {
      vOsdPosShow(wPos, wMsg, OSD_NO_DISAPPEAR);
    }
  }

  return (fgRet);
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
BOOL fgShowAuxCtrl(BYTE bMode) large
{
#ifdef PLAYER_FLMENU
  //BOOL fgFlMenuOn = fgFsMenuIsMenuOn();
  BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);
  WORD wTmp;
#endif
  BOOL fgRet = FALSE; /* default is continue update */
  WORD wPos;

  if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT_LEFT;   // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT;
    }
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT;    // Adjust iso repeat position
    }
    else
    {
      wPos = OSD_POS_REPEAT_LEFT;
    }
  }

  switch (bMode)
  {
    case SV_REPEAT_SET_A:
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_USR_AUX_CTRL, bMode, 0);
      }
      else
#endif /* PLAYER_FLMENU */
      {
#ifdef PLAYER_GOTO
        if (fgIsInGoto())
        {
          vShowGotoPbc(OSD_MSG_ICON_RPT_A);
        }
#endif /* PLAYER_GOTO */
        vOsdPosShow(wPos, OSD_MSG_ICON_RPT_A, OSD_NO_DISAPPEAR);
      }
      fgRet = TRUE;
      break;

    case SV_REPEAT_LAST_SP: // temp use A-B icon
    case SV_REPEAT_INSTANT: // temp use A-B icon
    case SV_REPEAT_AB:
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_USR_AUX_CTRL, bMode, 0);
      }
      else
#endif
      {
#ifdef PLAYER_GOTO
        if (fgIsInGoto())
        {
          vShowGotoPbc(OSD_MSG_ICON_RPT_AB);
        }
#endif
        vOsdPosShow(wPos, OSD_MSG_ICON_RPT_AB, OSD_NO_DISAPPEAR);
      }
      fgRet = TRUE;
#ifdef KARAOKE_MIC_REC
      if (bMode == SV_REPEAT_AB)
      {
        vMicRecCtrl(MIC_REC_CTRL_INIT);
      }
#endif
      break;

    case SV_REPEAT_NONE:
    case SV_REPEAT_ABNONE:
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_USR_AUX_CTRL, bMode, 0);
      }
      else
#endif
      {
#ifdef PLAYER_GOTO
        if (fgIsInGoto())
        {
          vShowGotoPbc(OSD_MSG_NULL);
        }
#endif
        vOsdPosClear(wPos);
      }
#ifdef KARAOKE_MIC_REC
      vMicRecCtrl(MIC_REC_CTRL_RESET);
#endif
      fgRet = FALSE; /* continue update repeat mode and PBC state */
      break;

    default:
      break;
  }

  return (fgRet);
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vShowDiscType(BYTE bDiscType) large
{
  /* vOsdPosClear(OSD_POS_INIT); */ /* No need, since disc type show is moved to layer 2 */
#ifdef VFD_HDCD_LED

  VfdLed(0, 0xFF);

#endif

  switch (bDiscType)
  {
    case SV_DVD_VIDEO:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_DVD_VIDEO, OSD_TIMEOUT);
      break;

    case SV_DVD_AUDIO:
#ifdef SUPPORT_DVD_AUDIO
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_DVD_AUDIO, OSD_TIMEOUT);
#endif
      break;

#ifdef VCD_SUPPORT
    case SV_VCD3_0:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD30, OSD_TIMEOUT);
      break;

    case SV_VCD2_0:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD20, OSD_TIMEOUT);
      break;

    case SV_VCD1_1:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD11, OSD_TIMEOUT);
      break;

    case SV_SVCD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_SVCD, OSD_TIMEOUT);
      break;

    case SV_CVD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CVD, OSD_TIMEOUT);
      break;
#endif /* #ifdef VCD_SUPPORT */

    case SV_DATA:
      vOsdPosClear(OSD_POS_DISC_TYPE);
      break;

    case SV_PCD: // - for KODAK picture CD.
      /* FsMenu initial moved to vISOinit() */
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_PICTURE_CD, OSD_TIMEOUT);
      break;

    case SV_CDDA:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CD, OSD_TIMEOUT);
#ifndef CDDA_AUTO_PLAY
      vOsdShowTrack(OSD_TOTAL, 0, bSharedInfo(SI_TRACK_NS), OSD_NO_DISAPPEAR);
#endif
      break;

    case SV_DTS_CS:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_DTS_CD, OSD_TIMEOUT);
      vOsdShowTrack(OSD_TOTAL, 0, bSharedInfo(SI_TRACK_NS), OSD_NO_DISAPPEAR);
      break;

    case SV_CDG:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CD_G, OSD_TIMEOUT);
      vOsdShowTrack(OSD_TOTAL, 0, bSharedInfo(SI_TRACK_NS), OSD_NO_DISAPPEAR);
      break;

    case SV_HDCD:
#ifdef HDCD_EN
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_HDCD, OSD_TIMEOUT);
#else
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CD, OSD_TIMEOUT);
#endif
      vOsdShowTrack(OSD_TOTAL, 0, bSharedInfo(SI_TRACK_NS), OSD_NO_DISAPPEAR);

#ifdef VFD_HDCD_LED

      VfdLed(0, 0xFF);
#endif
      break;

    case SV_MINI_DVD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_MINI_DVD, OSD_TIMEOUT);
      break;

#ifdef SUPPORT_SACD
    case SV_SACD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_SACD, OSD_TIMEOUT);
#endif

    case SV_AUDIO_IN:
      /* don't clear OSD */
      break;

    default:
      vOsdPosClear(OSD_POS_DISC_TYPE);
      break;
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vShowAudioAppl(BYTE bType) large
{
  BYTE bVocalMode = bAdspCurrVocal();

  switch (bType)
  {
    case SV_A_APPL_KARA:
      break;

    case SV_A_APPL_SURR:
    case SV_A_APPL_NONE:
    default:
      if (fgIsAc3Vocal(bVocalMode))
      {
#ifdef PLAYER_KARAOKE
        vAdspVocalAssist(VOCAL_NO_ASSIST);
#endif
      }
      break;
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vShowVideoFormat(void) large
{
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vShowVideoBitrate(void) large
{
#ifdef PLAYER_GOTO
  if (fgIsInGoto())
  {
    vUpdateGotoShow(GOTO_SHOW_PANEL_BITRATE);
  }
#endif
}

⌨️ 快捷键说明

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