📄 play_com.c
字号:
}
#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 + -