📄 slideplay.c
字号:
else
return ;
#if 0
default:
break;
}
#endif
}
else
#if 0
if (bZoomCount != ZOOMNORMAL) //when osd disappear it can renew by diddy
#endif
{
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
ShowZoomOSD();
}
if(g_UiCoreState != UI_CORE_STOP)
{
if (!NVHLKey(HL_LEFT))
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
}
void SlideV_KEY_RIGHT(void)
{
DWORD dwRotateMode ;
extern unsigned char bzoomokflag;
extern int JpgUserRotateState;
#if 0
tPositionInfo iPos;
MPO_GetPositionInfo(&iPos);
#endif
if(bZoomCount==ZOOMNORMAL)//benjamin change
{
#if 0
switch(iPos.iPlayerFocused)
{
case MPLR_PHOTO:
#endif
if(JpgNextState)//benjamin add,means ,when next key,rotate not allowed until it finished next
return;
if(bzoomokflag)//benjamin add,when restore to nomal decoded,not allowed zoom
return;
if (ISJpgRotateOk())
{
if(!bMixPlay)
NVPlayModeChg(0x26,0);
if (JpgUserRotateState + 90 > 360)
JpgUserRotateState = 90;
else
JpgUserRotateState += 90;
return;
}
else
return ;
#if 0
default:
break;
}
#endif
}
else
#if 0
if (bZoomCount != ZOOMNORMAL) //when osd disappear it can renew by diddy
#endif
{
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
ShowZoomOSD();
}
if(g_UiCoreState != UI_CORE_STOP)
{
if (!NVHLKey(HL_RIGHT))
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
}
void SlideV_KEY_NEXT(void)
{
int iTemp;
WORD iCurPic, iTotalPic;
if (g_UiCoreState == UI_CORE_STOP)
return ;
if(bZoomCount != ZOOMNORMAL)
{
if( g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
bZoomBrightFlag=ZOOMBRIGHT_BRIGHT;
else
bZoomBrightFlag=ZOOMBRIGHT_NONE;
}
CloseZoom();//for lg bug2765
//NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
iTotalPic=FileOpenMenuGetTTNs();
iCurPic = wShowedNum+1;
gAuxParam.iCurPic = &iCurPic;
gAuxParam.iTotalPic=&iTotalPic;
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
SendVFDPart1Show();
if (bZoomCount == ZOOMNORMAL) //benjamin add,only normal mode ,this is next key
{
if(JpgNextState)//benjamin add ,for jpeg play skip only one
return;
JpgNextState =1;//benjamin add ,for jpeg play skip ,skip one picture,ignore other skip
if(!bMixPlay)
NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
ShowPlayModeGui(RS_FUN_OSD_SKIP, MSG_NULL);
Slide_NextPrevProc(V_KEY_NEXT,1);
}
else
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
void SlideV_KEY_PREV(void)
{
int iTemp;
WORD iCurPic, iTotalPic;
if (g_UiCoreState == UI_CORE_STOP)
return ;
if(bZoomCount != ZOOMNORMAL)
{
if( g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
bZoomBrightFlag=ZOOMBRIGHT_BRIGHT;
else
bZoomBrightFlag=ZOOMBRIGHT_NONE;
}
CloseZoom();//for lg bug2765
//NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
iTotalPic=FileOpenMenuGetTTNs();
iCurPic = wShowedNum+1;
gAuxParam.iCurPic = &iCurPic;
gAuxParam.iTotalPic=&iTotalPic;
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
SendVFDPart1Show();
if (bZoomCount == ZOOMNORMAL) //benjamin add,only normal mode ,this is next key
{
if(JpgNextState)//benjamin add ,for jpeg play skip only one
return;
JpgNextState =1;//benjamin add ,for jpeg play skip ,skip one picture,ignore other skip
if(!bMixPlay)
NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
ShowPlayModeGui(RS_FUN_OSD_REV_SKIP, MSG_NULL);
Slide_NextPrevProc(V_KEY_PREV,-1);
}
else
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
/*---------------------------------------------------------------------------
* Function_Name: SlideV_KEY_ZOOM
* Arguments : None
* Return value : None
* Remark : Proccess user press "ZOOM" key.The first time is ZOOM X1, the second time is
* ZOOM X2, and then display normal.
*---------------------------------------------------------------------------*/
void SlideV_KEY_ZOOM(void)
{
int iTemp;
#ifdef _JPEG_ENABLE_
extern int gbJPGFirstDecoe;
#endif
extern unsigned char bzoomokflag;
extern BYTE jpgfadinshowflag;
#if 0
tPositionInfo iPos;
MPO_GetPositionInfo(&iPos);
switch(iPos.iPlayerFocused)
{
case MPLR_PHOTO:
#endif
#ifdef _JPEG_ENABLE_ // LA compile options
if(JpgNextState)//benjamin add,not allow zoom when press next(provious) key
return;
#ifdef _JPEG_ENABLE_
if(gbJPGFirstDecoe)//benjamin add.means:first enter to play jpg,nothing is showed on screen
return;
#endif
if(bzoomokflag)
return;
if(jpgfadinshowflag)//benjamin add,now is fadin show jpg mode
return;
#endif
#if 0
break;
default:
break;
}
#endif
ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
if (g_UiCoreState != UI_CORE_STOP)
{
if(NVChkZoomEnable())
{
SlideFuncZoomInit();
}
else
{
gZoomFuncPlus=FALSE;
}
}
}
/*
void SlideV_KEY_SETUP(void)
{
GPRINTF("SlideV_KEY_SETUP\n");
//ShowDiscInfo(MSG_INVALID, MSG_NULL);//this program can cause system down!!!
}*/
void SlideV_KEY_PAUSE(void)
{
int iTemp;
PLAYPOINT pointB;
if(JpgNextState)//benjamin add,when press next key,not allow pause.LG spec.
return;
ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
NVGetCurInfo( &pointB );
if (g_UiCoreState == UI_CORE_STOP)
{
return ;
}
if (NVPlayModeChg(C_NV_Pause, 0))
{
if(!bMixPlay)
JpgResumeState = 1;//benjamin add
g_UiCoreState = UI_CORE_PAUSE;
bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
ShowPlayModeGui(RS_FUN_OSD_PAUSE, MSG_NULL );
SendVFDPart1Show();
}
else
{
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
}
void SlideV_KEY_PLAY(void)
{
BOOL flag;
if(g_UiCoreState==UI_CORE_PLAY)
return;
bFPLastplay = FALSE;//maggie for flash to show last time
if (g_UiCoreState == UI_CORE_STOP)
return ;
flag = NVPlayModeChg(C_NV_Play, 0 /*NO USE FOR PLAY*/);
if (flag)
{
ShowPlayModeGui(RS_FUN_OSD_PLAY, MSG_NULL );
g_UiCoreState = UI_CORE_PLAY;
bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
}
//gamble
SendVFDPart1Show();
}
void SlideV_KEY_STOP(void)
{
ANGLEINFO AngleInfo;
#ifdef _JPEG_ENABLE_
extern int gbJPGFirstDecoe;
#endif
extern BYTE bJPGShowMode;
BOOL bStopFlag = FALSE;
extern BOOL bIsSecondStop;
int iTemp;
if(MachineState != C_MACHINE_ST_READY)
{
ShowDiscInfo(MSG_INVALID, MSG_NULL);
return;
}
CloseZoom();//for lg bug2765
NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
MPA_RefreshAuxiliary(AT_CLOSE, &gAuxParam);
ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
VfdOpenLongKey(3);
#ifdef _JPEG_ENABLE_
gbJPGFirstDecoe = 1;//benjamin use it ,let ui know on the screen ,there is no jpg showing
bJPGShowMode = 0;
#endif
if (g_UiCoreState != UI_CORE_STOP)
{
if (NVPlayModeChg(C_NV_Stop, C_STOP_SHOWLOGO))
{
ResetShowTimeMode();
NextPrevStatus = 0;
OSD_Setup_Parameter.bPlayEnable = TRUE;
Write_UserPara();
InitJpgFrmBuf();
g_UiCoreState = UI_CORE_STOP;
if(bIsSecondStop == FALSE)
{
g_VFD_ShowInfo.FPState = C_FP_RESUME_STOP;
CmdFPMsg(VFD_REFRESH_PART1_SHOW);
}
else
SendVFDPart1Show();
SendVFDPart2Show(C_UNSENDTIME);
bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
}
else
{ /* FOR DEBUG */
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
g_UiCoreState = UI_CORE_STOP;
bIsSecondStop = TRUE;
CmdUIMsg(C_FP_KEY, C_KEY_MENU);
// GPRINTF("cmd stop here\n");
return ;
}
ShowDiscInfo(MSG_INVALID, MSG_NULL);
}
/*---------------------------------------------------------------------------
* Function_Name: CaseV_KEY_FILEOPEN
* Arguments : void
* Return value : void
* Remark : process virtual key "V_KEY_FILEOPEN" maped from user key "C_KEY_MENU".
*---------------------------------------------------------------------------*/
extern BOOL JPGStopCheck;
void SlideV_KEY_FILEOPEN(void)
{
#if ( FileOpen_Support==FileOpen_Enable )
int iTemp;
ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
if(FileType == C_JPGFILE && g_UiCoreState!=UI_CORE_STOP)
return;
//Modified by carl for MP3+JPG mix playback.
if ((FileType == C_JPGFILE) || (FileType == C_MPGFILE))
{ //30219-04cf
if (g_UiCoreState != UI_CORE_STOP)
{
if ( NVPlayModeChg(C_NV_Stop, C_STOP_SHOWLOGO) ) //30213-01wisn
{
ChangeLogoData(1);
ShowLogo(C_LOGO_FRAME);
UiVarStopReset();
#ifdef _JPEG_ENABLE_
JPGStopCheck = TRUE; //30213-01wisn
#endif
g_UiCoreState = UI_CORE_STOP;
bIsSecondStop = TRUE;
bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
SendVFDPart1Show();
}
else //error
{
ShowDiscInfo( MSG_INVALID, MSG_NULL );
return ;
}
}
} //30219-04cf
// clear top block1 msg and top block2 msg and their timers
ShowDiscInfo( MSG_NULL, MSG_NULL );
SetTimer(OSD1_TM_ID, PlayModeGUITimer, INFINITETIME);
NextPrevStatus = 0;
SetTimer(OSD5_TM_ID, NextPrevTimer, INFINITETIME);
/* step 3 */
DeleteDC(gui_hdc);
(UiInitFunc[UI_FUNC_FILEOPEN])();
g_UiPrevFunc = UI_FUNC_NORMAL; //30216-03cf
#endif/*_FILEOPEN_E_*/
}
void SlideV_KEY_RETURN(void)
{
int iTemp;
WORD iCurPic, iTotalPic;
//--> Gordon
#ifdef _MPLAY_ENABLE_
tPositionInfo iPos;
PLAYPOINT iPlayPoint;
if(JpgNextState)//benjamin add,means ,when next key,rotate not allowed until it finished next
return;
if(DiscType==C_FILEOPENDISC)
{
MPO_GetPositionInfo(&iPos);
switch(iPos.iPlayerFocused)
{
case MPLR_PHOTO:
GPRINTF("ggZoomFuncPlus=%d\n",gZoomFuncPlus);
if(gZoomFuncPlus == TRUE)
return;
bDrawSlideShowHelp=!bDrawSlideShowHelp;
NVGetCurInfo(&iPlayPoint);
if(bDrawSlideShowHelp)
{
iCurPic=iPlayPoint.wTTN+1;
iTotalPic=FileOpenMenuGetTTNs();
gAuxParam.iCurPic=&iCurPic;
gAuxParam.iTotalPic=&iTotalPic;
gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
}
else
MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
return;
default:
break;
}
}
//<-- Gordon
#endif //MPLAYER_ENABLE
}
void SlideRespondTimerActive(DWORD MsgInput)
{
int PlaceHolder;
ANGLEINFO AngleInfo; //30124-05sd
WORD Ratio,guimode;
switch (MsgInput)
{
case C_PLAYMODEGUI_TIMER:
ClearRectArea(gui_hdc, GUITYPE_PLAYMODEGUI);
if(g_UiCrntSubFunc!=UI_SUBFUNC_VOLUM)
RecoverPlaymodegui();
if (TrayIsOutOfFP())
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -