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

📄 combine.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 5 页
字号:

    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;

    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_MESSAGE_DIGEST
        vVfdMessage(VFD_MESSAGE_DIGEST);
#endif

#else
        vVfdWord(VFD_WORD_TT, bHEXToBCD(bSharedInfo(SI_TT_NO)), 1);
        vVfdWord(VFD_WORD_CH, bHEXToBCD(bSharedInfo(SI_CHAP_NO)), 1);
        vVfdSymbol(VFD_SYM_PLAYINFO_TT_CH);
#endif
      }
      else if (fgIsVcdPlay())
      {
#ifdef VCD_DGST_SHOW_MSG_ONLY

#ifdef VFD_MESSAGE_DIGEST
        vVfdMessage(VFD_MESSAGE_DIGEST);
#endif

#else

        wPos=(WORD) bSharedInfo(SI_TRACK_NO);
        if (wPos <= 99)
          vVfdWord(VFD_WORD_CH, bHEXToBCD((BYTE)wPos), 0);
        else
          vVfdWord(VFD_WORD_CH, 0, 0);

        vVfdWordClr(VFD_WORD_TT);
        vVfdSymbol(VFD_SYM_PLAYINFO_TRACK);

#endif  //VCD_DGST_SHOW_MSG_ONLY
      }
      else if (fgIsIsoPlay() || fgIsCddaPlay())
      {
        /* ? */
      }
      break;

    default:
      vOsdPosClear(wPos);
      break;
  }

  if (fgIsUsrCtrlMode(bMode))
  {
    if (bCurrRemainType() != OSD_SHOW_DISABLE)
    {
      if (fgIsDvdPlay())
      {
        bDvdCheckRemainShow(FALSE, bCurrRemainType());
      }
      else if (fgIsVcdPlay())
      {
        bVcdCheckRemainShow(FALSE, bCurrRemainType());
      }
      else if (fgIsCddaPlay())
      {
        bCddaCheckRemainShow(FALSE, bCurrRemainType());
      }
    }
  }
}

/************************************************************************
     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())
    {
      wPos = OSD_POS_ISO_REPEAT;
    }
    else
    {
      wPos = OSD_POS_REPEAT;
    }
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT_LEFT;
    }
    else
    {
      wPos = OSD_POS_REPEAT_LEFT;
    }
  }

  switch (bMode)
  {
    case SV_REPEAT_ALL:
      wMsg = OSD_MSG_ICON_RPT_ALL;
      fgRet = TRUE;
      break;

    case SV_REPEAT_TRACK:
	case SV_REPEAT_LIST:
	  if (fgIsIsoPlay())
		  wMsg = OSD_MSG_REPEAT_ONE;
	  else
		  wMsg = OSD_MSG_ICON_RPT_TRK;
      fgRet = TRUE;
      break;

    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)
  {
    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;
    }
    else
    {
      wPos = OSD_POS_REPEAT;
    }
  }
  else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
  {
    if (fgIsIsoPlay())
    {
      wPos = OSD_POS_ISO_REPEAT_LEFT;
    }
    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);
      }
/*
  Add the "if(!fgFlCheckStatus(FL_STATUS_IN_JPEG))" condition by Bright_liu 2006/01/23, for CQ(PL00205236)
  when play mp3, press A-B(OSD show A or AB), then play JPG, after that, press menu, then play the JPG again,
  the A-B OSD show.
*/
      else if(!fgFlCheckStatus(FL_STATUS_IN_JPEG))
#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);
      }
/*
  Add the "if(!fgFlCheckStatus(FL_STATUS_IN_JPEG))" condition by Bright_liu 2006/01/23, for CQ(PL00205236)
  when play mp3, press A-B(OSD show A or AB), then play JPG, after that, press menu, then play the JPG again,
  the A-B OSD show.
*/
      else if(!fgFlCheckStatus(FL_STATUS_IN_JPEG))
#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

  vVfdLed(0, FALSE);

#endif


  switch (bDiscType)
  {
    case SV_DVD_VIDEO:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_DVD_VIDEO, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_DVD_VIDEO);
#else
      vVfdLedSet(TRUE, TRUE, LED_DVD);
#endif
      break;

    case SV_DVD_AUDIO:
#ifdef SUPPORT_DVD_AUDIO
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_DVD_AUDIO, OSD_TIMEOUT);
#endif
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_DVD_AUDIO);
#else
      vVfdLedSet(TRUE, TRUE, LED_DVD);
#endif
      break;

    case SV_VCD3_0:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD30, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_VCD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif

      break;

    case SV_VCD2_0:
    case SV_XVCD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD20, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_VCD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif

      break;

    case SV_VCD1_1:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_VCD11, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_VCD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    case SV_SVCD:
    case SV_XSVCD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_SVCD, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_SVCD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    case SV_CVD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CVD, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_CVD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    case SV_DATA:
      vOsdPosClear(OSD_POS_DISC_TYPE);
#ifdef VFD_SUPPORT
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    case SV_PCD: // - for KODAK picture CD.
      /* FsMenu initial moved to vISOinit() */
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_PICTURE_CD, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
#else
      vVfdLedSet(TRUE, TRUE, LED_PCD);
#endif

      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
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_A_CODE_PCM);
      vVfdSymbol(VFD_SYM_CDDA);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#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);
      vVfdSymbol(VFD_SYM_A_CODE_DTS);
      vVfdSymbol(VFD_SYM_DTS_CD);
      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);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_CDDA);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif

      break;

    case SV_HDCD:
    //PL00105538
#ifdef HDCD_EN
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CD, 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_SUPPORT
      vVfdSymbol(VFD_SYM_CDDA);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif


#ifdef VFD_HDCD_LED

      vVfdLed(0, TRUE);
#endif
      break;

    case SV_MINI_DVD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_MINI_DVD, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_DVCD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    case SV_SACD:
      vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_SACD, OSD_TIMEOUT);
#ifdef VFD_SUPPORT
      vVfdSymbol(VFD_SYM_SACD);
#else
      vVfdLedSet(TRUE, TRUE, LED_VCD);
#endif
      break;

    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 :

⌨️ 快捷键说明

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