📄 play_com.c
字号:
}
#endif /* SUPPORT_CAPTURE_LOGO */
#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);
}
#if 1 //#ifndef SUPPORT_DRM
BOOL fgCOMMuteKey(void) large
{
if (fgIsMute()) // mute off
{
vAdspMute(ADSP_OFF, 0);
vOsdShowMute(OSD_MUTE_OFF);
}
else // mute on
{
vAdspMute(ADSP_ON, 0);
vOsdShowMute(OSD_MUTE_ON);
}
_bIRKey = IR_NONE;
return (UOP_OK);
}
#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);
}
#ifdef PLAYER_SURROUND
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())
{
_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);
}
#ifdef VCD_SUPPORT
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
#endif /* PLAYER_SURROUND */
_bIRKey = IR_NONE;
return (UOP_OK);
}
#endif
#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
};
#undef VOCAL_ASSIST_STREAM_CHANGE
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;
#ifdef VOCAL_ASSIST_STREAM_CHANGE
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;
#endif
#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() */
#ifdef VCD_SUPPORT
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;
#ifdef VOCAL_ASSIST_STREAM_CHANGE
case VOCAL_AUDIO1:
bType = VOCAL_AUDIO2;
break;
case VOCAL_AUDIO2:
#endif
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() */
#endif
vAdspVocalAssist(bType);
#ifdef VOCAL_ASSIST_STREAM_CHANGE
bTmp1 = bSharedInfo(SI_AST_NO);
if (bType == VOCAL_AUDIO1)
{
_fgVocalOn = TRUE;
if (bTmp1 != 0)
{
if (fgIsDvdPlay())
{
vSendUopCmd(UOP_CHANGE_ASTN, 0, SV_AUDIO_MASTER, SV_UOP_FORCE);
}
else
{
/*if (IS_SVCD_TYPE(bSharedInfo(SI_DISC_TYPE)))
{
vSetSharedInfo(SI_AST_NO, 0);
vNotifySharedInfo(SI_AST_NO, 0, 0);
}
else*/
{
vSendUopCmd(UOP_CHANGE_ASTN, 0, 0, 0);
}
}
}
}
else if (bType == VOCAL_AUDIO2)
{
_fgVocalOn = TRUE;
if (bTmp1 != 1)
{
if (fgIsDvdPlay())
{
vSendUopCmd(UOP_CHANGE_ASTN, 1, SV_AUDIO_MASTER, SV_UOP_FORCE);
}
else
{
/*if (IS_SVCD_TYPE(bSharedInfo(SI_DISC_TYPE)))
{
vSetSharedInfo(SI_AST_NO, 1);
vNotifySharedInfo(SI_AST_NO, 0, 0);
}
else*/
{
vSendUopCmd(UOP_CHANGE_ASTN, 1, 0, 0);
}
}
}
}
else
#endif
#ifdef VOCAL_ASSIST_MIC_CNT
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 */
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
{
#ifdef SUPPORT_AUDIO_KEY_ADJUST
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
char cKey;
#ifdef DVD_AUDIO_NO_KEY_SHIFT
if (bSharedInfo(SI_DISC_TYPE) == SV_DVD_AUDIO)
{
// _bIRKey = IR_NONE;
// return (UOP_OK);
// 20050401, CR00002256, show prohibit for non-supported keys
return (UOP_FAIL);
}
#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))
VfdShowKeyShift(VFD_AUD_KEY_UP);
#endif
}
else if (cKey < ZERO_KEY_LEVEL)
{
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
VfdShowKeyShift(VFD_AUD_KEY_DOWN);
#endif
}
else
{
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
VfdShowKeyShift(VFD_AUD_KEY_RESUME);
#endif
}
#endif /* PLAYER_KARAOKE || USE_EXTERNAL_KARAOKE */
#else /* SUPPORT_AUDIO_KEY_ADJUST */
vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);
#endif /* SUPPORT_AUDIO_KEY_ADJUST */
_bIRKey = IR_NONE;
return (UOP_OK);
}
BOOL fgCOMEqualizerKey(void) large
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -