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

📄 play_com.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 4 页
字号:
       }  
       #endif
      if(bSharedInfo(SI_PBC_STATE) != SV_STOP)
        vSendUopCmd(UOP_STOP, 0, 0, 0);	
      _fgFlSrcSet = FALSE; //quickly enter USB_COPY_KEY,this vaule sometime will to true,add here to insure again. 
      fgFlMnOnIrCopy();
    if(bEMDTotal )      
    _bUSBUIState=USBUI_CARD_SAVETO_ST;
    else
   _bUSBUIState=USBUI_CARD_NONE_ST; 	   
vChangeInputState(INPUT_STATE_USBINPUT, FALSE);
 }
else
 {
     #ifdef USB_COPY_DEBUG
      DBGLogS("can not copy file");
     #endif
   vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);	
 }
    
 _bIRKey=IR_NONE;
 return(UOP_OK);
}
#endif

#ifdef SUPPORT_VOLUME_ADJUST
BOOL fgCOMVolumeUpKey(void) large
{
  BOOL fgFromMute = FALSE;
  BYTE bVal = bAdspCurrVol();

#ifdef MUTE_NO_VOL_KEY
  if (fgIsMute()) /* if mute on */
  {
    return (UOP_FAIL);
  }
#endif

  if (bVal < MAX_VOL_LEVEL)
  {
    bVal ++;
  }

  /* change volume level first */
  vAdspVolume(bVal);

  if (fgIsMute()) /* if mute on */
  {
    fgFromMute = TRUE;
    /* turn mute off first */
    vAdspMute(ADSP_OFF, 0);
    vOsdShowMute(OSD_MUTE_OFF);
  }

#ifdef PLAYER_FLMENU
  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    if (fgFromMute)
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_REDRAW);
    else
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_UP);
  }
  else
#endif /* PLAYER_FLMENU */
  {
    vOsdShowVol(bVal, OSD_TIMEOUT);
  }

  vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);

  _bIRKey = IR_NONE;
  return (UOP_OK);
}

BOOL fgCOMVolumeDownKey(void) large
{
  BYTE fgFromMute = FALSE;
  BYTE bVal = bAdspCurrVol();

#ifdef MUTE_NO_VOL_KEY
  if (fgIsMute()) /* if mute on */
  {
    return (UOP_FAIL);
  }
#endif

  if (bVal > MIN_VOL_LEVEL)
  {
    bVal --;
  }

  /* change volume level first */
  vAdspVolume(bVal);

  if (fgIsMute()) /* if mute on */
  {
    fgFromMute = TRUE;
    /* turn mute off first */
    vAdspMute(ADSP_OFF, 0);
    vOsdShowMute(OSD_MUTE_OFF);
  }

#ifdef PLAYER_FLMENU
  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    if (fgFromMute)
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_REDRAW);
    else
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_DOWN);
  }
  else
#endif /* PLAYER_FLMENU */
  {
    vOsdShowVol(bVal, OSD_TIMEOUT);
  }

  vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);

  _bIRKey = IR_NONE;
  return (UOP_OK);
}
//commented by Alfonso, discussed with Alan, that DRM shall use VRMT key.
//#ifndef SUPPORT_DRM
BOOL fgCOMMuteKey(void) large
{
#if defined(SUPPORT_MODE_SWITCH_MENU) //yan 070409
  {
    BYTE bDevID = bSharedInfo(SI_DEVICE_ID);
    BYTE bInitState = bSharedInfo(SI_INIT_STATE);

    if(!fgFlCheckStatus(FL_STATUS_IN_HELP) 
       && ((bDevID == SV_DEVID_INVALID) || (bInitState != SV_LOADING_DISC)) //loading can't open menu
     )
    {
      vChangeInputState(INPUT_STATE_SYS_MODE_SWITCH, FALSE);
    }
  }
#elif defined(SUPPORT_DEVMNG)
  /* Alan Cheng: comment out the following because of suspend mode in RISC */
  #if 0
  if (bSharedInfo(SI_EMD_ATTACH) || bSharedInfo(SI_MCR_ATTACH) ||
      (bSharedInfo(SI_DEVMNG_SWITCH_MODE) != SV_DEVMNG_SWITCH_DEFAULT) ||
      (bSharedInfo(SI_MCR_CONFIG) & MCR_CFG_SUSPEND))
  #endif //0
  {
    // close spectrum when mcr switching. by Alfonso
  #ifdef SPTM_SUPPORT
    {
      BYTE bType = bEqCurrType();
      if (bType != OSD_EQ_TYPE_DISABLE)
      {
        vSptmChangeType(OSD_EQ_TYPE_DISABLE);
      }
    }
  #endif /* SPTM_SUPPORT */
  #ifdef HILI_USE_OSD
    // temporal solution for WB_DGST_HILI residue problem
    if (fgIsPcdPlay())
    {
      vDeleteWB(WB_DGST_HILI);
    }
  #endif /* HILI_USE_OSD */

/*
  Add it by Bright_liu 2006/01/04, for CQ(PL00101343, PL00101409, PL00101412)
  when change the device, the OSD file browser maybe on the screen yet.
*/
    if(fgIsIsoPlay())
    {
      vOsdSetSt(OSD_ST_BURST);
      vDeleteWB(FSMENU_INFO);
      vDeleteWB(FSMENU_OSD_WBIDX_BASIC);
      vDeleteWB(FSMENU_OSD_WBIDX_SEC);
      vDeleteWB(FSMENU_OSD_WBIDX_THIRD);
      vOsdSetSt(OSD_ST_NML);
    }

    vSendUopCmd(UOP_CHG_DEV, SV_NEXT_DEV, 0, 0);
    vOsdShowInitState(SV_EMD_LOADING);
  }
#else
  if (fgIsMute()) // mute off
  {
    vAdspMute(ADSP_OFF, 0);
    vOsdShowMute(OSD_MUTE_OFF);
  }
  else // mute on
  {
    vAdspMute(ADSP_ON, 0);
    vOsdShowMute(OSD_MUTE_ON);
  }
#endif
  _bIRKey = IR_NONE;
  return (UOP_OK);
}
//commented by Alfonso, discussed with Alan, that DRM shall use VRMT key.
/*
#else
BOOL fgCOMMuteKey(void) large
{
   vDRMRegCodeKey();
   _bIRKey = IR_NONE;
  return (UOP_OK);
}
#endif
*/
#endif

BOOL fgCOMKaraokeKey(void) large
{
#ifdef PLAYER_KARAOKE
   if (fgIsKaraMode())
   {
      fgEepromWriteByte(MIC_SW_POS, EV_OFF);
      bSetMic(NULL_POSITION, 0);
      vOsdShowEchoLevel(OSD_MIC_OFF);
   }
   else /* not in karaoke mode */
   {
      fgEepromWriteByte(MIC_SW_POS, EV_ON);
      bSetMic(NULL_POSITION, 0);
      vOsdShowEchoLevel(OSD_MIC_ON);
   }
#endif /* PLAYER_KARAOKE */

  _bIRKey = IR_NONE;
  return (UOP_OK);
}

BOOL fgCOMSurroundKey(void) large
{
#ifdef N22_CERTIFICATION
  if (bEepromReadByte(SPEAKER_POSITION) == EV_DOWN_N22)
  {
    fgEepromWriteByte(SPEAKER_POSITION, EV_DOWN_OFF);
    //clear message
    vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_SPATIALIZER_N22, 1);
  }
  else
  {
    fgEepromWriteByte(SPEAKER_POSITION, EV_DOWN_N22);
    vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_SPATIALIZER_N22, OSD_NO_DISAPPEAR);
  }
  bSpkConfig(NULL_POSITION, 0);
#elif (defined(PLAYER_SURROUND))
  BYTE bType;
  BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);

  if (fgIsNonPlay())
  {
    // 20050328, IS00001944, show prohibit for non-supported keys
    return (UOP_FAIL);
//    _bIRKey = IR_NONE;
//    return (UOP_OK);
  }
  else if (fgIsDvdPlay() || (bDiscType == SV_DTS_CS)) // multi-channel use equalizer
  {
    bType = bEepromReadByte(EQ_PRESET_POS) + 1;

    if (bType >= AUD_EQ_TYPE_MAX)
    {
      bType = AUD_EQ_TYPE_NONE;
    }

    fgEepromWriteByte(EQ_PRESET_POS, bType);

    bSetEqPreset(NULL_POSITION, 0);
    vOsdShowSurrType(bType, OSD_POS_AUD_CTRL);
  }
  else /*  if (fgIsVcdPlay() || fgIsCddaPlay()) */ // use Reverb
  {
    bType = bEepromReadByte(REVERB_MD_POS) + 1;

    if (bType > AUD_REVERB_MODE_MAX)
    {
      bType = 0;
    }

    fgEepromWriteByte(REVERB_MD_POS, bType);

    bSetReverbMd(REVERB_MD_POS, bType);
    vOsdShowReverbType(bType, OSD_POS_AUD_CTRL);
  }
#endif /* PLAYER_SURROUND */

  _bIRKey = IR_NONE;
  return (UOP_OK);
}

#ifdef PLAYER_KARAOKE
static code const WORD wVocalAssistMsg[VOACL_TYPE_MAX] = {
  OSD_MSG_NO_VOCAL_ASSIST,
  OSD_MSG_VOICE_CANCEL,
  OSD_MSG_LEFT_VOCAL,
  OSD_MSG_RIGHT_VOCAL,
  OSD_MSG_AUDIO_1_VOCAL,
  OSD_MSG_AUDIO_2_VOCAL,
  OSD_MSG_NO_VOCAL,
  OSD_MSG_VOCAL_1,
  OSD_MSG_VOCAL_2,
  OSD_MSG_BOTH_VOCAL
};

BOOL fgCOMVocalAssistKey(void) large
{
  BYTE bTmp1, bTmp2;
  BYTE bType = bAdspCurrVocal();

  if (fgIsDvdPlay())
  {
    bTmp1 = bSharedInfo(SI_A_CODE_MODE);
    bTmp2 = bSharedInfo(SI_A_APPL_MODE);

    switch (bType)
    {
      case VOCAL_NO_ASSIST:
        bType = VOCAL_VOICE_CANCEL;
        break;

      case VOCAL_VOICE_CANCEL:
  #ifdef VOCAL_ASSIST_STREAM_CHANGE
        if (bSharedInfo(SI_AST_NS) >= 2)
        {
          bType = VOCAL_AUDIO1;
        }
        else
  #endif /* VOCAL_ASSIST_STREAM_CHANGE */
  #ifdef AC3_KARA_MODE
        if ((bTmp1 == SV_A_CODE_AC3) && (bTmp2 == SV_A_APPL_KARA))
        {
          bType = VOCAL_NONE;
        }
        else
  #endif /* AC3_KARA_MODE */
        {
          bType = VOCAL_NO_ASSIST;
        }
        break;

      case VOCAL_AUDIO1:
        bType = VOCAL_AUDIO2;
        break;

      case VOCAL_AUDIO2:
  #ifdef AC3_KARA_MODE
        if ((bTmp1 == SV_A_CODE_AC3) && (bTmp2 == SV_A_APPL_KARA))
        {
          bType = VOCAL_NONE;
        }
        else
  #endif /* AC3_KARA_MODE */
        {
          bType = VOCAL_NO_ASSIST;
        }
        break;

  #ifdef AC3_KARA_MODE
      case VOCAL_NONE:
        bType = VOCAL_V1;
        break;

      case VOCAL_V1:
        bType = VOCAL_V2;
        break;

      case VOCAL_V2:
        bType = VOCAL_BOTH;
        break;

      case VOCAL_BOTH:
        bType = VOCAL_NO_ASSIST;
        break;
  #endif /* AC3_KARA_MODE */

      default:
        bType = VOCAL_NO_ASSIST;
        break;
    } /* switch() */
  } /* fgIsDvdPlay() */
  else if (fgIsVcdPlay() || fgIsCddaPlay())
  {
    bTmp1 = bSharedInfo(SI_DISC_TYPE);

    if (IS_SVCD_TYPE(bTmp1))
    {
      switch (bType)
      {
        case VOCAL_NO_ASSIST:
          bType = VOCAL_VOICE_CANCEL;
          break;

        case VOCAL_VOICE_CANCEL:
  #ifdef VOCAL_ASSIST_STREAM_CHANGE
          bType = VOCAL_AUDIO1;
  #else
          bType = VOCAL_NO_ASSIST;
  #endif
          break;

        case VOCAL_AUDIO1:
          bType = VOCAL_AUDIO2;
          break;

        case VOCAL_AUDIO2:
        default:
          bType = VOCAL_NO_ASSIST;
          break;
      } /* switch() */
    }
    else /* VCD/CDDA */
    {
      switch (bType)
      {
        case VOCAL_NO_ASSIST:
          bType = VOCAL_VOICE_CANCEL;
          break;

        case VOCAL_VOICE_CANCEL:
          bType = VOCAL_LEFT;
          vAdspKaraLR(KARA_LEFT); /* switch to L channel first */
          break;

        case VOCAL_LEFT:
          bType = VOCAL_RIGHT;
          vAdspKaraLR(KARA_RIGHT); /* switch to R channel first */
          break;

        case VOCAL_RIGHT:
        default:
          bType = VOCAL_NO_ASSIST;
          break;
      } /* switch() */
    }
  } /* fgIsVcdPlay() */

  vAdspVocalAssist(bType);

  bTmp1 = bSharedInfo(SI_AST_NO);

  if (bType == VOCAL_AUDIO1)
  {
    _fgVocalOn = TRUE;
    if (bTmp1 != 0)
    {
      //zhy 20060418 PL00101996/2005 If switch V_Mode at Pause state, there may be audio out.
      //This is because UOP_CHANGE_ASTN should be sent only in karaoke mode if switch V_Mode when playing DVD Disc.
      //if (fgIsDvdPlay())
      if (fgIsDvdPlay() && (bSharedInfo(SI_A_APPL_MODE) == SV_A_APPL_KARA))
      {
        vSendUopCmd(UOP_CHANGE_ASTN, 0, SV_AUDIO_MASTER, SV_UOP_FORCE);
      }
      else if (!fgIsDvdPlay())
      {
        vSendUopCmd(UOP_CHANGE_ASTN, 0, 0, 0);
      }
    }
  }
  else if (bType == VOCAL_AUDIO2)
  {
    _fgVocalOn = TRUE;
    if (bTmp1 != 1)
    {
      //zhy 20060418 PL00101996/2005 If switch V_Mode at Pause state, there may be audio out.
      //This is because UOP_CHANGE_ASTN should be sent only in karaoke mode if switch V_Mode when playing DVD Disc.
      //if (fgIsDvdPlay())
      if (fgIsDvdPlay() && (bSharedInfo(SI_A_APPL_MODE) == SV_A_APPL_KARA))
      {
        vSendUopCmd(UOP_CHANGE_ASTN, 1, SV_AUDIO_MASTER, SV_UOP_FORCE);
      }
      else if (!fgIsDvdPlay())
      {
        vSendUopCmd(UOP_CHANGE_ASTN, 1, 0, 0);
      }
    }
  }
#ifdef VOCAL_ASSIST_MIC_CNT
  else if ((bType == VOCAL_VOICE_CANCEL) ||
           (bType == VOCAL_LEFT) || (bType == VOCAL_RIGHT))
  {
    _fgVocalOn = TRUE;
  }
#endif
  else
  {
    _fgVocalOn = FALSE;
  }

  vOsdPosShow(OSD_POS_NORMAL, wVocalAssistMsg[bType], OSD_TIMEOUT);

  _bIRKey = IR_NONE;
  return (UOP_OK);
}

#else /* not define PLAYER_KARAOKE */
// If we don't define PLAYER_KARAOKE, there would be link error since
// we have ?CO?PLAY_COM in blx_nui.dat. Declare one byte to pass the link procedure.
static code const BYTE bNull;

BOOL fgCOMVocalAssistKey(void) large
{
  BYTE bMode = bAdspCurrVocal();

  #if 0
  if (fgIsDvdPlay())
  {
    vOsdShowError(SV_ERR_DISC_NOT_SUPPORT, OSD_TIMEOUT_SHORT);
    _bIRKey = IR_NONE;
    return (UOP_OK);
  }
  #endif

  switch (bMode)
  {
    case AUDIO_STEREO:
      bMode = AUDIO_MONO_LEFT;
      break;

    case AUDIO_MONO_LEFT:
      bMode = AUDIO_MONO_RIGHT;
      break;

    case AUDIO_MONO_RIGHT:
      bMode = AUDIO_MONO_MIXED;
      break;

    case AUDIO_MONO_MIXED:
    default:
      bMode = AUDIO_STEREO;
      break;
  } /* switch() */

  vAdspLR(bMode);
  vVCDShowAudioLR(TRUE); /* show OSD */

  _bIRKey = IR_NONE;
  return (UOP_OK);
}
#endif /* not define PLAYER_KARAOKE */

BOOL fgCOMAudKeyShift(void) large
{
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
  char cKey;

#ifdef SUPPORT_SACD
  if (IS_SACD_TYPE()) // SACD doesn't support this function.
  {
    // 20050328, IS00001944, show prohibit for non-supported keys
    return (UOP_FAIL);
//    _bIRKey = IR_NONE;
//    return (UOP_OK);
  }
#endif

  #ifdef DVD_AUDIO_NO_KEY_SHIFT
  if (bSharedInfo(SI_DISC_TYPE) == SV_DVD_AUDIO)
  {
    // 20050328, IS00001944, show prohibit for non-supported keys
    return (UOP_FAIL);
//    _bIRKey = IR_NONE;
//    return (UOP_OK);
  }
  #endif /* DVD_AUDIO_NO_KEY_SHIFT */

  switch (_bIRKey)
  {
    case IR_AUD_KEY_PLUS:
      cKey = cAdspAudKeyCtrl(AUDIO_KEY_PLUS);
      break;

    case IR_AUD_KEY_MINUS:
      cKey = cAdspAudKeyCtrl(AUDIO_KEY_MINUS);
      break;

    case IR_AUD_KEY_RESUME:
    default:
      cKey = cAdspAudKeyCtrl(AUDIO_KEY_RESUME);
      _bIRKey = IR_AUD_KEY_RESUME;
      break;
  }

  #ifdef PROLOGIC_NO_KEY_SHIFT
  if ((_bIRKey != IR_AUD_KEY_RESUME) &&
      (bEepromReadByte(PROLOG_SW_POS) != EV_OFF))
  {
    fgEepromWriteByte(PROLOG_SW_POS, EV_OFF);
    vSetProlog();
  }
  #endif /* PROLOGIC_NO_KEY_SHIFT */

#ifdef DTS_NO_KEY_SHIFT
  if (bSharedInfo(SI_A_CODE_MODE) == SV_A_CODE_DTS)
  {
    vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);
  }
  else
#endif /* DTS_NO_KEY_SHIFT */
  {
#ifdef PLAYER_FLMENU
    if (fgFlCheckStatus(FL_STATUS_IN_MENU))
    {
      //vFlIpShowKeyShift(cKey);
      vFlIpShowInfo(IP_INFO_KEY_SHIFT, cKey, 0);
    }
    else
#endif /* PLAYER_FLMENU */
    vOsdShowKeyShift(cKey, OSD_TIMEOUT);
  }

  if (cKey > ZERO_KEY_LEVEL)
  {

#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
    vVfdSymbol(VFD_SYM_KEY_SHIFT_UP);
#endif

  }
  else if (cKey < ZERO_KEY_LEVEL)
  {

#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
    vVfdSymbol(VFD_SYM_KEY_SHIFT_DOWN);
#endif

  }
  else

⌨️ 快捷键说明

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