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

📄 combine.c

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

/************************************************************************
     Function :
  Description : Share info update handle
    Parameter :
    Return    :
************************************************************************/
void vGroupTimeUpdate(BYTE bItem) large
{
#ifdef KARAOKE_SCORING
  BOOL fgShow = FALSE;
  BOOL fgRmn2Sec = FALSE;
  BOOL fgRmnLast2Sec = FALSE;
  BYTE pbStr[13];
#endif

  switch (bItem)
  {
    case bSIItemIndex(SI_TIME_SS):
    {
      vOsdDisplayChange(DISP_TIME_MARK, 0);
#ifdef KARAOKE_SCORING
      if (fgIsDvdPlay() && bSharedInfo(SI_DVD_DOM) == SV_VTSTT_DOM)
      {
        fgShow = TRUE;
        if (bSharedInfo(SI_TIME_CHAPTER_RMN_SS) <= 2)
        {
          fgRmn2Sec = TRUE;
          if (bSharedInfo(SI_TIME_CHAPTER_RMN_HH) == 0 &&
              bSharedInfo(SI_TIME_CHAPTER_RMN_MM) == 0)
            fgRmnLast2Sec = TRUE;
        }
      }
      else if (fgIsVcdPlay() || fgIsCddaPlay())
      {
        fgShow = TRUE;
        if (bSharedInfo(SI_TIME_TRACK_RMN_SS) <= 2)
        {
          fgRmn2Sec = TRUE;
          if (bSharedInfo(SI_TIME_TRACK_RMN_HH) == 0 &&
              bSharedInfo(SI_TIME_TRACK_RMN_MM) == 0)
            fgRmnLast2Sec = TRUE;
        }
      }
      if (fgShow)
      {
        if(fgAdspKscoreSupport())
        {
          vAdspGetScoreStr(pbStr);
        vOsdPosShowArg(OSD_POS_KSCORE, OSD_MSG_KSCORE, OSD_TIMEOUT, pbStr);
        }
  #ifdef KARAOKE_SCORE_TEST
        vAdspGetKSHMStr(pbStr);
        vOsdPosShowArg(OSD_POS_KSINFO, OSD_MSG_KSHITMISS, OSD_TIMEOUT, pbStr);
  #endif
      }
#endif /* KARAOKE_SCORING */
      break;
    }

    default:
      break;
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void vGroupNvUpdateAngle(BYTE bAglNo, BYTE bAglNs) large
{
  if (bAglNs > 9)
  {
    bAglNs = 0;
  }

  if (bAglNs > 1)
    vVfdSymbol(VFD_SYM_ANGLE_ON);
  else
    vVfdSymbol(VFD_SYM_ANGLE_OFF);


  if (fgIsInputStateValid(INPUT_STATE_ANGLE_CHANGE))
  {
    if (bAglNs > 1)
    {
      vOsdShowAngle(OSD_ANGLE_HILI, bAglNo, bAglNs);
    }
    else
    {
      fgSetPlayPostKey(IR_TIME_OUT);
    }
  }
  else if (fgIsAngleShow())
  {
    vOsdShowAngle(OSD_ANGLE_NORMAL, bAglNo, bAglNs);
  }
  else
  {
    vOsdShowAngle(OSD_ANGLE_CLEAR, 0, 0);
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void vGroupNvUpdate(BYTE bItem) large
{
  BYTE bMode, bDefMode;

  switch (bItem)
  {
    case bSIItemIndex(SI_AGL_NS):
    case bSIItemIndex(SI_AGL_NO):
    {
      vGroupNvUpdateAngle(bSharedInfo(SI_AGL_NO), bSharedInfo(SI_AGL_NS));

#ifdef PLAYER_GOTO
      if (fgIsInGoto())  // megaa Goto
      {
        vShowGotoAngle();
      }
#endif

      break;
    }

    case bSIItemIndex(SI_TT_NO):   /* SI_FILE_NS_HI */
    case bSIItemIndex(SI_TT_NS):   /* SI_FILE_NS_LO */
    case bSIItemIndex(SI_CHAP_NO): /* SI_TRACK_NO, SI_FILE_NO_HI */
    case bSIItemIndex(SI_CHAP_NS): /* SI_TRACK_NS, SI_FILE_NO_LO */
    {
      vOsdDisplayChange(DISP_PLAY_INFO, bItem);

#ifdef PLAYER_GOTO
      if (fgIsInGoto())  // megaa Goto
      {
  #ifdef GOTO_IN_TRACK_ONLY
        if (fgIsVcdPlay() && (fgChkGotoExit() == TRUE))
        {
          fgSetPlayPostKey(IR_GOTO);
        }
        else
  #endif /* GOTO_IN_TRACK_ONLY */
        {
          vUpdateGotoShow(GOTO_SHOW_PANEL_ALL);
          vShowGotoChapter();
          vShowGotoTitle();
          vShowGotoTime();
          vShowGotoTimeCH();
        }
      } /* fgIsInGoto() */
#endif /* PLAYER_GOTO */
#ifdef KARAOKE_SCORING
      vAdspResetKScore();
#endif /* KARAOKE_SCORING */
      break;
    }

    case bSIItemIndex(SI_DVD_DOM): /* SI_VCD_DOM */
#ifdef PLAYER_GOTO
      // megaa Goto begin
      if (fgIsInGoto())
      {
  #ifdef GOTO_VTSTT_DOM_ONLY
        if (fgChkGotoExit() == TRUE)
        {
          fgSetPlayPostKey(IR_GOTO);
        }
        else
  #endif
        {
          vShowGotoChapter();
          vShowGotoTitle();
          vShowGotoAngle();
          vDealGotoAudio(FALSE);
          if (bSharedInfo(SI_DVD_DOM) == SV_VTSTT_DOM)
          {
            vDealGotoSubtitle(FALSE);
          }
          else
          {
            vShowGotoSubtitle(OSD_MSG_OFF);
          }
        }
      } /* fgIsInGoto() */
#endif /* PLAYER_GOTO */

      if (fgIsDvdPlay())
      {
        vDVDShowDomainInfo();
      }
      else if (fgIsVcdPlay())
      {
        vVCDShowDomainInfo();
      }
      break;

    case bSIItemIndex(SI_DVD_MENU_TYPE):
      /* vDVDShowMenuType(); */

#ifdef PLAYER_GOTO
      if (fgIsInGoto())  // megaa Goto !!!!!!!!!!!!
      {
        vUpdateGotoShow(GOTO_SHOW_PANEL_ALL);
        vShowGotoSubtitle(OSD_MSG_OFF);
        vShowGotoTime();
        vShowGotoTimeCH();
        vShowGotoRepeat(OSD_MSG_OFF);
      }
#endif /* PLAYER_GOTO */

      break;

    /* case bSIItemIndex(SI_STILL_SWITCH): */
#ifdef PLAYER_GOTO
    case bSIItemIndex(SI_HLI_STATE):
    {
  #ifdef GOTO_VTSTT_DOM_ONLY
      if (fgIsInGoto())
      {
        if (fgChkGotoExit() == TRUE)
        {
          fgSetPlayPostKey(IR_GOTO);
        }
      }
  #endif /* GOTO_VTSTT_DOM_ONLY */
      break;
    }
#endif /* PLAYER_GOTO */

    case bSIItemIndex(SI_PBC_CTRL_VALID):
    {
      /* assume only SVCD/VCD notify this */
      //if ((bSharedInfo(SI_PBC_CTRL_VALID) == SV_PBC_OFF) ||
      //    (bSharedInfo(SI_VCD_PBC_OFF) == TRUE))
      // 20050413, IS00002315, although this shareinfo seems to indicate if PBC exist or not.
      // But the message will confuce the customer because it may not match with current PBC mode.
      if (bSharedInfo(SI_PBC_SWITCH) != SV_PBC_ON)
      {
        vOsdPosShow(OSD_POS_PBC_2, OSD_MSG_PBC_OFF, OSD_TIMEOUT_SHORT);
      }
      else /* disc with PBC and allow it on */
      {
        vOsdPosShow(OSD_POS_PBC_2, OSD_MSG_PBC_ON, OSD_TIMEOUT_SHORT);
      }
      break;
    }

    case bSIItemIndex(SI_ASPECT_CHG_VALID):
    {
      /* redraw general page
         1. if setup menu on &
         2. current show page is general page
       */
      vSetupAspChg();
/*
      bDefMode = bSharedInfo(SI_ASPECT_CHG_VALID) ;
      bMode = bEepromReadByte(ASPECT_POSITION);

#ifdef TREAT_PS_LB_AS_THE_SAME
      if ((bMode == SV_4_3_PS) && (!(SV_PSCAN_ON & bDefMode)))
        bMode = SV_4_3_LB ;
      else if ((bMode == SV_4_3_LB) && (!(SV_LB_ON & bDefMode)))
        bMode = SV_4_3_PS ;
#endif
      vSetSharedInfo(SI_FORCE_ASPECT_RATIO, bMode);
      vSetSharedInfo(SI_ASPECT_RATIO, bMode);

      if (SV_BLOCK_ON & bDefMode)
        vNotifySharedInfo(SI_FORCE_ASPECT_RATIO, 0, 0);
      else
        vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
*/
      break;
    }

    default:
      break;
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void vGroupStreamUpdate(BYTE bItem) large
{
  BYTE bTmp1, bTmp2;

  vVfdUpdateAudCh(bItem);
  switch (bItem)
  {
#ifdef PLAYER_GOTO
    // megaa Goto begin
    case bSIItemIndex(SI_AST_NO):
    {
      if (fgIsInGoto())
      {
        vDealGotoAudio(FALSE);
      }
      break;
    }
    case bSIItemIndex(SI_SPST_NO):
    {
      if (fgIsInGoto())
      {
        vDealGotoSubtitle(FALSE);
      }
      break;
    }
    // megaa Goto end
#endif

    case bSIItemIndex(SI_A_CODE_MODE):
    {
      bTmp1 = bSharedInfo(SI_A_CODE_MODE);
      bTmp2 = bSharedInfo(SI_DISC_TYPE);

      vVfdUpdateAudType();
      vAdspAudioTypeChange(bTmp1, bTmp2, SV_DISC_IDENTIFIED);

#ifdef PLAYER_GOTO
      if (fgIsInGoto())  // megaa Goto
      {
        vDealGotoAudio(FALSE);
      }
#endif

      if (fgIsVcdPlay())
      {
        /* update panel L/R icon, not show OSD */
        vVCDShowAudioLR(FALSE);
      }
      else if (fgIsCddaPlay())
      {
        /* update panel L/R icon, not show OSD */
        vVCDShowAudioLR(FALSE);

#ifdef SHOW_CD_STREAM_TYPE
        if (bTmp1 == SV_A_CODE_HDCD)
        {
          vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_HDCD, OSD_TIMEOUT);
        }
        else if (bTmp1 == SV_A_CODE_PCM)
        {
          vOsdPosShow(OSD_POS_DISC_TYPE, OSD_MSG_CD, OSD_TIMEOUT);
        }
#endif /* SHOW_CD_STREAM_TYPE */
#ifdef VFD_HDCD_LED
        if (bSharedInfo(SI_TRACK_NO) > 1)
        {
          if (bTmp1 == SV_A_CODE_HDCD)
          {
             vVfdLed(0, TRUE);
          }
          else
          {
            vVfdLed(0, FALSE);
          } /* SI_A_CODE_MODE */
        }
#endif /* VFD_HDCD_LED */
      }
#ifdef AUDIO_IN_EN
      else if (fgIsAinPlay())
      {
        vAINShowSwitchType(bTmp1);
      }
#endif /* AUDIO_IN_EN */

      break;
    } /* SI_A_CODE_MODE */

    case bSIItemIndex(SI_A_CH_CFG):
    {
      /* assume audio code is valid */
      bTmp1 = bSharedInfo(SI_A_CH_CFG);
      bTmp2 = bSharedInfo(SI_A_CODE_MODE);

#ifdef PLAYER_GOTO
      if (fgIsInGoto())  // megaa Goto
      {
        vDealGotoAudio(FALSE);
      }
#endif

      if (fgIsVcdPlay() || fgIsCddaPlay())
      {
        vVCDShowAudioLR(FALSE);
      }
      break;
    } /* SI_A_CH_CFG */

#ifdef AUDIO_IN_EN
    case bSIItemIndex(SI_DSP_CH_CFG):
    {
      if (fgIsAinPlay())
      {
        vAINUpdateChInfo();
      }
      break;
    }
#endif /* AUDIO_IN_EN */

    case bSIItemIndex(SI_A_APPL_MODE):
    {
      bTmp1 = bSharedInfo(SI_A_APPL_MODE);

      if (fgIsDvdPlay())
      {
        vShowAudioAppl(bTmp1);
      }
#ifdef AUDIO_IN_EN
      else if (fgIsAinPlay())
      {
        vAINShowKaraFlag(bTmp1);
      }
#endif /* AUDIO_IN_EN */
      break;
    } /* SI_A_APPL_MODE */

    case bSIItemIndex(SI_ISO_ITEM_TYPE): /* SI_VCD_ITEM_TYPE */
    {
      bTmp1 = bSharedInfo(SI_ISO_ITEM_TYPE);

      if (fgIsVcdPlay())
      {
        /* not impletement yet! */
      }
#ifdef SUPPORT_DATA_DISC
      else if (fgIsIsoPlay())
      {
        if ((fgIsIsoItemAOnly(bTmp1) && fgFlCheckStatus(FL_STATUS_IN_MENU)) ||
            (fgIsIsoItemStill(bTmp1) && fgFlCheckStatus(FL_STATUS_IN_JPEG)) ||
            (fgIsIsoItemAV(bTmp1) && fgFlCheckStatus(FL_STATUS_IN_MPEG)))
        vISOShowItemType(bTmp1);
      }
#endif
      break;
    } /* SI_ISO_ITEM_TYPE */

    case bSIItemIndex(SI_V_FRAMERATE):
    case bSIItemIndex(SI_V_HSIZE_L):
    case bSIItemIndex(SI_V_HSIZE_H):
    case bSIItemIndex(SI_V_VSIZE_L):
    case bSIItemIndex(SI_V_VSIZE_H):
    {
      vShowVideoFormat();
      break;
    } /* SI_V_FRAMERATE SI_V_HSIZE, SI_V_VSIZE */

    case bSIItemIndex(SI_V_BITRATE0):
    case bSIItemIndex(SI_V_BITRATE1):
    {
      vShowVideoBitrate();
      break;
    } /* SI_V_BITRATE */

    case bSIItemIndex(SI_NTSC_PAL):
    {
      bTmp1 = bSharedInfo(SI_PBC_STATE);

#ifdef SUPPORT_DATA_DISC
      if (fgIsPcdPlay())
      {
        //if (fgIsInDigest(bTmp1))
        if (fgFlCheckStatus(FL_STATUS_IN_JPGDGST))
        {
        #ifdef PLAYER_FLMENU
          vFlRecover();
        #else
          vFsMenuRecoverMenus();
        #endif
        }
      }
      else if (fgIsIsoPlay())
      {
        if (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_JPG)
        {
          //if (fgIsInDigest(bTmp1))
          if (fgFlCheckStatus(FL_STATUS_IN_JPGDGST))
          {
          #ifdef PLAYER_FLMENU
            vFlRecover();
          #else
            vFsMenuRecoverMenus();
          #endif
          }
        }
      }
#endif
      break;
    } /* SI_NTSC_PAL */

    default:
      break;
  }
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void vGroupAudioStatusUpdate(BYTE bItem) large
{
  switch (bItem)
  {
    case bSIItemIndex(SI_A_FREQ):
      break;

    case bSIItemIndex(SI_A_SRC_FREQ):
    case bSIItemIndex(SI_A_BITLEN):
    {
      vShowAudioFreqBitLen();
    }

    case bSIItemIndex(SI_A_UPSAMPLING):
    {
#ifdef AUDIO_IN_EN
      if (fgIsAinPlay())
      {
        vAINUpdateUpsmapling();
      }
#endif /* AUDIO_IN_EN */
      break;
    }

    case bSIItemIndex(SI_A_BITRATE0):
    case bSIItemIndex(SI_A_BITRATE1):
    {
      vShowAudioBitrate();
      break;
    } /* SI_A_BITRATE */

    case bSIItemIndex(SI_A_EFFECT_0):
    case bSIItemIndex(SI_A_EFFECT_1):
    case bSIItemIndex(SI_A_EFFECT_2):
    case bSIItemIndex(SI_A_EFFECT_3):
    {
#ifdef AUDIO_IN_EN
      if (fgIsAinPlay())
      {
        vAINShow3DMark();
     

⌨️ 快捷键说明

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