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

📄 guicommands.cpp.svn-base

📁 sigmadesign smp8623 gui source code ,bingo
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
		*pCommandId = SET_HDMI_720P59_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_720P59_COMMAND;		break;	case EMhwlibTVStandard_HDMI_1080i59:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_1080I59_COMMAND\n"));		*pCommandId = SET_HDMI_1080I59_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_1080I59_COMMAND;		break;	case EMhwlibTVStandard_HDMI_1080p59:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_1080P59_COMMAND\n"));		*pCommandId = SET_HDMI_1080P59_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_1080P59_COMMAND;		break;	case EMhwlibTVStandard_HDMI_640x480p60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_640x480p60_COMMAND\n"));		*pCommandId = SET_HDMI_640x480p60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_640x480p60_COMMAND;		break;	case EMhwlibTVStandard_HDMI_480i60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_480I60_COMMAND\n"));		*pCommandId = SET_HDMI_480I60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_480I60_COMMAND;		break;	case EMhwlibTVStandard_HDMI_480p60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_480P60_COMMAND\n"));		*pCommandId = SET_HDMI_480P60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_480P60_COMMAND;		break;	case EMhwlibTVStandard_HDMI_720p60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_720P60_COMMAND\n"));		*pCommandId = SET_HDMI_720P60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_720P60_COMMAND;		break;	case EMhwlibTVStandard_HDMI_1080i60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_1080I60_COMMAND\n"));		*pCommandId = SET_HDMI_1080I60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_1080I60_COMMAND;		break;	case EMhwlibTVStandard_HDMI_1080p60:		RMDBGLOG((GUIDBG, "Commmand ID: SET_HDMI_1080P60_COMMAND\n"));		*pCommandId = SET_HDMI_1080P60_COMMAND;		*pHDDVIHdmiOut = SET_HDMI_1080P60_COMMAND;		break;	default:		RMDBGLOG((GUIDBG, "Commmand ID: UNKNOWN\n"));		*pCommandId = SET_TV_NTSC_CSVIDEO_COMMAND;		*pCompositeOut = SET_TV_NTSC_CSVIDEO_COMMAND;		return RM_ERROR;	}	return RM_OK;}RMstatus RMcuracaoGui::SetTVOut(RMuint32 commandId){	RMuint32 standard;	enum DCCVideoConnector connector;	enum EMhwlibColorSpace color_space;	RMstatus status;	if (m_context->decoder == 0)		return RM_ERROR;	status = GetTvFormatFromCommand(commandId, &standard, &connector, &color_space);	if (RMFAILED(status))	{ // If fails, fall back on SD		commandId = m_settings.tvOut;		status = GetTvFormatFromCommand(commandId, &standard, &connector, &color_space);	}	if (commandId == SET_HDMI_AUTO_ON_COMMAND)	{		status = m_context->decoder->SetDVIHDMIAutoEDID(TRUE);		m_settings.forceNoHDMI = FALSE;		m_pnav->SetMenuItemText(SET_HDMI_AUTO_ON_COMMAND);#ifdef GUI_REFID_3		if(m_settings.tvStandard == TV_NTSC_COMMAND)		m_pnav->UpdateMenuLink("TvModeMenuItem", "HDMINtscVideoModePopup");		else		m_pnav->UpdateMenuLink("TvModeMenuItem", "HDMIPalVideoModePopup");		// Update TV Mode to "Auto"		m_pnav->SetMenuItemTextByName("TvModeMenuItem", "Auto");		m_pnav->UpdateMenuState("TvModeMenuItem", TRUE, FALSE);		status = RM_OK;#endif	}	else	{#ifdef GUI_REFID_2		RMbool TvModeEnabled = TRUE;		//Check for output connection change		RMascii menuName[MAX_GUI_TEXT_VALUE];		fprintf(stderr,"Checking connector. Active connector: %ld\n", m_settings.activeVideoOutput);		switch(m_settings.activeVideoOutput)		{			case SET_NTSCSD_MODE_COMMAND:			case SET_PALSD_MODE_COMMAND:			RMCopyAscii(menuName, "SDVideoModePopup");			TvModeEnabled = FALSE;			break;			case SET_HDCOMPONENT60_MODE_COMMAND:			RMCopyAscii(menuName, "ComponentNtscVideoModePopup");			break;			case SET_HDCOMPONENT50_MODE_COMMAND:			RMCopyAscii(menuName, "ComponentPalVideoModePopup");			break;			case SET_NTSCSCARTRGB_MODE_COMMAND:			case SET_PALSCARTRGB_MODE_COMMAND:			RMCopyAscii(menuName, "SCARTVideoModePopup");			TvModeEnabled = FALSE;			break;			case SET_HDMI59_MODE_COMMAND:			RMCopyAscii(menuName, "HDMINtscVideoModePopup");			break;			case SET_HDMI50_MODE_COMMAND:			RMCopyAscii(menuName, "HDMIPalVideoModePopup");			break;			case SET_HDDVI60_MODE_COMMAND:			RMCopyAscii(menuName, "DVINtscVideoModePopup");			break;			case SET_HDDVI50_MODE_COMMAND:			RMCopyAscii(menuName, "DVIPalVideoModePopup");			break;			default:			RMCopyAscii(menuName, "");			fprintf(stderr,"****ERROR****  Active connector not found.\n");			break;		}		if(!RMCompareAscii(menuName, ""))		{			m_pnav->UpdateMenuLink("TvModeMenuItem", menuName);		}		if(!TvModeEnabled)m_pnav->SetMenuItemText(SET_TV_NTSC_CSVIDEO_COMMAND); //Display Default SD text		m_pnav->UpdateMenuState("TvModeMenuItem", TvModeEnabled, FALSE);		// if on hdmi and auto is disabled, default to lowest hdmi resolutions		if(commandId == SET_HDMI_AUTO_OFF_COMMAND)		{			// set auto HDMI to disabled since user made manual selection			m_settings.hdDVIHdmi = SET_HDMI_AUTO_OFF_COMMAND;			m_pnav->SetMenuItemText(SET_HDMI_AUTO_OFF_COMMAND);			m_settings.forceNoHDMI = TRUE;			if(m_settings.activeVideoOutput == SET_HDMI59_MODE_COMMAND)			commandId = SET_HDMI_480P59_COMMAND;			else if(m_settings.activeVideoOutput == SET_HDMI50_MODE_COMMAND)			commandId = SET_HDMI_576P50_COMMAND;			if(commandId != SET_HDMI_AUTO_OFF_COMMAND)			GetTvFormatFromCommand(commandId, &standard, &connector, &color_space);			else			{				m_context->decoder->SetDVIHDMIAutoEDID(FALSE); // do not use auto EDID				AdjustVideoOutSettings();				return RM_ERROR; // no actual change			}		}#endif		RMDBGLOG((ENABLE, "************ Setting Player preferred output to standard = %s, connector = %s and color_space = %s\n",						StandardStr(standard), ConnectorStr(connector), ColorSpaceStr(color_space)));		// why print it twice?		//		fprintf(stderr, "************ Setting Player preferred output to standard = %s, connector = %s and color_space = %s\n",		//			  StandardStr(standard), ConnectorStr(connector), ColorSpaceStr(color_space));#ifndef GUI_REFID_3		m_settings.forceNoHDMI = TRUE;		//		m_settings.hdDVIHdmi = SET_HDMI_AUTO_OFF_COMMAND;#endif		m_context->decoder->SetDVIHDMIAutoEDID(FALSE); // do not use auto EDID		status = m_context->decoder->SetTVOut(standard, connector, color_space, TRUE);	}	if (RMSUCCEEDED(status))	{		m_videoOut = commandId;		AdjustVideoOutSettings();		if (m_protectType == RMCssProtect)		{			m_context->decoder->UpdateOutputProtection(RMCssProtect, 1);			HandleCSSProtection(); // may or may not kick in		}	}	return status;}RMstatus RMcuracaoGui::ConfirmResolutionChange(RMuint32 popupId, RMuint32 previousMode, RMuint32 prevStandard){	RMstatus status = RM_ERROR;	if (ISPOPUP(popupId))	{		status = ShowPopup(popupId, TRUE);		if (RMFAILED(status))			return status;	}	RMremoteKey c = RM_HW_TIMEOUT;	SetTimer(TIMER_VIDEOOUTCHANGE);	m_previousVideoOut = previousMode;	m_previousTVStandard = prevStandard;	while (g_timer[TIMER_VIDEOOUTCHANGE])	{		c = RMFremoteWaitSymbol(m_context->rh, m_context->remoteTimeout);		if (c > 0)		{			if (m_context->needToExit)				return RM_ERROR;			if (c == RM_HW_SELECT)			{				KillTimer(TIMER_VIDEOOUTCHANGE);				break;			}			else if (c == RM_HW_LEFT || c == RM_HW_RIGHT)			{				SetTimer(TIMER_VIDEOOUTCHANGE);				SendKey(c);			}		}	}	if (c == RM_HW_SELECT)	{		status = HandleActivation();	}	return status;}// this command sets regionRMstatus RMcuracaoGui::SetDvdRegion(typeCommandInfo *command){	m_settings.dvdRegion = command->id - SET_REGION_0_COMMAND;	if (command->validLink)		m_pnav->ShowObjectValue(command->linkId);	return RM_OK;}RMstatus RMcuracaoGui::SetMacrovision(typeCommandInfo *command){	if (command->id == SET_MACROVISION_ON_COMMAND)	{		m_settings.macrovisionOn = TRUE;	}	else if (command->id == SET_MACROVISION_OFF_COMMAND)	{		m_settings.macrovisionOn = FALSE;	}	else		return RM_ERROR;	if (command->validLink == TRUE)	{		m_pnav->ShowObjectValue(command->linkId);	}	return RM_OK;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RMstatus RMcuracaoGui::PlayAVFile(RMascii* path){	RMstatus status = RM_ERROR;	// send it to file player	if (m_context->player != 0)	{		RMDBGLOG((ENABLE,">>>>about to open %s\n", path));		//		if(m_isoPlayList.active)		//			m_pnav->DisplayEvent(PLAY_EVENT, TRUE, TIMER_NONE, m_eventText, PLAY_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);		status = m_context->player->Open(path);		if (RMFAILED(status))		{			RMDBGLOG((ENABLE,">>>>open %s failed\n", path));			if (m_MediaList.active)				return PlayNextMediaFile();			else if (m_isoPlayList.active)			{				return PlayNextFile();			}		}	}	return status;}RMstatus RMcuracaoGui::StopAVFile(){	RMstatus status = RM_ERROR;	// send close to file player	if (m_context->player != 0)	{		status = m_context->player->Close();	}	return status;}// Play through gfxRMstatus RMcuracaoGui::PlayPicture(RMascii* path){	RMstatus status = RM_ERROR;	RMDBGLOG((GUIDBG,"PlayPicture(): %s\n", path));	if (!m_drawingPicture)	{		RMuint32 delay = (m_pnav->WMVHDOn() ? 0 : LOADINGFILE_DELAY);		m_drawingPicture = TRUE;		status = m_pnav->DisplayPicture(path, SCALE_FULLSCREEN, delay);		m_drawingPicture = FALSE;		m_playMode = STATE_PLAY;		m_scrollOn = FALSE;	}	else		return PlayPicture(path);	if (m_pnav->WMVHDOn())		return status;	if (RMSUCCEEDED(status))	{		if (m_isoPlayList.usetimeout == TRUE)			SetTimer(TIMER_SLIDESHOW);	}	else	{		HandleEvent(LOAD_PICTURE_ERROR_EVENT);	}	SetfipPlayMode();	return RM_OK;}RMstatus RMcuracaoGui::PlaySelectedFile(RMuint16 isoitem){	RMint32 next = -1; // play list index of given item	typeIsoPath path;	RMstatus status;	// find index	for (RMuint32 i = 0; i < m_isoPlayList.numItems; i++)	{		if (isoitem == m_isoPlayList.isoDataIndex[i])		{			next = i;			break;		}	}	if (next == -1)		return RM_ERROR;	m_isoPlayList.numCurrentItem = next;	HandleEvent(LOADINGFILE_EVENT);	// user may have stopped playback right away	if (m_isoPlayList.active == FALSE)		return RM_OK;	if (RMFAILED(m_pnav->GetFilePath(m_isoPlayList.isoDataIndex[next], path, sizeof(typeIsoPath))))		return RM_ERROR;	RMguiFileType prevFileType = m_isoPlayList.filetype;	m_isoPlayList.filetype = m_pnav->GetFileType(path);	if (m_isoPlayList.filetype == FILETYPE_PICTURE)	{		status = PlayPicture(path);	}	else	{		m_isoPlayList.previous = FALSE;		if (m_isoPlayList.repeat == REPEAT_TRACK)			HandleRepeat(FALSE);		if (prevFileType != FILETYPE_PICTURE)			StopAVFile();		status = PlayAVFile(path);#ifndef WITH_MONO		if(RMSUCCEEDED(status))		{			status = m_context->player->InterpretCommand(RM_HW_PLAY_PAUSE, NULL);		}#endif	}	return status;}RMstatus RMcuracaoGui::PlayFiles(RMascii* path, RMuint16 item){	if (!m_bTV)	{		//	RMuint32 isoitem;		RMuint32 count = 0;		RMuint32 index = 0; // play list index of given item		//	typeIsoListData isoList;		RMuint32 numItems;		RMstatus status = RM_ERROR;		//	m_isoPlayList.active = TRUE;		//	m_isoPlayList.starting = TRUE;		//	m_isoPlayList.playSingle = TRUE;		//	m_isoPlayList.filetype = m_pnav->GetFileType(path);		//	m_isoPlayList.starting = FALSE;		//	m_drawingPicture = FALSE;		//	m_pnav->ShowOsd(FALSE);		//	return PlayAVFile(path);		//	if(RMFAILED(m_pnav->GetIsoList(&isoList)))		//		return RM_ERROR;		m_isoPlayList.isoDataIndex = NULL;		//	m_isoPlayList.shuffled = NULL;		ClearIsoPlayList();		numItems = m_pnav->m_List.numItems;//isoList.hasGoUp ? isoList.numItems - 1 : isoList.numItems;		if (numItems == 0)			return RM_ERROR;		// create list if not already present		if (m_isoPlayList.isoPath == NULL)		{			m_isoPlayList.isoPath = (RMascii**) CALLOC(numItems, sizeof(RMascii*));			if (m_isoPlayList.isoPath == NULL)				return RM_ERROR;			m_isoPlayList.shuffled = (RMuint32*) CALLOC(numItems, sizeof(RMuint32));			RMMemset(m_isoPlayList.isoPath, 0, numItems * sizeof(RMascii*));			//	m_isoPlayList.isoPathShuffled = (RMascii**)CALLOC(numItems, sizeof(RMascii*));			//	if(m_isoPlayList.isoPathShuffled == NULL)			//		m_shuffleOn = FALSE;			if (m_isoPlayList.shuffled == NULL)				m_shuffleOn = FALSE;		}		RMuint16 listIndex;		m_pnav->GetObjectIndex(m_pnav->m_selectedObjectId, &listIndex);		if ((RMguiFileType) m_pnav->m_osdPages[m_pnav->m_activePageId]->lists[listIndex]->object.filetype == FILETYPE_VIDEO)		{			RMascii* where;			HTTPFile* f;			where = RMCatAscii(m_pnav->m_parser->GetUrl(),					m_pnav->m_osdPages[m_pnav->m_activePageId]->lists[listIndex]->items[item]->object.path, NULL);			f = fetchOpen(where, RM_HTTP_VERBOSE);			if (f)			{				RMuint8 buffer[256];				if (buffer)				{					RMint16 n = fetchRead(buffer, 256, f);					buffer[n] = '\0';					//printf("%s\n", (RMascii*) buffer);					//										guiListType* list = m_osdPages[m_pnav

⌨️ 快捷键说明

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