📄 frntp.c
字号:
* ========== ========= ================= ======
* 10/09/2000 Mel Lai Create it 0.1
*------------------------------------------------------------------*/
#if ( STANDBY_MODE==StandBy_Enable )
void FP_StopAll()
{
char dummy[sizeof(MSG2VOBU)];
VfdSetLed(0x00); /* Add by AAT, toggle power LED. Sunny 10/18 *//* turn on all LED */
PnlShowLoading(FALSE);
ShiftOn=FALSE; ////Added by brook
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, UI_mbfid) == E_OK)
;
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, VOBU_mbfid) == E_OK)
;
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, PE_mbfid) == E_OK)
;
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, FP_mbfid) == E_OK)
;
/* panel off */
PnlReset();
PnlUpdate();
}
#endif
/*-------------------------[Local Function]--------------------------
* Function_Name: ChipsPowerDown()
*
* Description:
* power down tv encoder, audio dac, karaoke chips, frnpt panel
* controller if any one exist and providing power down features.
*
* Arguments:
* Input: BOOL flag. --> TRUE: power down, FLASE: power up.
* Output: none.
*
* History:
* Date By Reason Ver.
* ========== ========= ================= ======
* 10/10/2000 Mel Lai Create it 0.1
*------------------------------------------------------------------*/
#if ( STANDBY_MODE==StandBy_Enable )
#if 0 //4218s01d for redundance
void ChipsPowerDown(BOOL flag)
{
/* M3321PowerDown(flag); TM can add device power down*/
}
#endif
#endif
/*****************************************************************************
Function : FpTrayOpen
Description : To open tray instantly after the OPEN key is pressed.
Thus the user won't wait too long to open the tray, and
when the system is unstable, the tray can still be opened.
Arguments : None
Return value : None
*****************************************************************************/
void FPTrayOpen(void)
{
char dummy[sizeof(MSG2UI)];
if (!TrayIsOutOfFP()&&!BEject)
{
BEject = TRUE;
MachineState = C_MACHINE_ST_OPENING;
PnlShowLoading(FALSE);
ShiftOn=FALSE; //Added by brook
// while(prcv_mbf( (VP)&dummy, (INT *) &dummy, UI_mbfid) == E_OK);
//while(prcv_mbf( (VP)&dummy, (INT *) &dummy, VOBU_mbfid) == E_OK)
// ;
//while(prcv_mbf( (VP)&dummy, (INT *) &dummy, PE_mbfid) == E_OK)
// ;
// while(prcv_mbf( (VP)&dummy, (INT *) &dummy, FP_mbfid) == E_OK);
}
//PnlReset();/*peter*/
if(!TrayIsOutOfFP()) // Gordon: MachineState is maintanced by ATAPI instead of ATAPI maintanced by MachineState
{
#if(_MODEL == CYP405|| _MODEL == CYP325U|| _MODEL == CYP2830G)
VfdAllOff();
#endif
BRealEject = TRUE;
OpenTraySong(0); //bowei 0531
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, UI_mbfid) == E_OK);
while(prcv_mbf( (VP)&dummy, (INT *) &dummy, UIGetKEY_mbfid) == E_OK);
if(DiscType == C_DVD || DiscType == C_DVD_AUDIO || DiscType == C_VCD10 || DiscType == C_VCD20 ||DiscType == C_SVCD)
PEAbort();
// FpShowKey(C_KEY_OPEN); //by diddy
// FpSetState(C_KEY_OPEN);
}
else
{
// FpShowKey(C_ExtKEY_CLOSE);
// FpSetState(C_ExtKEY_CLOSE);
CloseTray(0);
}
/*Init FrontEnd variables*/
#if 0 //sean Keycounter
KeyCounter = 0;
#endif
prevtt=0xFFFFFFFF;
PnlUpdate();
}
void SetbRealEject()
{
BRealEject=TRUE;
}
void VFDSystemShow(BYTE bSystem )
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
PnlStore();
PnlReset();
if(bSystem == S_PAL)
PnlDisplayMsg(PNL_MSG_PAL);
else if(bSystem == S_NTSC)
PnlDisplayMsg(PNL_MSG_NTSC);
else if(bSystem == S_AUTO)
PnlDisplayMsg(PNL_MSG_AUTO);
bNeedRestore = TRUE;
}
void VFDEpromShow(BYTE FstVal, BYTE ScdVal )
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
PnlReset();
PnlDisplayFnt16Dgt((DWORD) FstVal);
PnlDisplayBck16Dgt((DWORD) ScdVal);
}
void VFDRegionCodeShow(BYTE bRgnCode)
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
PnlStore();
PnlReset();
PnlDisplayMsg(PNL_MSG_DISC);
PnlDisplayRegionCode((DWORD) bRgnCode);
bNeedRestore = TRUE;
}
void VFDPClrShow()
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
PnlStore();
PnlReset();
PnlDisplayMsg(PNL_MSG_P_CLR);
bNeedRestore = TRUE;
}
void VFDUpgradeShow(BYTE bUpgStatus)
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
PnlReset();
switch(bUpgStatus)
{
case C_UPGRADE_PRESSUP:
PnlDisplayMsg(PNL_MSG_PRESSUP);
break;
case C_UPGRADE_READ:
PnlDisplayMsg(PNL_MSG_READ);
break;
case C_UPGRADE_UPGRADE:
PnlDisplayMsg(PNL_MSG_UPGRADE);
break;
case C_UPGRADE_FINISHED:
PnlDisplayMsg(PNL_MSG_FINISHED);
break;
}
}
void VFDRestore()
{
if(bNeedRestore == TRUE)
{
PnlReStore();
bNeedRestore = FALSE;
}
}
/*---------------------------------------------------------------
* Function_Name:VFDPart1Clear
* Arguments:none
* Return Value:none
* Remarks:Reset the VFD Part1 Show
* 2003/04/25 Added by brook
*--------------------------------------------------------------*/
void VFDPart1Clear()
{
#if (_TRANSFER_ALI_BOARD_ == _TRANSFER_ALI_BOARD_DISABLE_)
//PnlReset();
//PnlUpdate();
#else
PnlReset();
#endif
}
/*---------------------------------------------------------------
* Function_Name:VFDPart1StandbyShow
* Arguments:none
* Return Value:none
* Remarks:VFD Part1 Show when the fp state is Standby
* 2003/04/25 Added by brook
*--------------------------------------------------------------*/
void VFDPart1StandbyShow()
{
VFDPart1Clear();
}
/*---------------------------------------------------------------
* Function_Name:VFDPart1ResumeStopShow
* Arguments:none
* Return Value:none
* Remarks:VFD Part1 Show when the fp state is Stop,it will reset the panel
* and then show "STOP" .
* 2003/04/25 Added by brook
*--------------------------------------------------------------*/
void VFDPart1ResumeStopShow()
{
PLAYPOINT CurPoint;
DWORD dPicNum=0;
MPF_CurInfo MPFInfo;
//if resume stop mode,just stop rotating light disc,remain other status
if(bPause== TRUE)
{
PnlReStore();
}
#if(_DEALER_LOCK_MODE == _DEALER_LOCK_ENABLE_)
//MAGGIE40212
else if(bDoneDealerLock)
{
PnlReStore();
bDoneDealerLock = FALSE;
}
//MAGGIE40212
#endif
PnlDisplayLD(PNL_PAUSE);
PnlLightPlayback(PNL_HSIG_OFF);//301029-01mi
//show karaoke check:on or off
switch(g_VFD_ShowInfo.KaraChk)
{
case C_ON:
PnlLightKARAOKE_ONOFF(PNL_HSIG_KARAOKE_ONOFF);
break;
case C_OFF:
PnlLightKARAOKE_ONOFF(PNL_HSIG_OFF);
break;
default:
;
}
#ifdef _MPLAY_ENABLE_
if(g_VFD_ShowInfo.DiscType==C_FILEOPENDISC && g_VFD_ShowInfo.FileType==C_JPGFILE)
{
MPF_GetCurTrackNum(&MPFInfo);
PnlDisplayMsg(PNL_MSG_PIC);
PnlDisplayPic(MPFInfo.wCurJpegNum);
}
#endif
// Start for LG#1394
if( g_VFD_ShowInfo.DiscType == C_VCD20 || g_VFD_ShowInfo.DiscType == C_SVCD)
{
if(g_VFD_ShowInfo.PBCChk == C_ON)
{
PnlDisplayTrack(PNL_DISPLAY_OFF);
PnlDisplayMsg(PNL_MSG_PBC);
FPUpdateTime(NVGetVideoTime(C_TRACK_TM));
//VFDPart1StopShow();
}
else
{
PnlDisplayMsg(PNL_MSG_OFF);
NVGetCurInfo(&CurPoint);
if (CurPoint.wTTN==0)
{
PnlDisplayTrack_Ext(1);
FPUpdateTime(0);
}
else
{
PnlDisplayTrack_Ext(CurPoint.wTTN);
FPUpdateTime(NVGetVideoTime(C_TRACK_TM));
}
}
//show repeat mode
if(g_VFD_ShowInfo.PlaybackList == UI_PLAYBACKLIST_PROGRAM)
PnlLightProgram(PNL_HSIG_PROGRAM);
if(g_VFD_ShowInfo.PlaybackMethod==UI_PLAYBACKMETHOD_RANDOM \
|| g_VFD_ShowInfo.PlaybackMethod == UI_PLAYBACKMETHOD_SHUFFLE)
PnlLightRandom(PNL_HSIG_RANDOM);
switch(g_VFD_ShowInfo.PlaybackRepeatRange)
{
case UI_PLAYBACKRANGE_REPEATONE:
PnlLightRepeat(PNL_HSIG_REPEAT1);
break;
case UI_PLAYBACKRANGE_REPEATALL:
PnlLightRepeat(PNL_HSIG_REPEATALL);
break;
case UI_PLAYBACKRANGE_REPEATAB:
PnlLightRepeat(PNL_HSIG_REPEATAB);
break;
case UI_PLAYBACKRANGE_REPEATA:
PnlLightRepeat(PNL_HSIG_REPEATA);
break;
}
}
//maggie40210
if(g_VFD_ShowInfo.DiscType != C_FILEOPENDISC ||\
(g_VFD_ShowInfo.DiscType == C_FILEOPENDISC && g_VFD_ShowInfo.FileType==C_MP3FILE))
{
PnlLightDisc(g_VFD_ShowInfo.DiscType);
}
//maggie40210
// End for LG#1394
}
/*---------------------------------------------------------------
* Function_Name:VFDPart1StopShow
* Arguments:none
* Return Value:none
* Remarks:VFD Part1 Show when the fp state is Stop,it will reset the panel
* and then show "STOP" .
* 2003/04/25 Added by brook
*--------------------------------------------------------------*/
void VFDPart1StopShow()
{
PLAYPOINT CurPoint;
DWORD dTrackNum=0;
MPF_CurInfo MPFInfo;
//if resume stop mode,just stop rotating light disc,remain other status
/* if(g_VFD_ShowInfo.bIsSecondStop == FALSE)
{
PnlDisplayLD(PNL_SPEED_OFF| PNL_BLINK_OFF | PNL_DIRECT_FORWARD);
g_VFD_ShowInfo.bIsSecondStop = TRUE;
return ;
}*/
PnlReset();
PnlShowAngle(FALSE); //initialize bShowAngle
PnlShowLoading(FALSE);//bond add for stopping send c_fp_showload to ui . 031105.
ShiftOn=FALSE;
//EPRINTF("bIsDVDRegionErr:%d\n",bIsDVDRegionErr);
//EPRINTF("stop show---ENTER stop show\n");
//if no disc or unkown disc,show "NO DISC" or "INVALIDE DISC/BAD DISC",otherwise show "STOP"
//301001 gamble for show kara in vfd
switch(g_VFD_ShowInfo.KaraChk)
{
case C_ON:
PnlLightKARAOKE_ONOFF(PNL_HSIG_KARAOKE_ONOFF);
break;
case C_OFF:
PnlLightKARAOKE_ONOFF(PNL_HSIG_OFF);
break;
default:
;
}
if(g_VFD_ShowInfo.DiscType == C_DTSCD)
PnlLightAudio(PNL_HSIG_DTS);
//301001 gamble for show kara in vfd end
if(g_VFD_ShowInfo.DiscType==C_NO_DISC)
PnlDisplayMsg(PNL_MSG_NO_DISC);
else if((MachineState!=C_MACHINE_ST_LOADING)&&(g_VFD_ShowInfo.DiscType==C_UNKOWN_DISC || g_VFD_ShowInfo.DiscType==C_UNSURPORT_DISC || bIsDVDRegionErr == TRUE))
{
#if (_MODEL == CYP405 || _MODEL == CYP325U|| _MODEL == CYP2830G)
PnlDisplayMsg(PNL_MSG_BADDISC);
#else
PnlDisplayMsg(PNL_MSG_DISKERROR);
#endif
}
else
{
//30107-03mi
if(g_VFD_ShowInfo.DiscType==C_CDDA\
||g_VFD_ShowInfo.DiscType==C_HDCDDA||g_VFD_ShowInfo.DiscType==C_PICTURE_CD||g_VFD_ShowInfo.DiscType==C_DTSCD)
{
#ifdef _MPLAY_ENABLE_
MPF_GetCurTrackNum(&MPFInfo);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -