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

📄 ircmd_setup.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 2 页
字号:

#ifdef SUPPORT_FUNCTION_MENU
#include "setup_def.h"
#endif 

#if (defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))//Modifed by ChenZhao on 2004-9-22 11:33  
void InitVideoSetupGUI(void);
int IsVideoSetupExit_NextVideoSetup();
int IsPlayVideo(void)
{
	return (old_play_state!=play_state)&&(!Is_MP3_STATE()\
			&&((CDVCD10==cd_type_loaded)\
			||(CDVCD20==cd_type_loaded)\
			||(CDSVCD==cd_type_loaded)\
			||(CDDVD==cd_type_loaded)\
			||(CDJPEG==cd_type_loaded)\
			||is_mp4()\
			||Is_JPEG_STATE()\
			));
}
#endif//(defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))
/*
* Wangfeng,2004-2-17 11:24
*/
static inline void show_normal_after_setup(void)
{
    if(old_play_state==VCD_STATE_NORMAL)
        RegionOnOff[REGION1][2]=STR_OS_PLAY;
    rem_osd_id = RegionOnOff[REGION1][2];
}

/*
* Terry,2004/1/30 04:28PM
*/
#if 0//def SUPPORT_USB
BYTE usb_card_setup_flag;//lijd 2004-9-29 11:23  //sunzhh modify 2005-3-11 because it results in many bugs and it no use now.
#endif
void run_pause_setting(void)
{
    #if 0//def SUPPORT_USB
         usb_card_setup_flag=1;  //sunzhh modify 2005-3-11 because it results in many bugs and it no use now.
    #endif
    if(still_timer)
    {
        old_play_state=VCD_STATE_PAUSE;
    }else if( (play_state==VCD_STATE_PAUSE)||(!cd_type_loaded)||(play_state==VCD_STATE_STOP) )
    {
        old_play_state=play_state;
    }else
    {
    #ifdef MP3_STOP_IN_GUI_START//zhaoyanhua add 03-10-14 11:39 keep inital state for MP3
        if ((Is_MP3_STATE()) && (play_state == VCD_STATE_MP3_FILELIST))
            old_play_state = VCD_STATE_MP3_FILELIST;
        else
    #elif defined(MP4_GUI_FF_INVALID)
        if ((Is_OTHER_STATE()) && (play_state == VCD_STATE_MP3_FILELIST))  //wsf  2004-9-15 20:18
            old_play_state = VCD_STATE_MP3_FILELIST;
        else
    #elif defined(SUPPORT_DIVX_HOME_THEATER) && !defined(DIVX_DRM_AES_ONLY)
    //kevinmonkey 051103 fix drm vod message don't show after setup menu
        if ((Is_OTHER_STATE()) && (play_state == VCD_STATE_MP3_FILELIST))  
            old_play_state = VCD_STATE_MP3_FILELIST;
        else    
    #endif

        // mimitsai modify, when in VCD_STATE_MP3_FILELIST state and enter setup, 
        // when exit setup, the state will be VCD_STATE_MP3_FILELIST but not VCD_STATE_NORMAL
        old_play_state= (play_state == VCD_STATE_MP3_FILELIST? VCD_STATE_MP3_FILELIST:VCD_STATE_NORMAL);
        //old_play_state=VCD_STATE_NORMAL;

        if((cd_type_loaded!=CDROM)||Is_MP3_STATE())
            run_pause(0);
#ifdef SUPPORT_FILE_SYSTEM_MODE // Robert 021014
        // when we save the old play state, we want to enable this define to avoid 
        //    entering pause state after exiting from setup page
      #if defined(MP4_GUI_FF_INVALID) || (defined(SUPPORT_DIVX_HOME_THEATER) && !defined(DIVX_DRM_AES_ONLY))
        if(play_state == VCD_STATE_NORMAL
		|| play_state == VCD_STATE_FASTFORWARD
		|| play_state == VCD_STATE_FASTBACKWARD
		|| play_state == VCD_STATE_SLOW)
      #endif
           {
        if (Is_OTHER_STATE())
            run_pause(0);
            }
#endif
    }
    if( (RegionOnOff[REGION1][2]==STR_OS_PAUSE)||(RegionOnOff[REGION1][2]==STR_OS_STEP) )//nono 2-7-17 17:22
        rem_osd_id = RegionOnOff[REGION1][2];//show "PAUSE" & "STEP"...after "setup" 2-7-15 21:44

}

#ifdef  AUTO_ADJUST_TV_TYPE
extern BYTE  Adjust_TV_type ;
#endif

#ifdef SETUP_PROGRAM_IN_PLACE_UNDER_16M

void OSDSetPause()      // 2005/01/14 yltseng
{
    #if !defined(SETUP_PLAY_CTRL)&&!defined(SETUP_DONT_PAUSE)       //wangfeng,2003-08-30 10:28        
//huziqin 2006-4-19 removed
        #ifdef  JPEG_PAUSE_WHEN_SETUP       // fengjl add 3-11-30 15:47
    if((Is_JPEG_SlideMode())&&(play_state == VCD_STATE_NORMAL))
    {  
        run_pause(0); 
       // if(Is_JPEG_SlideMode())
            old_play_state = VCD_STATE_NORMAL; 
    }
    else
        #endif //end JPEG_PAUSE_WHEN_SETUP 
    run_pause_setting();
    #endif        
}

#ifdef NEW_STYLE_SETUP
static inline UINT32 SetupSettingForNewStyleSetup()
{   // 2004/11/26 yltseng
//NOTE:
//In NEW_STYLE_SETUP && SDRAM_16Mb_Mode
//      prog_state = 0 : original state
//                   4 : to excute STOP
//                   2 : excute setup
//                   5 : At level 1,use "SELECT" to enter level 2 /3 
//                   6 : when SETUP interrupt PROGRAM or PROGRAM interrupt SETUP use this flag
//                       not excute ircmd_resume().
// zhaoyanhua note 2003-8-7 9:50               
    #ifdef LARGE_OSD_SHOW_IN_LOGO  //zhaoyanhua add 2003-8-7 9:48 //robert.chang, 2006-11-7                 

    if (play_state!=VCD_STATE_STOP)
    {
        if (prog_state==0)
        {
            old_t_disp=t_disp;
            old_play_state=play_state;
            if( (play_state==VCD_STATE_STOP)||
                (system_state==SYSTEM_NODISC)
                ||Is_JPEG_STATE()
        #ifdef SUPPORT_FILE_SYSTEM_MODE // nono 2003-8-7 13:55
                ||Is_OTHER_STATE()
        #endif
                ||(system_state==SYSTEM_OPEN) )
            {
                prog_state = 5;
                ShowTitle();
            }else if( (pe_run==1)||(still_timer) )//terry 20030805
            {//terry,2003/8/4 10:27PM                   
            prog_state=4;
                printf("setup menu,run stop cmd\n");
            old_t_disp=t_disp;
            ircmd_stop();
            return FALSE;
            }else
            {//terry,2003/8/4 10:27PM
                invalid_key();
                return FALSE;
            }
        }
    
    }
    else
    {
        if (prog_state == 0)
        {   
            prog_state = 5; //already STOP ,only show setup_logo.zhaoyanhua 2003-8-7 13:51
            ShowTitle();
            old_t_disp=t_disp;
            old_play_state = VCD_STATE_STOP;
        }
        t_disp=0;
        DispFadeOut();
        //I masked it , but don't know if it will cause error.
        //zhaoyanhua note 2003-8-26 20:05
	#ifdef SDRAM_16Mb_Mode
        regs0->osd_base_addr=OSD_BASE_USE_ADDR;//P_BIDIR_LUMA;
	#elif defined(SDRAM_32Mb_Mode)
        regs0->osd_base_addr=P_EVBYA_END;
        wb_tag_init();    
	#endif
    }
    #else //Not SDRAM_16Mb_Mode     
    if (setup_state==0)
    {  
            old_t_disp=t_disp;
            old_play_state=play_state;
    
            if( (play_state==VCD_STATE_STOP)||
                (system_state==SYSTEM_NODISC)
                ||Is_JPEG_STATE()
        #ifdef SUPPORT_FILE_SYSTEM_MODE // nono 2003-8-7 13:55
                ||Is_OTHER_STATE()
        #endif
                ||(system_state==SYSTEM_OPEN) )
            {
                setup_state=3;
                ShowTitle();
    }
    else if( (pe_run==1)||(still_timer) )//terry 20030805
            {//terry,2003/8/4 10:27PM                   
                setup_state=1;
                printf("setup menu,run stop cmd\n");
                old_t_disp=t_disp;
                ircmd_stop();
                return FALSE;
            }else
            {//terry,2003/8/4 10:27PM
                invalid_key();
                return FALSE;
            }
      }
    #endif //SDRAM_16Mb_Mode
    
    return TRUE;
}
#else

UINT8   g_uiOSDStatus = OSD_FULL_SCREEN_STATUS_NONE;

static inline UINT32 SetupSettingForNormal()
{   // 2005/01/14 yltseng
    #ifdef LARGE_OSD_SHOW_IN_LOGO
    if( g_uiOSDStatus == OSD_FULL_SCREEN_STATUS_NONE )
    {
        if( AVD_state != STATE_IDLE )
        {
            g_uiOSDStatus = OSD_FULL_SCREEN_STATUS_SETUP | OSD_FULL_SCREEN_STATUS_WAIT_ATAPI_CMD_FINISH;
            return FALSE;
        }
        else if( pFsJpeg->gifsState == FS_STATE_JPEG )
        {
            OSDSetPause();
        }
    }
    
    g_uiOSDStatus   = OSD_FULL_SCREEN_STATUS_SETUP | OSD_FULL_SCREEN_STATUS_ACTIVE;
    full_scrn       = SETUP;
    osd_disable();
        
    extern void SrvStopReceiveData(void);
    SrvStopReceiveData();
#ifdef SDRAM_16Mb_Mode
    regs0->osd_base_addr = A_SERVO_YA;
#elif defined(SDRAM_32Mb_Mode)    
    regs0->osd_base_addr = P_EVBYA_END;
    wb_tag_init();
#endif
    #else
    OSDSetPause();
    #endif//SDRAM_16Mb_Mode 

    return TRUE;   
}
#endif

void ircmd_setup(void)
{
	
     #ifdef  AUTO_ADJUST_TV_TYPE    
        Adjust_TV_type=0;      
     #endif
     
#ifdef CONTINUOUS_NUM_KEY_SELECT
    if(ir_num_timer)
      return;
#endif
    
    #ifdef SUPPORT_MIDI_MENU_SEL
#if 1//ndef QISHENG_DEBUG_04_10_09 //axelchen modified for cancel ircmd_setup in playback MIDI 2004/10/22 
        if(gIsMidiSelMenu)  return;
#else
         if (gIsMidiSelMenu)
        {
//            if (((bMidiPlayerBoolean)&&(midiState == MIDI_STATE_PAYLOAD)))
//                Midi_pause_flag =1;
            run_pause(0);
        }    
#endif
    #endif

#ifdef IRCMD_DBG
    printf("=================ircmd_setup==================\n");
#endif

#ifdef NEW_STYLE_SETUP
    if ( Is_JPEG_SlideMode()
    #ifdef SUPPORT_FILE_SYSTEM_MODE
    ||(IsOtherStatePlayMode()) 
    #endif
    ) 
    {
        invalid_key();
        return;
    }
#endif    

#if !defined(SPHE1000)
    if ( (cd_type_loaded==CDROM) && (Mp3ReadFinish==0) ) { //Jeff 20020614
#else
	if((cd_type_loaded==CDROM)&&(Mp3ReadFinish==0) && (system_state!=SYSTEM_FILESTREAM)&&(system_state!=SYSTEM_TS)) { //MIKEY 2004.06.25 for setup
#endif
        invalid_key();
        return;
    }
    #ifdef KARAOKE_MENU
    //modefied by wangfeng 2003-10-31 11:30
    if((full_scrn&SETUP)&&(KARAOKE_MENU_FLAG==0) || (full_scrn&CUSTM)) //////////////////////////jhuang
    #else
    if((full_scrn&SETUP) || (full_scrn&CUSTM)) //////////////////////////jhuang
    #endif 
	{//aa begin
	#if (defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))//Modifed by ChenZhao on 2004-9-22 11:33  
	if(IsVideoSetupExit_NextVideoSetup())
	#endif
    {
        ExitSetupPage(1);
         #if 0//def SUPPORT_USB//lijd 20041008  //sunzhh modify 2005-3-11 because it results in many bugs and it no use now.
         usb_card_setup_flag=0;
         #endif
//huziqin 2006-4-19 removed
        
#if defined(SDRAM_16Mb_Mode)||defined(NEW_STYLE_SETUP)
        if ( 0)//( cd_type_loaded == CDDA ) && (old_t_disp) )
        {
            t_disp=old_t_disp;
            DispPolling(3);
        }
#endif
        
#ifdef DOUBLE_LOGO
        if(play_state==VCD_STATE_STOP||system_state==SYSTEM_NODISC||system_state==SYSTEM_OPEN)
            ShowTitle();
#endif
    }
	}//aa end
    #ifdef KARAOKE_MENU
    //wangfeng 2003-10-31 11:30 
    else if((full_scrn&SETUP)&&(KARAOKE_MENU_FLAG==1))
        return;
    #endif
    else
    {//enter setup menu
#ifdef AUDIO_SHOW_SAVER //kono  1007 2001
        if( bDisableGUI) return;
#endif

    #ifdef SUPPORT_FUNCTION_MENU
    if(full_scrn&SETUP_PLUS)
      ExitSetupPage(0);
    #endif
 
// 2004/11/26 yltseng
#ifdef NEW_STYLE_SETUP
        if( !SetupSettingForNewStyleSetup() )
            return;
#else//Not NEW_STYLE_SETUP
        if( !SetupSettingForNormal() )
            return;
#endif //end NEW_STYLE_SETUP

		#if (defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))//Modifed by ChenZhao on 2004-9-22 11:33  
		if(IsPlayVideo())
			InitVideoSetupGUI();
		else
			init_setup();
		#else//(defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))
        init_setup();
		#endif//(defined(SOFT_MENU)&&defined(VIDEOSETUPGUI))

        //Maoyong added for IR U/D/L/R/Sel proc func setting 2004-9-24 9:13
        SetFullscrnCmdFuncPtr( setup_func_up, setup_func_down,  setup_func_left,
                               setup_func_right, setup_func_select);
		
#ifdef NEW_UART_COMMAND
        timeout_vfd=0;
        nCurrentVolMode=VOL_MODE_MAIN;
#endif
    }
    show_normal_after_setup();//wangfeng 2004-2-17 11:27
}

#else   // SETUP_PROGRAM_IN_PLACE_UNDER_16M

#ifdef DEACTIVATE_PSCAN
extern BYTE video_out_type;
extern BYTE Pscan_on;
#endif

void ircmd_setup(void)
{

#ifdef IRCMD_DBG
    printf("=================ircmd_setup==================2\n");
#endif

#ifdef SUPPORT_FILEKOK  //xg.qi add 20070611
  if(FileKok_IsKaraokoState())
  {
       invalid_key();
  	return;
  }
#endif

#ifdef SUPPORT_DPF_UI
    if(dpf_input_play_process != DPF_SHOW_SETUP_STATE)
        return;
#endif
#ifdef MP4_INIT_STATE_INVALID_KEY//shenyj add for alco 2006/01/04
    if(MP4_init_state==1)
    return;
#endif

#ifdef ALCO_DIVX_UI//shenyj add for alco 12/12
    if(system_state==SYSTEM_SETUP_BROWSER)
    {
        invalid_key();
	    return; 
    }
#endif  

#ifdef MODIFY_FOR_DISPLAY_DBG//shenyj add for alco 1108
    if(play_state==VCD_STATE_STOP)
    {   
        disp_mode=0;
        polling_clock=0;
        remain = 0; 
        t_disp = 0; 

⌨️ 快捷键说明

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