⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmp_show.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	BOOL			flag = TRUE;
	GetScanControlState( &scan );

	if(notice_type == MMP_NOTICE_PLAY)
	{
		if(scan.speed != PM_SPEED_X1)
			return FALSE;
		
		if(gpstMmp_ctrl->epstBg_play->ecRepeat_ab == REPEAT_SUB_B)
			return FALSE;
	}
	
	return flag;
}

/******************************************************************************
 * Function name  	: MmpShowNoticeString 
 * Arguments      	:  
 *     IN        	  MmpNoticeType_et notice_type, char *string
 *				
 *     OUT       
 *     I/O       
 * Return         	:  VOID
 *					 
 * By             	:  Qian liping 060531
 * Description    	:  
 * Revision       	:  1.1
 ******************************************************************************
 */
VOID MmpShowNoticeString(MmpNoticeType_et notice_type, char *string)
{
	SetupDisplay_t 	display;
	UCHAR			str[MAX_SUPPORT_DYNAMIC_LENGTH];

	// Return to normal info2. 
	if( gOSD_state.etExp_state.etInfo2 != EXPLORER_MODE_INFO2NORMAL )
	{
		MmpHandleInfo2(  1, TIMER_DISABLE);	
		MmpShowExploreInfo2(OSD_CTRL_EXPLORE_INFO2NORMAL);	
	}
	
	//Reset notice timer first.
	OsdMmpNoticeTimerSet( 1, TIMER_DISABLE );
	
	//Erase warning icon and reset warn timer. // Qian liping 060920: bug fix 682
	if(MIX_GetGraphicEn( SH_CANV2 )==TRUE && gOSD_state.etCur_icon == ICON_WARNING)
	{
		OsdWarnTimerSet(1, TIMER_DISABLE);
		SH_GfxShowCanvas(SH_CANV2,FALSE );
	}
	
#if _APP_CAP_OSD_ENSURE_MESSAGE
	if( MIX_GetGraphicEn( SH_CANV2 ) == TRUE && gOSD_state.etCur_icon != ICON_VOLUME )
		SH_GfxShowCanvas(SH_CANV2,FALSE );
	
	if( gOSD_state.etCur_icon == ICON_VIDEOMODE_ENSURE || // Qian liping 060808
		gOSD_state.etCur_icon == ICON_NP_ENSURE)
	{
		gOSD_state.etCur_icon = ICON_KEEP ;
	}
#endif

	if(!MmpShowNoticeDisp(notice_type))
		goto JUDGE_ICON_KEEP;
		
	SetupInfoGetMenuDisplay( &display ); 
	SetMmpNoticeType(notice_type);	

	
	/* Copy the string for notice text */
	switch(notice_type) 
	{
		case MMP_NOTICE_PLAY:				
			SetMmpNoticeString((char *)gpPlay[MENU_LANG]);
			break;
			
		case MMP_NOTICE_PAUSE:
			SetMmpNoticeString((char *)gpPause[MENU_LANG]);
			break;

		case MMP_NOTICE_STOP:
			SetMmpNoticeString((char *)gpStop[MENU_LANG]);
			break;

		case MMP_NOTICE_RESUME_STOP:
			SetMmpNoticeString((char *)gpResumestop[MENU_LANG]);
			break;		
			
		case MMP_NOTICE_SKIP_R:
			SetMmpNoticeString((char *)gpSkip[MENU_LANG]);
			break;
		case MMP_NOTICE_SKIP_F:
			SetMmpNoticeString((char *)gpNext[MENU_LANG]);
			break;

		case MMP_NOTICE_DECODE:
			SetMmpNoticeString((char *)gpDecode[MENU_LANG]);
			break;
				
		case MMP_NOTICE_NP:
			switch (display.tv_system)
			{
				case SET_COLOR_AUTO:
					SetMmpNoticeString("AUTO" );
					break;
				case SET_COLOR_NTSC:
					SetMmpNoticeString( "NTSC" );
					break;
				case SET_COLOR_PAL:
					SetMmpNoticeString( "PAL" );
					break;
#if _COP_TV_PAL60					
				case SET_COLOR_PAL60:
					SetMmpNoticeString("PAL60" );
					break;
#endif
#if _COP_TV_PALM
				case SET_COLOR_PALM:
					SetMmpNoticeString("PALM" );
					break;
#endif					
#if _COP_TV_PALN
				case SET_COLOR_PALN:
					SetMmpNoticeString("PALN" );
					break;
#endif	
			}				
			break;

#if _APP_CAP_KEY_USE_VIDEO_OUT_CHANGE
		case MMP_NOTICE_VIDEOMODE:
			switch(display.vout)
			{
#if _COP_VIDEO_SVIDEO
				case SET_VOUT_SVIDEO:
					SetMmpNoticeString("S-VIDEO" );
					break;
#endif
#if _COP_VIDEO_YPBPR
				case SET_VOUT_YPBPR:
					SetMmpNoticeString("YPbPr" );
					break;
#endif
#if _COP_VIDEO_SUB_VGA
				case SET_VOUT_VGA:
					SetMmpNoticeString("VGA" );
					break;
#endif
#if _COP_VIDEO_SUB_RGB
				case SET_VOUT_RGB:
					SetMmpNoticeString("RGB" );
					break;
#endif
#if _COP_VIDEO_SCART
				case SET_VOUT_SCART:
					SetMmpNoticeString("SCART");
					break;
#endif
#if _COP_VIDEO_YUV
				case SET_VOUT_YUV:
					SetMmpNoticeString("YUV");
					break;
#endif
			}
			break;

#endif/*(_APP_CAP_KEY_USE_VIDEO_OUT_CHANGE*/
#if _APP_CAP_KEY_USE_VIDEO_SCAN_CHANGE
		case MMP_NOTICE_VIDEOSCAN:
			if( display.scan == SET_SCAN_INT)
			{
				SetMmpNoticeString((NCHAR*)gDsp_scan[MENU_LANG][0] );
				
			} else {
				SetMmpNoticeString((NCHAR*)gDsp_scan[MENU_LANG][1] );
			}	
			break;

#endif	/* _APP_CAP_KEY_USE_VIDEO_SCAN_CHANGE */

#if !_APP_CAP_FUNC_MMP_PARSE_ERROR_SKIP
		case MMP_NOTICE_INVALID_FILE:		//(weilf)20060530
			SetMmpNoticeString((NCHAR*)gInvalidFile_string[MENU_LANG] );
			break;
#endif

#if _APP_CAP_OSD_MMP_MUTE_IN_FRONT
		case MMP_NOTICE_MUTE: 
			SetMmpNoticeString((NCHAR*)gpMute[MENU_LANG] );
			break;
			
		case MMP_NOTICE_MUTEOFF: 
			sprintf((char*)str, "%s %s" , gpMute[MENU_LANG] , gpOff[MENU_LANG]);
			SetMmpNoticeString((NCHAR*)str );
			break;
#endif/*_APP_CAP_OSD_MMP_MUTE_IN_FRONT */

		case MMP_NOTICE_DEFAULT:
JUDGE_ICON_KEEP:		
			MmpShowNoticeStringJudge();
			break;

	
		default:	
			SetMmpNoticeString((char *)string);
			break;
			
	}
	/*Get the Notice Icon */		
	MmpShowNoticeIcon();
	
	OSD_ChangeExplore(OSD_CTRL_EXPLORE_UPDATE_NOTICE, NULL, SYS_NO_WAIT);

}	

#if _APP_CAP_OSD_SUBTITLE_CONCURRENT_DISPLAY		//(weilf)20060221
/******************************************************************************
 * Function name  : MmpClearDivxSubtitle 
 * Arguments      :  
 *     IN        
 *			VOID
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Weilifeng
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpClearDivxSubtitle(VOID)
{
	//if(SH_PAR_GetExSubtitleMode())	// cydrain 20060524
	{
		SCRT_Ex_DisplayOff();	// cydrain 20060531, let OSD don't show subtitle.
		SH_GfxShowCanvas(SH_CANV3, FALSE);	
		gMmpSubtitleShown_flag = FALSE;	// cydrain 20060524
	}
}	
#endif	//_APP_CAP_OSD_SUBTITLE_CONCURRENT_DISPLAY

#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
/******************************************************************************
 * Function name  : MmpShowDivxCursorIcon
 * Arguments      :  
 *     IN        
 *			
 *     OUT       
 *     I/O       
 * Return         :  
 *			
 * By             : 	Weilifeng
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowVideoCursorIcon(BYTE2 Icon_type)
{
	OSD_SetIconDisplay(Icon_type, NULL, SYS_NO_WAIT);	
}	
#endif//_API_CAP_GLB_MPVD_FRAME_MODE

/******************************************************************************
 * Function name  : MmpShowUpdateFolderCursor
 * Arguments      :  
 *     IN        
 *			BYTE2 old_folder_index, BYTE2 new_folder_index
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowUpdateFolderCursor(BYTE2 old_folder_index, BYTE2 new_folder_index)
{
	OsdCtrl_st ctrl;
	
	ctrl.p.sub.value1 = old_folder_index;
	ctrl.p.sub.value2 = new_folder_index;	
	OSD_ChangeExplore(OSD_CTRL_UPDATE_FOLDER_CURSOR, &ctrl, SYS_WAIT);
}	

/******************************************************************************
 * Function name  : MmpShowUpdateFolderSel
 * Arguments      :  
 *     IN        
 *			BYTE2 new_folder_index
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowUpdateFolderSel(BYTE2 old_folder_index, BYTE2 new_folder_index)
{
	OsdCtrl_st ctrl;
	
	ctrl.p.sub.value1 = old_folder_index;
	ctrl.p.sub.value2 = new_folder_index;	
	OSD_ChangeExplore(OSD_CTRL_UPDATE_FOLDER_SEL, &ctrl, SYS_WAIT);
}	

/******************************************************************************
 * Function name  : MmpShowUpdateTypeSelect
 * Arguments      :  
 *     IN        
 *			MmpFileType_et old_type, MmpFileType_et new_type
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowUpdateTypeSelect(MmpFileType_et old_type, MmpFileType_et new_type)
{	
#if _APP_CAP_FUNC_JPEG_PLAY	
	OsdCtrl_st ctrl;
	
	ctrl.p.sub.value1 = old_type;
	ctrl.p.sub.value2 =   new_type;	
	OSD_ChangeExplore(OSD_CTRL_UPDATE_TYPE_SEL, &ctrl, SYS_WAIT);
#endif /* _APP_CAP_FUNC_JPEG_PLAY */ 	
}

/******************************************************************************
 * Function name  : MmpShowNotAvail 
 * Arguments      :  
 *     IN        
 *			VOID
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowNotAvail(VOID)
{
	OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
}	

/******************************************************************************
 * Function name  : MmpClearOsd 
 * Arguments      :  
 *     IN        
 *			VOID
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpClearOsd(VOID)
{
	OSD_SetMainDisplay(DISPLAY_OFF, SYS_WAIT);
}	


/******************************************************************************
 * Function name  : MmpShowUpdateTime
 * Arguments      :  
 *     IN        
 *			VOID
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */ 
VOID MmpShowUpdateTime(VOID)
{
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060117
	OSD_State_st *osd_state = OSD_GetState();
#endif

	if(GetMmpFileType()== MMP_AUDIO_FILE || 
		(GetMmpFileType()==MMP_VIDEO_FILE && osd_state->etCur_dsp == DISPLAY_EXPLORER)
		&&GetMainState()!= MAIN_STOP) //azureming@060406//(weilf)20060724:fix 568
		OSD_ChangeExplore(OSD_CTRL_UPDATE_TIME, NULL, SYS_NO_WAIT);
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	//gaoping 20060103
	else if((GetMmpFileType()== MMP_VIDEO_FILE) && (osd_state->etCur_dsp == DISPLAY_INFO) && 
		(((osd_state->etInfo_dsp == INFO_FIRST) && (osd_state->etInfo_sub != INFO_SUB_VTIME)) 
#if _APP_CAP_FUNC_REMAIN_TIME		
		|| osd_state->etInfo_dsp == INFO_THIRD
#endif
		))		// cydrain 20060120
	{
		OsdCtrl_st	ctrl;

		ctrl.p.time.hour	= gpstMmp_ctrl->estPb_time.hour;
		ctrl.p.time.min		= gpstMmp_ctrl->estPb_time.min;
		ctrl.p.time.sec		= gpstMmp_ctrl->estPb_time.sec;

		OSD_TimerUpdate(OSD_CTRL_UPDATE_TIME, &ctrl, SYS_NO_WAIT);
	}
#endif
//	SysPrintf("\n\n\t *** UPDATE_TIME msg send! \n");
}	

VOID MmpShowSmiTitle(BOOL IsExSubtitle)
{
#if _APP_CAP_MMP_SUPPORT_EXT_SUBTITLE
	if(IsExSubtitle==TRUE && dispGetPlayState() == PLAY_NORMAL) //problem 392:exsubtitle update must wait until video stable
	{
		OSD_ChangeDisplay(OSD_CTRL_UPDATE_SMI_SCRIPT, NULL, SYS_NO_WAIT);	//(weilf)20060408
	}
#endif
}	

/******************************************************************************
 * Function name  : MmpShowFileInfo
 * Arguments      :  
 *     IN        
 *			VOID
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : azureming@060530
 * Description    :  update file info when loading video file.
 * Revision       :  
 ******************************************************************************
 */ 
VOID MmpShowFileInfo(VOID)
{
/*this function is kept for spec. adjustment. it can display some 
	file info during loading process(parse video file header)...
*/
#if 0 
	OSD_State_st *osd_state;
	osd_state = OSD_GetState();

	if(osd_state->etCur_dsp == DISPLAY_INFO && osd_state->etInfo_dsp == INFO_FIRST)
		OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);
	else
	{
		OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT);
		OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT);
	}
#endif
}

/******************************************************************************
 * Function name  : MmpShowAlbum
 * Arguments      :  
 *     IN        
 *			BYTE2 select, BYTE1 first_draw
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -