📄 normal.c
字号:
switch (g_UiPlaybackRepeatRange)
{
case UI_PLAYBACKRANGE_REPEATNONE:
if((DiscType == C_VCD20||DiscType == C_SVCD)&& (wTotalTitle == 1) && g_UiPBCState == C_OFF)
return NXPRE_NONExist;
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
return NXPRE_NORMAL;
#if 0
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_SHUFFLE)
{
if(UIKey_Times<0)
UIKey_Times=-UIKey_Times;
if ((wPlayNow + UIKey_Times) <= NVGetTTNsOrTrks())
wPlayNow += UIKey_Times;
else
BEndFlag = TRUE;
if (BEndFlag)
return NXPRE_NONExist;
else
{
Shuffle(wPlayNow); // prepare PlayPointList[wPlayNow]
pPlayInfo->wTTN = PlayPointList[wPlayNow];
pPlayInfo->dwLBAAddr = 0;
return NXPRE_OK;
}
}
break;
#endif
case UI_PLAYBACKRANGE_REPEATALL:
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
{
if (DiscType == C_DVD) //030528-01ba//dvd audio sh
{
NVGetCurInfo(&CurPlayPoint);
wTempPTTNs = NVGetTTPTTNs(CurPlayPoint.wTTN);
if (UIKey_Times > 0) // UI_KEY_NEXT
{
if ( (CurPlayPoint.wPTTN + UIKey_Times) <= wTempPTTNs)
return NXPRE_NORMAL;
else
{
pPlayInfo->wTTN = CurPlayPoint.wTTN;
pPlayInfo->wPTTN = PBInfo[REPEATALL_FIRST].wPTTN;
pPlayInfo->dwLBAAddr = PBInfo[REPEATALL_FIRST].dwLBAAddr;
pPlayInfo->bDomain = CurPlayPoint.bDomain;
return NXPRE_OK;
}
}
else // UI_KEY_PREV
{
if ( (CurPlayPoint.wPTTN + UIKey_Times) >= 1)
return NXPRE_NORMAL;
else
{
//pPlayInfo = Start chapter;
pPlayInfo->wTTN = CurPlayPoint.wTTN;
pPlayInfo->wPTTN = PBInfo[REPEATALL_LAST].wPTTN;
pPlayInfo->dwLBAAddr = PBInfo[REPEATALL_LAST].dwLBAAddr;
pPlayInfo->bDomain = CurPlayPoint.bDomain;
return NXPRE_OK;
}
}
}
else // C_VCD
{
NVGetCurInfo(&CurPlayPoint);
if (UIKey_Times > 0) // UI_KEY_NEXT
{
if ( (CurPlayPoint.wTTN + UIKey_Times) <= PBInfo[REPEATALL_LAST].wTTN)
return NXPRE_NORMAL;
else
{
pPlayInfo->wTTN = PBInfo[REPEATALL_FIRST].wTTN;
pPlayInfo->dwLBAAddr = PBInfo[REPEATALL_FIRST].dwLBAAddr;
return NXPRE_OK;
}
}
else // UI_KEY_PREV
{
if ( (CurPlayPoint.wTTN + UIKey_Times+1) >= PBInfo[REPEATALL_FIRST].wTTN)
return NXPRE_NORMAL;
else
{
pPlayInfo->wTTN = PBInfo[REPEATALL_LAST].wTTN;
pPlayInfo->dwLBAAddr = PBInfo[REPEATALL_LAST].dwLBAAddr;
return NXPRE_OK;
}
}
}
}
#if 0
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_SHUFFLE)
{
if(UIKey_Times<0)
UIKey_Times=-UIKey_Times;
{
if ((wPlayNow + UIKey_Times) <= NVGetTTNsOrTrks())
wPlayNow += UIKey_Times;
else
BEndFlag = TRUE;
}
if (BEndFlag)
{
wPlayNow = 0; //030609-04lily:add shuffle list initial
Shuffle(0);
CmdUIMsg(C_UI_NOTICE, C_CONSOLEUPDATE);
CmdUIMsg(C_PLAYBACK_MANAGE, C_NV_SEG_END);
return NXPRE_NONE;
}
else
{
Shuffle(wPlayNow); // prepare PlayPointList[wPlayNow]
pPlayInfo->wTTN = PlayPointList[wPlayNow];
pPlayInfo->dwLBAAddr = 0;
return NXPRE_OK;
}
}
break;
#endif
case UI_PLAYBACKRANGE_REPEATONE:
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
{
if(DiscType==C_DVD)
{
if(PlaybackModeChangeSuccess(g_UiPlaybackList, UI_PLAYBACKRANGE_REPEATNONE,g_UiPlaybackMethod))
{
bLastPressStatus=UI_PLAYBACKRANGE_REPEATNONE;
return NXPRE_NORMAL;
}
}
else
{
NVGetCurInfo(pPlayInfo);
pPlayInfo->wTTN = PBInfo[REPEAT1].wTTN;
if (DiscType == C_DVD) //030528-01ba//dvd audio sh
pPlayInfo->wPTTN = PBInfo[REPEAT1].wPTTN;
pPlayInfo->dwLBAAddr = PBInfo[REPEAT1].dwLBAAddr;
return NXPRE_OK;
}
}
break;
case UI_PLAYBACKRANGE_REPEATAB:
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
return NXPRE_NORMAL;
break;
case UI_PLAYBACKRANGE_REPEATA:
if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
return NXPRE_NORMAL;
break;
}
}
}
void NumberPlayProc(void)
{
int iVal;
BOOL flag;
PLAYPOINT playpoint;
ExtInputProc(EXT_INPUT_GET, &iVal);
if((DiscType==C_VCD20||DiscType==C_SVCD)&&g_UiPBCState == C_ON)
{
NVGetCurInfo(&playpoint);
if(NVChkIfNeedWait((WORD)iVal)&&bVCD20JumpFlag==FALSE)
{
bVCD20JumpFlag=TRUE;
return;
}
else
bVCD20JumpFlag=FALSE;
}
if (VirDiscType==C_VCD10) //modified by jane for bug 3103
{
if (NVChkNumPlay((WORD)iVal))
{ if (g_UiCoreState != UI_CORE_PLAY)
{
NVPlayModeChg(C_NV_Play, 0);
g_UiCoreState = UI_CORE_PLAY;
bActionCtl = 0;
ClearRectArea(gui_hdc,GUITYPE_PLAYMODEGUI);
}
flag = NVNumPlay((WORD)iVal);
}
else
flag = FALSE;
}
else
flag = NVNumPlay((WORD)iVal);
if (flag)
{
if ((g_UiCoreState != UI_CORE_PLAY)&&(VirDiscType!=C_VCD10))
{
NVPlayModeChg(C_NV_Play, 0);
g_UiCoreState = UI_CORE_PLAY;
bActionCtl = 0;
ClearRectArea(gui_hdc,GUITYPE_PLAYMODEGUI);
}
if(g_UiPlaybackMethod!=UI_PLAYBACKMETHOD_NORMAL
||(g_UiPlaybackRepeatRange!=UI_PLAYBACKRANGE_REPEATNONE&&g_UiPlaybackRepeatRange!=UI_PLAYBACKRANGE_REPEATALL&&g_UiPlaybackRepeatRange!=UI_PLAYBACKRANGE_REPEATA))
{
if((g_UiPlaybackRepeatRange==UI_PLAYBACKRANGE_REPEATAB||g_UiPlaybackRepeatRange==UI_PLAYBACKRANGE_REPEATONE)&&DiscType==C_DVD)//bond add 031026 for la bug 2222
;
else
{
bLastRandomStatus = UI_PLAYBACKMETHOD_NORMAL;
bLastPressStatus = UI_PLAYBACKRANGE_REPEATNONE;
RepeatAB_Counter = REPEAT_AB_OFF;
if (PlaybackModeChangeSuccess(g_UiPlaybackList, UI_PLAYBACKRANGE_REPEATNONE, UI_PLAYBACKMETHOD_NORMAL))
{
wPlayNow = 0; //030609-04lily
Shuffle(0);
SendVFDPart1Show();
CmdUIMsg(C_UI_NOTICE, C_CONSOLEUPDATE);
}
ClearRectArea(gui_hdc,GUITYPE_MODEGUI);
ShowPlayModeGui(RS_FUN_OSD_NORMAL, MSG_NULL);
}
}
if(NextPrevStatus==0)//temp for flag to determine if need show
{
if ((((DiscType == C_VCD20) || (DiscType == C_SVCD))
&&(OSD_Setup_Parameter.bPBC==C_OFF))||(DiscType == C_VCD10))
{
ShowNumPlay(1,iVal);
}
else
if (iVal>0)
ShowDiscInfo(MSG_NUM,iVal);
}
else
NextPrevStatus=0;
}
else
{
if (bIsDVDRegionErr == TRUE)
{
ATAPIStopDisc();
ShowRegionError();
}
else
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
}
/********************************************
part 0 : keys changing marchine-state
********************************************/
/*----------------------------------------------------------------------------
* Function_Name : CaseV_KEY_POWER
* Arguments : None
* Return value : None
* Remark : Proccess user press "POWER" key.
*----------------------------------------------------------------------------*/
void CaseV_KEY_POWER(void)
{
ANGLEINFO AngleInfo;
if (1)//MachineState == C_MACHINE_ST_READY)
{
halMuteOnOff(TRUE, 80, 125);
bPowerOff = TRUE;
g_VFD_ShowInfo.FPState=C_FP_POWEROFF;
CmdFPMsg(VFD_REFRESH_PART1_SHOW);
#if 1
if (BEject)
{
CloseTray(1);/*close tray immediately*/
while(g_vATADoorStatus() && (g_iServoCloseTrayTime<8))
delay(450);
if (g_iServoCloseTrayTime==8)
{
delay(500);
}
}
else
{
if(MachineState == C_MACHINE_ST_READY)
{
//030807-01lily:lastplay
#if (MP3WMA_LASTPLAY_FUNC==MP3WMA_LASTPLAY_ENABLE)
if (DiscType !=C_NO_DISC&&DiscType!=C_FILEOPENDISC)
#else
if (DiscType !=C_NO_DISC)
#endif
NVGetDiscISRC(DISCLASTPLAYINFO.u.dwDiscISRC);
#if (MP3WMA_LASTPLAY_FUNC==MP3WMA_LASTPLAY_ENABLE)
if((DiscType!=C_PICTURE_CD)
&&(DiscType!=C_CDDA&&DiscType!=C_HDCDDA&&DiscType!=C_DTSCD))
#else
if((DiscType!=C_PICTURE_CD) && (DiscType!=C_FILEOPENDISC)&&(DiscType!=C_CDDA&&DiscType!=C_HDCDDA&&DiscType!=C_DTSCD))
#endif
{
if(bIsDVDRegionErr == TRUE)
DISCLASTPLAYINFO.LASTPLAYPOINT.bPlayEnable = FALSE;
else if(g_UiCoreState != UI_CORE_STOP)
{
if ( !NVGetCurInfo(&DISCLASTPLAYINFO.LASTPLAYPOINT.PlayInfo) )
DISCLASTPLAYINFO.LASTPLAYPOINT.PlayInfo.dwLBAAddr = 0;
#if MP3WMA_LASTPLAY_FUNC==MP3WMA_LASTPLAY_ENABLE
if(DiscType==C_FILEOPENDISC)
{
if(MPF_GetCurFileIndex(&DISCLASTPLAYINFO.LASTPLAYPOINT.PlayInfo))
FileOpenGetExtInfo((lpFODiscInfo)DISCLASTPLAYINFO.u.dwDiscISRC);
else
DISCLASTPLAYINFO.LASTPLAYPOINT.bPlayEnable = FALSE;
}
#endif
if ( (DiscType == C_VCD10) || (DiscType == C_VCD20) || (DiscType == C_SVCD))
NVModify_PlayPoint_Addr(&DISCLASTPLAYINFO.LASTPLAYPOINT.PlayInfo);
NVSaveGprm((LPBYTE)(DISCLASTPLAYINFO.GPRM));
//maggie add for last vfd show time
DISCLASTPLAYINFO.LASTPLAYPOINT.dwVideoPlayTime = NVGetVideoTime(bVFDShowTimeMode);
DISCLASTPLAYINFO.LASTPLAYPOINT.bVocalCnt = bVocalPressCnt;
DISCLASTPLAYINFO.LASTPLAYPOINT.bPlayEnable = TRUE;
if(DiscType == C_DVD)
{
//record current disc to be a region code disc.
DISCLASTPLAYINFO.LASTPLAYPOINT.PlayInfo.wVcd20Item = wIsRegionChkDisc;
if(bIsDVDRegionErr == TRUE ||bNeedPLChk==TRUE)
{
DISCLASTPLAYINFO.bAngle = 0xff;
}
else
{
NVGetAGLInfo(&AngleInfo);
if(AngleInfo.AngleTotalNo>1)
DISCLASTPLAYINFO.bAngle = AngleInfo.AngleNo;
else
DISCLASTPLAYINFO.bAngle = 0xff;
}
}
//add for lg bug2752
if(DiscType==C_VCD20||DiscType==C_SVCD)
{
DISCLASTPLAYINFO.bPbc=g_UiPBCState;
}
}
else if( DiscType != C_NO_DISC && (g_UiCoreState==UI_CORE_STOP&&bIsSecondStop==TRUE) )
DISCLASTPLAYINFO.LASTPLAYPOINT.bPlayEnable = FALSE;
DISCLASTPLAYINFO.bDialogueStrNo=bDialogueStrNo;
if(bNVSpSwOnOff)
DISCLASTPLAYINFO.bSubpicStrNo=bSubpicStrNo;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -