?? ircmd.c
字號:
/*************************************************************
** FILE
** ircmd.c
**
** DESCRIPTION
** splitted from ir.c, now all the IR (or global) functions
** are implemented here.
**
** Create: JJ
** Maintain: Kenny 2000/09/29
** Terry 2003.02.24 move file header to ircmd_h.h
** move util code to ircmd_util.c
** move amp. code to ircmd_amp.c
** Terry 2005.04.07 correct PrintOsdMsg 4th parameter error bug.
****************************************************************/
#include "ircmd_h.h"
#include "gpio.h"
#include "asf_if.h"
#include "lbaif.h"
#include "sinf.h"
#include "timer.h"
#include "Subtitle.h"
#include "user_if.h" // 2005/06/28 yltseng
#ifdef SUPPORT_UNICODE_FONT//2005/9/2 joshua
#include "font_unicode.h"
#endif
#ifdef PMP_UI ///yangli 2005/7/5
#include "fsNAV_PMP.h"
extern FSNAVUI fsPmp;
#endif
#ifdef SUPPORT_QUICKTIME
#include "QT_if.h"
#endif
#define D printf("INFO: __%d__(%s:%s)\n",__LINE__,__FILE__,__FUNCTION__);
#ifdef FILE_MODE_WRITE//nono add 20050224
#include "memcfg.h"
#endif//#ifdef FILE_MODE_WRITE
#ifdef SUPPORT_RECEIVER /*2005-6-7 10:42 huziqin*/
#include "e2prom_map.h"
#endif
//#ifdef OP_UI
//#include "menu_func.h"
//#include "infobanner_func.h"
//#include "infobanner_def.h"
//#endif//
#ifdef JPG_EFFECT
#include "jpegeffect.h"
#endif
#ifdef USER_LOGO
#include "userlogo.h"
#endif
#ifdef SDRAM_16Mb_Mode
#include "memmap.h"
#include "memmap0.h"
#endif
#ifdef SPHE8202_ALL_TYPE_CARD_WRITE
extern BYTE card_browse_sign;//dingzhy 4-11-18 9:40
#endif
#ifdef SHOW_12_BOOKMARK//libing 2005-6-29 21:59
extern void cancel_bookmark();
#endif
//dtb in 20030915
#ifdef SUPPORT_MIDI
#include "fsmidi.h"
#ifdef SUPPORT_MIDI_MENU_SEL
#include "fsMidiUI.h"
#endif
#endif
#ifdef SUPPORT_MP4
//#include "drm.h"
#ifdef DIVX_DRM
#include "DRM_UI.h"
#include "drm.h"
#endif
#include "avi_if.h"
#endif
#ifdef SUPPORT_TVG
#include "TVGApp.h"
#endif
#ifdef SUPPORT_MULTI_PARTITION//liweihua 2004-11-2 20:45
#include "playmode.h"
#endif
#ifdef SUPPORT_8202_DVB //Maoyong 2004-10-19 14:32
#include "sp_dtv.h"
#include "dvb_simgr.h"
#ifdef SUPPORT_DVB_PREVIEW_9FRAMES
extern UINT8 dvb_preview_state;
extern UINT8 DvbPreviewNavigationFirstFlag;
extern UINT8 DvbPreviewSlideShowFinish;
#endif
#endif
#ifdef POWER_OFF_ONLY_VIDEO_DAC_OFF //2005-01-13 wjzhang ,fix the power un sync bug for twinhan
#include "../driver/message.h"
#endif
#ifdef SPHE8202_CARD_STORAGE //dingzhy 05-3-22 10:48
#include "card_main.h"
#endif
#ifdef VOL_LED//HIMAGE1251
BYTE nLed_index=0;
#endif
#ifdef UPGRADE_TRAYOUT //joshua add 04-07-13
extern int trayout_flag;
#endif
#ifdef ONLY_SOUND_FIELD_KEY//zhaoyanhua add 03-10-29 15:37
#include "dsp3_if.h"
#define MAX_PAGE_ITEM 4
#define MAX_ITEM_SEL 11
BYTE surround_type = 0;
extern const UINT8 sound_item[MAX_PAGE_ITEM][MAX_ITEM_SEL];//include in sound.c
#endif
#ifdef ONLY_EQ_KEY//zhaoyanhua add 03-10-29 15:34
#include "dsp3_if.h"
#define MAX_PAGE_ITEM 4
#define MAX_ITEM_SEL 11
#ifdef SUPPORT_MULTI_CHANNEL_5_BAND_EQ
#define MAX_BAND 5
#else
#define MAX_BAND 7
#endif
#define MAX_MUSIC 7
BYTE EQ_type = 0;
extern const UINT8 sound_item[MAX_PAGE_ITEM][MAX_ITEM_SEL];//include in sound.c
extern const UINT8 music_osd_set[MAX_MUSIC][MAX_BAND];
extern void SettingEqLevel(BYTE *);
extern void SettingEQType(BYTE type);
void SetEQ(void);
#endif
#ifdef SUPPORT_APOGEE_AMP
extern void ddx_disableEPAD();
extern void ddx_masterMute(BYTE);
#endif
#if 0//def CNTR_5SPK_VOLUME
static int tVolumeL,tVolumeR; //wangfeng 2004-2-9 16:16
#endif
// mimitsai merge from dp2070/dp3240
#ifdef USER_VERSION_INFORMATION//eastech
extern BYTE custm_count;
extern BYTE enter_display_flag;
#endif //#ifdef USER_VERSION_INFORMATION
#ifdef SUPPORT_NEXT_PREV_AUTO_PLAY_MP3 //////////yangli add for in filemode next/prev/autoplay function
extern int auto_play_flag;
extern int next_flag;
extern int prev_flag;
#endif
#ifdef FILE_MODE_WRITE
extern void FileModeGUI_select(void);
#endif
#ifdef SCORE_IN_PLAYMODE_MENU//libing
extern int score_flag;
#endif
extern void FSChangeGraphMode(void); // in fsNAV.c
#ifdef MODIFY_OSD_SHOW_NEW_STYLE_WINDOW
extern void osd_init_newstyle_window_NTSC(void);
extern void osd_init_newstyle_window_PAL(void);
#endif
#ifdef IR_SWITCH_CD_USB_CF_OTHER //dingzhy 04-10-22
EXTERN BYTE now_valid_type;
#endif
#ifdef SUPPORT_PROLOGIC_II//zhaoyanhua add 2004-2-11 13:51
extern void setup_OffPrologic_II(void); //setup_tab.c
extern int setup_IsPrologicOn();
#endif// ifdef SUPPORT_PROLOGIC_II
#ifdef AUDIO_2CH_5_1CH//zhaoyanhua add 03-10-29 15:30
#define AUDIO_2CH 1
#define AUDIO_5_1CH 2
BYTE ChannelFlag = AUDIO_2CH;
extern void AudioSet2chOutput(void);//setup_tab.c
extern void AudioSet5_1chOutput(void);//setup_tab.c
extern void AudioSetPrologic_IIOutput(void);//setup_tab.c
extern int setup_IsSpkDownmixOff(void);
extern int setup_IsSpkStereo(void);
extern UINT8 setup_GetPrologicII(void);
#endif
#ifdef DIV_GOTO_DISPLAY//zhaoyanhua add 03-10-24 20:12
BYTE SearchPage = 0;
extern void ShowSearchPage(BYTE page,BYTE need_hi);
#endif
#ifdef HANYANG_LR_CHANGE_PAGE
extern void FSGUI_File2DirArea(void);
#endif
#ifdef SETUP_ON_OPEN_VALID
BYTE OpenFlag=0; //dingzhy for real open sign
#endif
#ifdef OFF_PROLIGIC_WHEN_TURN_KEY//zhaoyanhua add 2003-12-11 11:14
extern UINT8 setup_GetPrologicII(void);
#endif
#ifdef TWO_KEY_SWITCH_TWO_SUBTITLE //added by wangwei,2004-9-29 13:47
extern void sup_select_subtitles(int n);
extern void sup_select_channel_2(int chn);
int twoSubTTFlag = 0;
int IDTWO = 0;
#endif //TWO_KEY_SWITCH_TWO_SUBTITLE
#ifdef DYNAMIC_SPECTRUM //fengjl 3-10-29 20:56
extern BYTE band_onoff;
#endif
#ifdef NEW_PARENTAL_GUI//zhaoyanhua 2003-11-29 9:40
BYTE one_key_pass_play = 0;
#endif
#ifdef ROTATE_NOT_ZOOM//zhaoyanhua 2003-12-9 16:38
extern UINT8 Is_Rotate_State(void);
#endif
#if defined(SUPPORT_BASS_TREBLE)//xyy 2004-3-8
extern void ddx_ircmd_BassAdjust(int updown);
extern void ddx_ircmd_TrebleAdjust(int updown);
#endif
#ifdef JPEG_THUMBNAIL_MENU //Maoyong 2004-8-13 20:09
extern BYTE ThunmnailChkValidPrevNext(BYTE rx);
#endif
#ifdef USER_MPEG_LOGO //maoyong 2004.02.20
extern BYTE mpeg_logo_onoff;
#endif
#ifdef TEST_VFD_PANNEL_AND_KEY//lijd 2005-5-8 13:54
extern void TestVFDEveryDot(void);
extern BYTE Test_Stop_flag;
#endif
#ifdef POLLING_10MS_SAVE_RESUME //Maoyong 2004.03.01
#define DVD_RSM_WRITE_SIZE (sizeof(same_disc_vob11_pos) + sizeof(pDSV->rsm_info[0]) + sizeof(resumeMSF) )
BYTE rsm_I2c_write_cnt = DVD_RSM_WRITE_SIZE;
#endif
#ifdef ADD_DVI311_SETUP
extern void close_pll(unsigned char num);
#endif
#ifdef SCALER_6500
extern void SCA_DAC_HDMI_PwDown(void);
#endif
#ifndef DVDRELEASE
//#define IRCMD_DBG 1
#endif
#ifndef IRCMD_DBG
#undef printf
#undef print_block
#define printf(f, a...) do {} while (0)
#define print_block(x,y) do {} while (0)
#endif
#include "ircmd_util.c"
#include "rsm_util.h"
#ifdef SUPPORT_REP_READ //Maoyong 2004.06.07
#include "read.h"
#include "func.h"
#endif
#ifdef DYNAMIC_SPECTRUM //zhaoyanhua add 03-11-1 15:30
void ClearShowSpectrum(void);
#endif
#ifdef NEWSTYLE_WINDOW
#include "osd_arc.h"
#endif
#if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)
#include "cardfs.h"
extern CARD_FILE cardFile;//liweihua 2004-4-5
extern CARD_INFO cardP;
#if defined(CF_CARD_WRITE) || defined(FAT_Write_UI)//|| defined(WRITE_USB)//liweihua mod 20031219
BYTE Select_Media;
BYTE pressnum_flag;
extern void show_switch(BYTE Select_Media); //wuxiaofeng
extern void FS_Return2Menu();
//extern void show_switch(void); //wuxiaofeng
#endif
#endif
#ifdef FAT_FILE_MODE
extern UINT16 fat_play_mode;
extern BYTE mode_menu_id;
#endif
#ifdef SUPPORT_SPI
#include "spi.h"
#endif
#ifdef SUPPORT_RECEIVER //chenzhao20050620
#include "amp_gui.h"
#endif
#if defined(SUPPORT_TUNER_MV114) || defined(SUPPORT_TUNER_ALPS) //xyy 2003-10-13 9:42
void disfreq(void);
#endif
extern int setup_IsSpkDownmixOff(void);
extern void osd_init_prog(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 NEWSTYLE_WINDOW
extern void browse_DrawRightItem(void);
extern void osd_draw_region_arc(ARC_REGION_LOC *loc_var,BYTE updown);
extern void osd_init_newstyle_window(void);
extern void exe_show_time(void);
extern void osd_draw_rect(UINT32 xStart, UINT32 yStart, UINT32 xLen, UINT32 yLen, BYTE bkColor);
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);
extern void osd_init_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;
#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 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
extern UINT32 Is_Dvb_State();
extern void DVBMenu_Init(void);
extern BYTE g_CurScreenType;
#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)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -