📄 ircmd.c
字号:
//huziqin removed 2006-4-19
extern int setup_IsSpkDownmixOff(void);
extern void sound_init(void);
extern void sound_init_2(void);//wanghaoying 20030910
extern void run_save_total_sel(void);
extern void run_set_variable(void);
extern void run_set_variable(void);
extern void set_default_value(void);
extern void setup_SetPScan(void);
extern void SetIDETimeOut(UINT); //wanghaoying 2003-8-12 16:08 to declaration
extern void setup_eq_display(UINT8 val);
extern void sound_set_EQ_again(void);//nono 4-7-22 18:09
#ifdef SUPPORT_HD_RESOLUTION
extern void setup_SetHD(void);
#endif
#ifdef NEWSTYLE_WINDOW
extern void browse_DrawRightItem(void);
extern void exe_show_time(void);
extern void exit_browse_func(void);
//zhaoyanhua add 2003-12-7 19:01
extern void updateAudioLanguage(void);
extern void updateSubtitle(void);
extern void updateRepeatMode(void);
extern void UpdateAngleInfo(void);
#ifdef CLEAR_KEY_IN_WINDOW //Maoyong add 2004.02.18
extern void browse_func_clear(void);
#endif
#endif
#ifdef CD_PLAYER //liweihua add 2003-8-19 20:25
extern void show_cdplayer(void);
#endif
#ifdef VIRTUAL_KEYBOARD //liweihua 2003-9-16
extern void show_virtual_keyboard(void);
extern void hl_keyboard_button(BYTE SelectID);
extern void osd_draw_virtual_keyboard(int xStart, int yStart,BYTE r);
#endif
#ifdef USE_PROLOGIC_II_KEY
//extern BYTE prologic_val;//clead 2003-8-7
void set_prologic_val(BYTE prologic_mode);
#endif
#ifdef IR_KEY_SET_VIDEO_MODE
extern void set_video_val(BYTE video_mode);
#endif//IR_KEY_SET_VIDEO_MODE
#ifdef CF_GPIO_CONTROL_COLOR
BYTE vfd_color; //wangap 20031031
#endif
#if defined(DISPLAY_REMAIN_TIME) //shawn 0227
int display_and_time=0;
BYTE display_flag = 0;
#endif
#ifdef SUPPORT_MIDI
extern int iMidiSpeed;
extern UINT16 Is_MIDI_STATE(void);
extern void osd_Clear_Region(BYTE reg, BYTE bkColor);
extern void draw_midi_bitmap_HZnew(const BYTE* pFont, int xStart, int yStart,
BYTE fontcolor, BYTE bgcolor, BYTE FigureColor, BYTE FontType,BYTE number);
extern void Disp_TopTip(UINT16 uTimeOut);
#endif
#ifdef DVD_SEQ_PLAY
extern BYTE dvd_menu_play;//wanghaoying for warning msg//terry,2002/5/2 04:02PM,new dvd play mode
#endif
#ifdef DOUBLE_TITLE//susu add 2003-8-22 9:03
extern void exe_double_title(void);
extern void exit_double_title(void);
#endif
#ifdef MINUS_VR_AUTH_PLAYBACK
extern INT8 bDVDminusVR;
#endif
#ifdef SPHE1000
extern BYTE from4189;
extern BYTE support_dvb_flag;
#endif
#ifdef DVB_SETUP
extern void SP_SetVolume(UINT8 volume);
#endif
#ifdef EASTWIN
extern UINT8 bINVERTER_POWER , bAMP_IS_ON, bPOWER_ON_MUTE_EXE;
#endif
/*Here deleted by xyy 2004-8-5*/
#if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
extern int rep_ir_times;
extern BYTE key_data_flag;
#endif
#ifdef SUPPORT_FILE_CHAPTER
extern UINT32 g_uChapterListAvailable;
#endif //SUPPORT_FILE_CHAPTER
#if defined(SUPPORT_DVB_GUI_NEW)&&(defined(DVB_IR_3D_ON)||defined(DVB_IR_PSCAN_ON))//Jack added 05/07/27
#include "..\dvb_h\dvb_func.h"
extern void DVBMenu_Init(void);
extern BYTE g_CurScreenType;
#endif
#ifdef REM_JPEG_DECODE_STATE
extern BYTE jpeg_in_decode;
#endif
#ifdef SUPPORT_MP4
#include "irconfig.h"
#ifdef PMP_DVD_ONE_DIR_SELECT //kenny 2005/5/16
extern void pmp_enable_user_flag(UINT32 i);
extern void pmp_disable_user_flag(UINT32 i);//2005/7/12
#endif
int IsUserControlDisabledByTrickyPlay( UINT32 uiKey )
{ // 2004/10/07 yltseng
if( ( GetCurrentFileType() == CDROM_MP4 ) && ( !file_support_tricky_play() ) &&
( ( play_state >= VCD_STATE_NORMAL ) && ( play_state <= VCD_STATE_SLOW ) ) )
{
UINT16 aInvalidKey[] = {
IRC_BK_SLOW, IRC_AB, IRC_GOTO
#ifdef TWO_FUN_IN_ONE_VFD_KEY
IRC_VFD_NEXT, IRC_VFD_PREV,
#endif
};
int i = 0;
for( ; i <(int)(sizeof( aInvalidKey ) / sizeof( UINT16 )); i++ )
{
if( uiKey == aInvalidKey[i] )
return 1;
}
}
return 0;
}
#endif
/*Marked by maoyong 2004-9-24 9:51
//terry,2004/1/30 03:14PM
void call_full_scrn_fun(IRCMDFUNC *fun)
{
UINT32 i = 0x01, j;
for(j = 0; i < FULLOSD_MASK;)
{
#ifdef SUPPORT_FUNCTION_MENU
if((full_scrn & SETUP_PLUS) || (setup_menu_plus_timer))
{
fun[2]();
return;
}
else
#endif //end #ifdef SUPPORT_FUNCTION_MENU
if(full_scrn & i)
{
fun[j]();
return;
}
j++;
i <<= 1;
}
}
*/
/*
** IRCMD
*/
UINT32 ircmd_callback_check_generic(UINT32 func)
{
return func;
}
/*
** FUNCTION
** ircmd_post_func(UINT32 func)
**
** DESCRIPTION
** post a system command.
*/
//static void ircmd_post_func(UINT32 func)//kenny 2001/5/16 mark it
void ircmd_post_func(UINT32 func)
{
SetIDETimeOut(NORM_TMOUT);//printf("set srv timeout tm = %d\n",SHORT_TMOUT);//terry,2003/7/17 11:17PM
#ifdef DISP_REGION_BOTTOM// feeling ,these funcs would change the disp region
if(func == ( (CMD_FUNC|CMD_FUNC_SELECT) )//these func would cause the display bottom to up, or up to bottom
||(func == (CMD_FUNC|CMD_FUNC_PLAY))
||(func == (CMD_FUNC|CMD_FUNC_MENU))
||(func == (CMD_FUNC|CMD_FUNC_STOP))
||(func == (CMD_FUNC|CMD_FUNC_RETURN)) )
{
/*if ((pFsJpeg->ControlArea == CNT_AREA_FILE) &&
((pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG)
#ifdef SUPPORT_NESGAME
|| (pFsJpeg->gifsFuncBtn == FS_FUNC_GAME)
#endif
#ifdef SUPPORT_FILE_SYSTEM_MODE
|| (pFsJpeg->gifsFuncBtn == FS_FUNC_OTHER)
#endif
#ifdef SUPPORT_MIDI
|| (pFsJpeg->gifsFuncBtn==FS_FUNC_MIDI)
#endif
))*/
{
if(t_disp)
{
osd_init();
DispCookOSD0(1);
}
}
}//end if(func == ( (CMD_FUNC|CMD_FUNC_SELECT) )
#endif
if (func)
{
/* BEGIN: Added by XLLUO, 2007/3/4 */
#ifdef SUPPORT_FILEKOK
extern BYTE g_scIsMp4Karaoke;
#endif /* SUPPORT_FILEKOK */
/* END: Added by XLLUO, 2007.3.4 */
if (ircmd_callback_check==NULL)
ircmd_callback_check = ircmd_callback_check_generic;
func = ircmd_callback_check(func);
#ifdef USE_FSGUI_TO_PLAY_CD
if(cd_type_loaded==CDDA)//frank.huang add 051014
{
if((ircmd_callback_check==FSGUI_CmdUp)||(ircmd_callback_check==FSGUI_CmdDown))
ircmd_callback_check=NULL;
}
#endif
#ifdef SUPPORT_MIDI_MENU_SEL //dtb
if(gIsMidiSelMenu) //(Is_MIDI_STATE())&&
{
//xlluo add for show invaild flag 04-5-9
extern BYTE bIsShowInvalid;
if(bIsShowInvalid==TRUE)
{
ir_select_number=0;
bIsShowInvalid =0;
invalid_key();
show_dvd_err();
}else if (bIsShowInvalid ==2)
{//show nothing
ir_osd_post_show =0;
bIsShowInvalid =0;
return;
}
// ;//null //ouyang 2004.07.31
} else
#endif
/* BEGIN: Added by XLLUO, 2007/3/4 */
#ifdef SUPPORT_FILEKOK
if (g_scIsMp4Karaoke)
{
;//do nothing
}else
#endif /* SUPPORT_FILEKOK */
/* END: Added by XLLUO, 2007.3.4 */
if(func==0)
{
ir_select_number=0;
invalid_key();
show_dvd_err();
}
}
if( (func)&&(!(func&0x20000)) )
{
if(cd_type_loaded==CDROM)
{
#ifdef VIRTUAL_KEYBOARD // for cdrom exit keyboard still have effect jiangxl
if(full_scrn & KEYBOARD)
full_scrn =0;
#endif
e_msf=0;
}
//Steven 2007/5/28 mark,to enable WMA file media timeout
/*#ifdef SUPPORT_WMA
#if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)//liweihua 2004-9-7 11:27
if((GetCurrentFileType() == CDROM_WMA) && (media_type == MEDIA_CARD))
AVD_SetMediaTimeout();
#endif
if (GetCurrentFileType() != CDROM_WMA)
#endif*/
{
#ifdef PMP_UI
if(pFsJpeg->gifsState == FS_STATE_OTHER&& (func&CMD_FUNC_REPAB))//kenny 2005/7/9
{
//printf("not ircmd_post_func timeout\n");
}
else
{
AVD_SetMediaTimeout();
//printf("ircmd_post_func timeout\n");
}
#else
#ifdef JPG_OLD_PARSER_FLOW
AVD_SetMediaTimeout();//terry,2001/6/8 03:15PM ,we wait kernel code finish
#else
if (pFsJpeg->gifsFuncBtn != FS_FUNC_JPEG)
AVD_SetMediaTimeout();
#endif
#endif
}
#ifdef MONE_TIMEOUR_SRC
printf("ircmd_post_func timeout\n");
#endif
if(play_state==VCD_STATE_PAUSE){ //Jeff 20011004
chg2normal_play(PAUSE2NORM,TRANSFER);
}
if(!(func&0x10000))
PostCommand(func);
}
SetIDETimeOut(NORM_TMOUT);//printf("set srv timeout tm = %d\n",PLAY_TMOUT);//terry,2003/7/17 11:17PM
}
//terry,2004/4/6 07:44PM
//void ircmd_sub_picture(void)
#include "ircmd_subtitle.c"
#ifdef NEW_INPUT_MENU
extern void input_str_clear_variable(void);
#endif
#ifdef CNTR_5SPK_VOLUME //linrc add 2004-10-11 11:02 -->when main volume change,other volume change too
#ifdef CNTR_5SPK_TYPE_2 //but the other volume can change to big sound
inline void Set_5SPK(void) //ESS is like this type
{
if(IS_AUDIF_CODING_MODE_LPCM || IS_AUDIF_CODING_MODE_DTS
|| IS_AUDIF_CODING_MODE_PCM || IS_AUDIF_CODING_MODE_WMA
|| IS_AUDIF_CODING_MODE_DTSCD)
{
AUDIF_Set_Volume(volume_5SPK[0]);//2004AUDDRV AudioSetVolume(volume_5SPK[0]);
}
else AUDIF_Set_Volume(15);//2004AUDDRV AudioSetVolume(15);
}
#endif
#endif
#ifdef OP_PLAYMODE
extern int u;
extern int r;//libing for display&OP_MENU
void exit_op_menu(void);
void play_mode_cancel(void);
void ircmd_mode(void)//libing 2005-4-21 21:25
{
// printf("===================ircmd_mode=============\n");
if((play_state==VCD_STATE_STOP)||(system_state==SYSTEM_NODISC)) //hongfeng add 2005-10-24
{
invalid_key();
return;
}
if(full_scrn & OP_MENU)
{
exit_op_menu();
//osd_init();
}else
{
#if 0//SDRAM_16Mb_Mode
if(play_state==VCD_STATE_STOP)
{
if((cd_type_loaded==CDVCD10)||(cd_type_loaded==CDVCD20)||(cd_type_loaded==CDSVCD))
{
if(IsPBCOn())
{
show_op_menu();
SetFullscrnCmdFuncPtr(op_func_up, op_func_down, op_func_left,
op_func_right, op_func_select);
}
else
{
invalid_key();
return;
}
}
else if(resumeMSF)
{
show_op_menu();
SetFullscrnCmdFuncPtr(op_func_up, op_func_down, op_func_left,
op_func_right, op_func_select);
}
else
{
show_op_menu();
SetFullscrnCmdFuncPtr(op_func_up, op_func_down, op_func_left,
op_func_right, op_func_select);
}
}
else
{
invalid_key();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -