📄 ircmd.c
字号:
{
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(SHORT_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)
{
if (ircmd_callback_check==NULL)
ircmd_callback_check = ircmd_callback_check_generic;
func = ircmd_callback_check(func);
#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
if(func==0)
{
ir_select_number=0;
invalid_key();
show_dvd_err();
}
}
if( (func)&&(!(func&0x20000)) )
{
if(cd_type_loaded==CDROM)
e_msf=0;
#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
AVD_SetMediaTimeout();//terry,2001/6/8 03:15PM ,we wait kernel code finish
#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(PLAY_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 ircmd_mode(void)//libing 2005-4-21 21:25
{
// printf("===================ircmd_mode=============\n");
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();
}
#else//#ifdef SDRAM_16Mb_Mode
#ifdef SDRAM_16Mb_Mode
if((full_scrn==MARK)||(full_scrn==GOTO))
{
old_t_disp=t_disp;
osd_tog_region(0,OSD_OFF);
DispFadeOut();
t_disp=0;
return;
}
if(t_disp==1)//libing for display&OP_MENU
{
u=1;
DispFadeOut();
r=1;
//t_disp=1;
}
else if(t_disp==2)
{
u=1;
DispFadeOut();
r=2;
//t_disp=2;
}
else
{
r=0;
u=0;
}
#endif
if(cd_type_loaded==CDDVD)
{
if(is_menu())//dont'n show op_menu when is_menu on DVD disc
{
invalid_key();
}
else
{
show_op_menu();
SetFullscrnCmdFuncPtr(op_func_up, op_func_down, op_func_left,
op_func_right, op_func_select);
}
}
else if((cd_type_loaded==CDVCD20)||(cd_type_loaded==CDVCD10)||(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();
}
}
else
{
//if(play_state==VCD_STATE_STOP)
show_op_menu();
SetFullscrnCmdFuncPtr(op_func_up, op_func_down, op_func_left,
op_func_right, op_func_select);
}
#endif//#ifdef SDRAM_16Mb_Mode
}
}
#endif//OP_PLAYMODE
void ircmd_angle(void)
{
#ifdef SUPPORT_UNICODE_FONT
osd_fill_region(2, 1);
coordinate start;
start.x = 0;
start.y = 0; //This is a legacy-formula for back-compatible
uni_subtitle_language++;
if(uni_subtitle_language>3)
{
uni_subtitle_language =0;
}
printf_w("<uni_subtitle_language=%d>\n",uni_subtitle_language);
if(uni_subtitle_language==0)
{
char2uni_translation = char2uni_cp950;
osd_draw_string(&start, "BIG5", 2, 1, 2, 0);
osd_tog_region(2, OSD_ON);
}
else if(uni_subtitle_language==1)
{
char2uni_translation = char2uni_cp949;
osd_draw_string(&start, "KSC", 2, 1, 2, 0);
osd_tog_region(2, OSD_ON);
}
else if(uni_subtitle_language==2)
{
char2uni_translation = char2uni_cp932;
osd_draw_string(&start, "JIS", 2, 1, 2, 0);
osd_tog_region(2, OSD_ON);
}
else if(uni_subtitle_language==3)
{
char2uni_translation = char2uni_cp936;
osd_draw_string(&start, "GB", 2, 1, 2, 0);
osd_tog_region(2, OSD_ON);
}
return;
#endif
#ifdef ANGLE_PBC_IN_ONE_KEY//libing 2005-4-21 20:52
if((cd_type_loaded==CDVCD10 ||cd_type_loaded==CDVCD20||cd_type_loaded==CDSVCD))
{
ircmd_playmode_toggle();
return;
}
#endif
#ifdef OP_IR//LIBNIG 2005-7-6 22:02
#ifdef ANGLE_ROTATE_IN_ONE_KEY//libing 2005-6-28 14:47
if(pFsJpeg->gifsState == FS_STATE_JPEG)
{
OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_RIGHT);
ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_R);
return;
}else
#endif
if(cd_type_loaded==CDROM)
{
invalid_key();
return;
}
#endif
#ifndef MAKE_ONLY_UPDATE_CODE
//MAKE_ONLY_UPDATE_CODE:20050305 linrc only for make romA.bin(BootLoad).
// printf("===================ircmd_angle=============\n");
#ifdef ANGLE_GOTO_IN_A_KEY
if( (bIrSkipState1!=1) )//2004-5-5 15:16
{
bIrSkipState1 = 1;
rep_ir_times = 0;
bIrSkipCnt1 = 0;
return;
}
else
{
bIrSkipState1 = 0;
rep_ir_times = 0;
bIrSkipCnt1 = 0;
}
#endif//NEXT_FORWARD_IN_A_KEY
#ifdef PROGRAM_ANGLE_IN_ONE_KEY
if ((cd_type_loaded == CDROM)||(cd_type_loaded == CDVCD10)
||(cd_type_loaded == CDVCD20)||(cd_type_loaded == CDSVCD)
||(cd_type_loaded == CDDA))
{
invalid_key();
return;
}
#endif
#if defined(DIVX_DRM) && !defined(DIVX_DRM_AES_ONLY)
if( cd_type_loaded == CDROM )
{
if( ( play_state == VCD_STATE_MP3_FILELIST )&&(GetCurrentFileType()== CDROM_MP4) )
{
osd_divx_drm_display(1,0);
return;
}else
{
invalid_key();
return;
}
}
#endif
#ifdef ANGLE_PAGE_DOWN //zhongshan 050718 action:divx angle for register
if(( cd_type_loaded == CDROM )&&((play_state == VCD_STATE_MP3_FILELIST)||(Is_MP3_STATE())))
{
FSGUI_UpdownFilePage(1);
return;
}
#endif
UINT16 id;
#ifdef USE_ANGLE_SWITCH_CHANNEL//xyy 2004-8-5
/*huziqin 2004-4-29.set channel volume*/
#ifdef SUPPORT_APOGEE_AMP
#ifdef DOLBY_AMP_VOLUME_CTRL
subvol_next_channel();
return;
#endif //DOLBY_AMP_VOLUME_CTRL
#endif
#endif
#if defined(FAT_Write_UI)||defined(CF_CARD_WRITE)//||defined(WRITE_USB)//liweihua 2003-10-30 10:30
if((cd_type_loaded==CDROM)&&(pFsJpeg->ControlArea == CNT_AREA_FILE))
{
if (full_scrn & PERIPHERAL)
{
#ifdef NEW_INPUT_MENU
input_str_clear_variable();
#endif
full_scrn &= (~PERIPHERAL);
osd_init();
pressnum_flag=0;
#ifdef SPHE8202_ALL_TYPE_CARD_WRITE
card_browse_sign = 1; //dingzhy
#endif
}
else
{
full_scrn |= PERIPHERAL;
#if defined(SUPPORT_FILE_SYSTEM_MODE)||defined(SUPPORT_MP4) //sunzhh add 041124
if(IsOtherStatePlayMode())
ircmd_return();
#endif
#if defined(FAT_Write_UI)//sunzhh 20041126
if ((pFsJpeg->gbfsSlide)&& (pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG))
{
ircmd_return();
FSChangeGraphMode();
FS_Return2Menu();
}
#endif
#if defined(STORAGE_WRITE_GUI)||defined(CARD_WRITE_GUI)
if((((detect_type&USB_DEVICE)&&(detect_type&0x1E)) //||((detect_type&CF_CARD_DEVICE!=0)&&(detect_type&0x1C!=0)))&&(media_type == MEDIA_CD))
#ifdef CARD_SETUP_TYPE_3
||((detect_type&CF_CARD_DEVICE)&&(detect_type&0x1C))
#endif
)&&(media_type != MEDIA_CARD))
{
show_mediaswitch();
}
else
#endif
show_switch(Select_Media);
//Maoyong added for IR U/D/L/R/Sel proc func setting 2004-9-24 9:54
SetFullscrnCmdFuncPtr( switch_up, switch_down, switch_left,
switch_right, switch_select);
}
return;
}
#endif
/*
#if defined(ADJUSTING_ACTION_VALID_RIGHT_NOW)
#ifdef NEWSTYLE_WINDOW
if ( (full_scrn&MESSAGE) && (action_click==2) ) // alan, 2003/8/28 05:32PM
action_click = 0;
else
#endif
action_click = 1; //Jeff 20030506
#endif
*/
#if defined(ADJUSTING_ACTION_VALID_RIGHT_NOW)
#ifdef NEWSTYLE_WINDOW
if ( (full_scrn&MESSAGE) && (action_click==2) )
action_click = 0;
else
#endif
action_click = 1; //Jeff 20030506
#else
#ifdef NEWSTYLE_WINDOW
if ( (full_scrn&MESSAGE) && (action_click==2) ) // alan, 2003/8/28 05:32PM
action_click = 0;
#endif
#endif
if(get_angle_Ns()>1)
{//terry,2005/4/5 01:58
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -