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

📄 uiop_lib.c

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 C
📖 第 1 页 / 共 5 页
字号:
}
#endif // D_CUSTOM__UIOPLib_EZView
#endif

#ifndef D_CUSTOM__UIOPLib_Karaoke
/****************************************************************************************************
* Function	: _UIOPLib_Karaoke
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_Karaoke(void)
{
	dbg_printf(("_UIOPLib_Karaoke()\n"));
	
#ifdef EXTERNAL_KARAOKE

#ifdef D_PRESSED_AGAIN
	if( SCREENPROC_MessageIsDisplayed(MS_OP_MSG_SYS_KARAOKE))
#endif
	{
		EVENT evt = 0;
		void *param = NULL;

		if(gc_Karaoke_mode==KARAOKE_AUTO)
		{
			gc_Karaoke_mode = KARAOKE_OFF;
		}
		else
		{
			gc_Karaoke_mode++;
		}

		evt = IE_CORE_SET_KARAOKE_MODE;
		param = (void *)gc_Karaoke_mode;
		_UIOPLib_Send_Event(evt,param);
	}

		 switch(gc_Karaoke_mode)
		  {
			 case KARAOKE_ON:
			MS_SendOp(MS_OP_MSG_SYS_KARAOKE, MSG_PLAYMODE_KARAOKE_ON);
			DEC_SET_MICROPHONE_ON_OFF(MICROPHONE_ON);
			break;

			 case KARAOKE_OFF:
			  MS_SendOp(MS_OP_MSG_SYS_KARAOKE, MSG_PLAYMODE_KARAOKE_OFF);
			  DEC_SET_MICROPHONE_ON_OFF(MICROPHONE_OFF);
				  break;

			 case KARAOKE_AUTO:
			  MS_SendOp(MS_OP_MSG_SYS_KARAOKE, MSG_PLAYMODE_KARAOKE_AUTO);
			  DEC_SET_MICROPHONE_ON_OFF(MICROPHONE_OFF);
					  break;
		  }
#else
	PROHIBIT(MSG_PROHIBIT_INVALID_OPERATION);
#endif //INTERNAL_KARAOKE
	
}
#endif // D_CUSTOM__UIOPLib_Karaoke

#ifndef D_CUSTOM__UIOPLib_Shuffle
/****************************************************************************************************
* Function	: _UIOPLib_Shuffle
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_Shuffle(void)
{
	dbg_printf(("_UIOPLib_Shuffle()\n"));
	
#ifdef D_SHUFFLE_SINGLEKEY
#ifdef D_PRESSED_AGAIN
	if( SCREENPROC_MessageIsDisplayed(MS_OP_MSG_PLAYMODE_SHUFFLE))
#endif
	{
		if ( PM_IsPlaybackShuffle(PM_GetPlaybackMode()) ||
			((gcs.pstate==PST_STOP)&&(g_disc_type==DEC_DISC_TYPE_DVD_VIDEO)) )
		{
			PM_SetPlaybackMode(PM_PLAYBACK_NORMAL);
		}
		else
		{
			if ( PM_IsPBC(PM_GetPlaybackMode()) &&
				(g_disc_type==DEC_DISC_TYPE_SVCD||g_disc_type==DEC_DISC_TYPE_VCD) )
			{
				PM_SetPBC(FALSE);
			}
			PM_SetPlaybackMode(PM_PLAYBACK_SHUFFLE);
		}
		ie_send(IE_CORE_SEAMLESS_MODE_CHANGE);
	}
	MS_SendOp(MS_OP_MSG_PLAYMODE_SHUFFLE, PM_IsPlaybackShuffle(PM_GetPlaybackMode()));
#endif
}
#endif // D_CUSTOM__UIOPLib_Shuffle

#ifndef D_CUSTOM__UIOPLib_3D
/****************************************************************************************************
* Function	: _UIOPLib_3D
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_3D(void)
{
	EVENT evt = 0;
	void *param = NULL;
	WORD wSetting;

	//if more than 2 channel ADP will disable the rest ones when set 3D effect
	if(CoreAPI_IsMenuAllowed3D())
	{
		 wSetting = gtps.m3dEffect;

#ifdef D_PRESSED_AGAIN
		if( SCREENPROC_MessageIsDisplayed(MS_OP_MSG_SYS_3D) )
#endif
		{
			evt = IE_CORE_UPDATE_PS;
			wSetting = ( (wSetting == EFFECT3D_SETTING_ON) ? EFFECT3D_SETTING_OFF : EFFECT3D_SETTING_ON );
			param = (void *)((((DWORD)PS_UPDATE_3DEFFECT_SETTING)<<16) + (DWORD)wSetting);
			_UIOPLib_Send_Event(evt,param);
		}

		MS_SendOp(MS_OP_MSG_SYS_3D, wSetting);
		
	}
	else
	{
		PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
	}
}
#endif // D_CUSTOM__UIOPLib_3D

#ifndef D_CUSTOM__UIOPLib_LR
/****************************************************************************************************
* Function	: _UIOPLib_LR
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_LR(void)
{
	DWORD d_Cmd;
	MSG_SYS_SPEAKER_MODE_PARAM	eSpeakerMode = MSG_SYS_SPEAKER_INVALID;

	dbg_printf(("_UIOPLib_LR()\n"));

	if (gcst.mMute)
	{
		PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
		return;
	}
	else if( ((DEC_DISC_TYPE_DVD_VIDEO == g_disc_type)
#ifdef DVD_AUDIO_SUPPORT
		||(DEC_DISC_TYPE_DVD_AUDIO == g_disc_type) 
#endif
		)
#ifdef D_KARAOKE_LR_PARAM_UPDATE
        && ( !CoreAPI_IsKaraokeOn() )
#endif // D_KARAOKE_LR_PARAM_UPDATE
		)
	{
		PROHIBIT(MSG_PROHIBIT_NOT_SUPPORTED_BY_DISC);
		return;
	}
	else if (
#ifndef D_KARAOKE_LR_PARAM_UPDATE
#ifdef INTERNAL_KARAOKE
		(KARAOKE_SETTING_ON == gtps.mKaraoke)		||
#endif
#endif // D_KARAOKE_LR_PARAM_UPDATE
#ifdef NOT_ALLOW_LR_ON_2CH
		( ANALOG_AUDIO_2CH !=  PS_GET_ANALOG_AUDIO_SETTING())
#else   // NOT_ALLOW_LR_ON_2CH
   		(( ANALOG_AUDIO_2CH !=  PS_GET_ANALOG_AUDIO_SETTING())&& KARAOKE_SETTING_OFF == gtps.mKaraoke )
#endif  // NOT_ALLOW_LR_ON_2CH
		)
	{
		PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
		return;
	}

#ifdef D_PRESSED_AGAIN
	if( SCREENPROC_MessageIsDisplayed(MS_OP_MSG_SYS_SPEAKER_MODE))
#endif
	{
#ifdef D_KARAOKE_LR_PARAM_UPDATE        
    if(  CoreAPI_IsKaraokeOn() )
    {
        switch(gtps.mKarLR)
		{
			case KARAOKE_LR_STEREO:
                d_Cmd = (((DWORD)PS_UPDATE_KARAOKE_LR_MODE)<<16) + (DWORD) KARAOKE_LR_LEFT;                    
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				eSpeakerMode = MSG_SYS_SPEAKER_LEFT;
				break;

			case KARAOKE_LR_LEFT:
				d_Cmd = (((DWORD)PS_UPDATE_KARAOKE_LR_MODE)<<16) + (DWORD) KARAOKE_LR_RIGHT;                                        
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				eSpeakerMode = MSG_SYS_SPEAKER_RIGHT;
				break;

			case KARAOKE_LR_RIGHT:
				d_Cmd = (((DWORD)PS_UPDATE_KARAOKE_LR_MODE)<<16) + (DWORD) KARAOKE_LR_MIX;
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
  				eSpeakerMode = MSG_SYS_SPEAKER_MIX;
			break;

			case KARAOKE_LR_MIX:
         	d_Cmd = (((DWORD)PS_UPDATE_KARAOKE_LR_MODE)<<16) + (DWORD) KARAOKE_LR_STEREO;
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				eSpeakerMode = MSG_SYS_SPEAKER_STEREO;
				break;
		}
    }// karaoke on
    else
#endif // D_KARAOKE_LR_PARAM_UPDATE
    {
		switch(gtps.mDMM)
		{
			case DMM_SETTING_NORMAL:
				d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_LEFT_ONLY;
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				if(PARTNER_SETTING_OFF != gtps.mPartner)
				{
					d_Cmd = (((DWORD)PS_UPDATE_PARTNER_SETTING)<<16)+(DWORD) PARTNER_SETTING_OFF;
					ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				}
				eSpeakerMode = MSG_SYS_SPEAKER_LEFT;
				break;

			case DMM_SETTING_LEFT_ONLY:
				d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_RIGHT_ONLY;
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				if( (KARAOKE_SETTING_ON == gtps.mKaraoke) && (PARTNER_SETTING_ON == gtps.mPartner) )
				{
					d_Cmd=(DWORD) PARTNER_SETTING_ON;
					eSpeakerMode = MSG_SYS_SPEAKER_PARTNER_RIGHT;
				}
				else
				{
					d_Cmd = (DWORD) PARTNER_SETTING_OFF;
					eSpeakerMode = MSG_SYS_SPEAKER_RIGHT;
				}
				d_Cmd += (((DWORD)PS_UPDATE_PARTNER_SETTING)<<16);
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				break;

			case DMM_SETTING_RIGHT_ONLY:
				if( (KARAOKE_SETTING_ON == gtps.mKaraoke)&&(PARTNER_SETTING_OFF == gtps.mPartner) )
				{
					d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_LEFT_ONLY;
					ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
					d_Cmd = (DWORD) PARTNER_SETTING_ON;
					eSpeakerMode = MSG_SYS_SPEAKER_PARTNER_LEFT;
				}
				else
				{
					if(PARTNER_SETTING_ON == gtps.mPartner)
					{
						d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_NORMAL;
						eSpeakerMode = MSG_SYS_SPEAKER_STEREO;
					}
					else
					{
						d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_MIX;
						eSpeakerMode = MSG_SYS_SPEAKER_MIX;
					}
					ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
					d_Cmd=(DWORD) PARTNER_SETTING_OFF;
				}
				d_Cmd += (((DWORD)PS_UPDATE_PARTNER_SETTING)<<16);
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				break;

			case DMM_SETTING_MIX:
				d_Cmd = (((DWORD)PS_UPDATE_DMM_SETTING)<<16) + (DWORD) DMM_SETTING_NORMAL;
				ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				if(PARTNER_SETTING_OFF != gtps.mPartner)
				{
					d_Cmd= (((DWORD)PS_UPDATE_PARTNER_SETTING)<<16)+(DWORD) PARTNER_SETTING_OFF;
					ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
				}
				eSpeakerMode = MSG_SYS_SPEAKER_STEREO;
				break;
		 }
        } // not karaoke
		gtps.mMute = MUTE_SETTING_OFF;
	}
#ifdef D_PRESSED_AGAIN
	else
	{
		switch(gtps.mDMM)
		{
			case DMM_SETTING_NORMAL:
				eSpeakerMode = MSG_SYS_SPEAKER_STEREO;
				break;
			case DMM_SETTING_LEFT_ONLY:
				if( (KARAOKE_SETTING_ON == gtps.mKaraoke) && (PARTNER_SETTING_ON == gtps.mPartner) )
				{
					eSpeakerMode = MSG_SYS_SPEAKER_PARTNER_LEFT;
				}
				else
				{
					eSpeakerMode = MSG_SYS_SPEAKER_LEFT;
				}
				break;
			case DMM_SETTING_RIGHT_ONLY:
				if( (KARAOKE_SETTING_ON == gtps.mKaraoke) && (PARTNER_SETTING_ON == gtps.mPartner) )
				{
					eSpeakerMode = MSG_SYS_SPEAKER_PARTNER_RIGHT;
				}
				else
				{
					eSpeakerMode = MSG_SYS_SPEAKER_RIGHT;
				}
				break;
			case DMM_SETTING_MIX:
				eSpeakerMode = MSG_SYS_SPEAKER_MIX;
				break;
		}
	}
#endif

	if(eSpeakerMode != MSG_SYS_SPEAKER_INVALID)
	{
		MS_SendOp(MS_OP_MSG_SYS_SPEAKER_MODE, (UINT32)eSpeakerMode);
	}

	// END
}
#endif // D_CUSTOM__UIOPLib_LR

#ifndef D_CUSTOM__UIOPLib_0
/****************************************************************************************************
* Function	: _UIOPLib_0
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_0(void)
{
	_UIOPLib_NumberSelect(0);
}
#endif // D_CUSTOM__UIOPLib_0

#ifndef D_CUSTOM__UIOPLib_1
static void _UIOPLib_1(void)
{
	_UIOPLib_NumberSelect(1);
}
#endif // D_CUSTOM__UIOPLib_1

#ifndef D_CUSTOM__UIOPLib_2
static void _UIOPLib_2(void)
{
	_UIOPLib_NumberSelect(2);
}
#endif // D_CUSTOM__UIOPLib_2

#ifndef D_CUSTOM__UIOPLib_3
static void _UIOPLib_3(void)
{
	_UIOPLib_NumberSelect(3);
}
#endif // D_CUSTOM__UIOPLib_3

#ifndef D_CUSTOM__UIOPLib_4
static void _UIOPLib_4(void)
{
	_UIOPLib_NumberSelect(4);
}
#endif // D_CUSTOM__UIOPLib_4

#ifndef D_CUSTOM__UIOPLib_5
static void _UIOPLib_5(void)
{
	_UIOPLib_NumberSelect(5);
}
#endif // D_CUSTOM__UIOPLib_5

#ifndef D_CUSTOM__UIOPLib_6
static void _UIOPLib_6(void)
{
	_UIOPLib_NumberSelect(6);
}
#endif // D_CUSTOM__UIOPLib_6

#ifndef D_CUSTOM__UIOPLib_7
static void _UIOPLib_7(void)
{
	_UIOPLib_NumberSelect(7);
}
#endif // D_CUSTOM__UIOPLib_7

#ifndef D_CUSTOM__UIOPLib_8
static void _UIOPLib_8(void)
{
	_UIOPLib_NumberSelect(8);
}
#endif // D_CUSTOM__UIOPLib_8

#ifndef D_CUSTOM__UIOPLib_9
static void _UIOPLib_9(void)
{
	_UIOPLib_NumberSelect(9);
}
#endif // D_CUSTOM__UIOPLib_9

#ifndef D_CUSTOM__UIOPLib_10P
/****************************************************************************************************
* Function	: _UIOPLib_10P
*
* Input		: 
*
* Output		: None
*
* Return		: None
*
* Description	: Executes user requested operation and updates the UI messages accordingly
*	
****************************************************************************************************/
static void _UIOPLib_10P(void)
{
//	dbg_printf(("_UIOPLib_10P()\n"));
	
#ifdef D_10P_KEY
	EVENT evt = 0;
	void *param = NULL;
	UINT8 cBuffOffset;
	UINT16 str[6];

	if(((g_disc_type == DEC_DISC_TYPE_SVCD)||(g_disc_type == DEC_DISC_TYPE_VCD))&&
		PM_IsPBC(PM_GetPlaybackMode())&&(PlayList == (g_pSVCDNav->m_CurrPosition).ListType))
	{
		PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
		return;
	}

	if (!PM_IsPlaybackNormal(PM_GetPlaybackMode()))
	{
		PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
		return;
	}

	// Add 10P key process

	if(	!b_current_10PKey &&
		!g_ui_current_number)
	{
		b_current_10PKey = TRUE;
	}

	if(b_current_10PKey)
	{
	  int Max_Button = 0;
//modified by wl040506	  
		if ((g_disc_type == DEC_DISC_TYPE_VCD) 
			|| (g_disc_type

⌨️ 快捷键说明

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