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

📄 ircmd.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 3 页
字号:
//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 + -