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

📄 ircmd_dir.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 3 页
字号:
/**************************************************************************
 *                                                                        *
 *         Copyright (c) 2002 by Sunplus Technology Co., Ltd.             *
 *                                                                        *
 *  This software is copyrighted by and is the property of Sunplus        *
 *  Technology Co., Ltd. All rights are reserved by Sunplus Technology    *
 *  Co., Ltd. This software may only be used in accordance with the       *
 *  corresponding license agreement. Any unauthorized use, duplication,   *
 *  distribution, or disclosure of this software is expressly forbidden.  *
 *                                                                        *
 *  This Copyright notice MUST not be removed or modified without prior   *
 *  written consent of Sunplus Technology Co., Ltd.                       *
 *                                                                        *
 *  Sunplus Technology Co., Ltd. reserves the right to modify this        *
 *  software without notice.                                              *
 *                                                                        *
 *  Sunplus Technology Co., Ltd.                                          *
 *  19, Innovation First Road, Science-Based Industrial Park,             *
 *  Hsin-Chu, Taiwan, R.O.C.                                              *
 **************************************************************************/
/*--------------------------------------------------------------------------
|  File Name   :  ircmd_dir.c
|
|  Description :  realize up,down,left,right function in remoter.
|
|  Version    :  0.1  
| 
| 
|  Rev  Date            Author(s)      Status & Comments
|---------------------------------------------------------------------------------
|  0.1  2004/1/30        Terry         Creating
|--------------------------------------------------------------------------------*/

/*
*  Terry,2004/1/30 04:12PM
   Maoyong 2004/09/24 AM, ircmd_full_scrn_up replace call_full_scrn_fun((IRCMDFUNC *)func);
*/
#define is_zoom() ((vpp_zoom > 1) && (vpp_zoom <= ZOOMIN_MAX))

/**************************************************************************
 *  Function Name: ircmd_up                           
 *  Purposes:                                                             
 *      realize up function using up key of IR.
 *  Descriptions:                                                            
 *      ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL)
 *      CMD_SELECT:  number or up/down/left/right.
 *      CMD_FUNC_GAME_UL: up key.
 *  Arguments:   NONE                                                         
 *      
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/
 //#define DEBUG_OSD_LANGUAGE_OR_OSD_STR
 //#define TEST_OSD_LANGUAGE
 
 #ifdef DEBUG_OSD_LANGUAGE_OR_OSD_STR //wsf only for debug 2006-1-8 19:27
 	static UINT16 offset=0;
 	#ifdef TEST_OSD_LANGUAGE
 		#define TESTLANGUAGE lang_names
 		#define MAX_OFFSET MAX_OSD_LANG_STR_ID
 	#else
 		#define TESTLANGUAGE _OsdMessegeFont1
 		#define MAX_OFFSET MAX_OSD_STR_ID
 	#endif
 #endif  //DEBUG_OSD_LANGUAGE_OR_OSD_STR
 
 
void ircmd_up(void)
{

	#ifdef DEBUG_OSD_LANGUAGE_OR_OSD_STR //wsf only for debug 2006-1-8 19:27
	if(!full_scrn){
		if(offset<MAX_OFFSET)offset++;
		else offset=0;
	
		psprintf(RegionValStr[REGION0], "%d [%s]",offset,_OsdMessegeFont1[osd_font_mode][offset]);
	    PrintOsdMsg(STR_OS_SPACE, REGION0, 0, 1);
		//return;
	}
	#endif

#ifdef IRCMD_DBG
    printf("======================= up =====================\n");
#endif
#ifdef UP_SF_IN_A_KEY
if((play_state == VCD_STATE_SLOW)||((play_state == VCD_STATE_NORMAL)&&(!((cd_type_loaded==CDROM) && (cd_subtype ==CDROM_MP3)))))
    {
          ircmd_slowmotion();
		  return;
       }
#endif
#if defined(MUSTEK_MULTI_FUNCTION_DIRECTION_KEY)&&defined(MP3_ONLY_STOP_TO_GUI)    
    if(full_scrn)
    {
    }
    else if(cd_type_loaded==CDROM)
    {	   
	    /*if((play_state==VCD_STATE_PAUSE)&&Is_JPEG_PLAY_STATE()&&(full_scrn==0))
	    {
		    invalid_key();
		    return;
  	    }*/
 
  	    if((pFsJpeg->ControlArea<=CNT_AREA_DIR) || Is_JPEG_PLAY_STATE())
 		{
			if((Is_MP3_STATE()&&(play_state==VCD_STATE_NORMAL)) || Is_JPEG_PLAY_STATE() || IsOtherStatePlayMode())//Jack added Is_JPEG_PLAY_STATE() 05/04/04
			{
				/*
				if(((play_state==VCD_STATE_MP3_FILELIST)||(play_state==VCD_STATE_PAUSE)) && (pFsJpeg->ControlArea>CNT_AREA_DIR))
				{
				    #ifdef DEBUG_MULTI_FUNCTION_DIRECTION_KEY
				    printf_w("up--->up in pause or stop state\n",);
                    #endif
                    
				    OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);
                    ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
				}
				else
				{
				*/    
			        #ifdef DEBUG_MULTI_FUNCTION_DIRECTION_KEY
			        printf_w("up--->pause............\n");
                    #endif
                    
			        ircmd_pause();
			        return;
			    //}
		    }
		    /*
		    else if((play_state == VCD_STATE_MP3_FILELIST) || (play_state==VCD_STATE_PAUSE))
		    {
		      	#ifdef DEBUG_MULTI_FUNCTION_DIRECTION_KEY
			    printf_w("up--->pause............\n");
                #endif
                
		      	OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);
                ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
		    }
			*/
	    }
		else
		{
      		if(Is_JPEG_STATE() && (play_state==VCD_STATE_PAUSE))
      		{
      		    invalid_key();
			    return;
		    }
		    
      		OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);
            ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
			return;
		}
	}
    else if((!full_scrn) && (!(is_menu()&&(cd_type_loaded==CDDVD))) && cd_type_loaded)
	{
	    if((play_state!=VCD_STATE_OPEN) && (play_state!=VCD_STATE_IDLE) && (play_state!=VCD_STATE_STOP))
	{
	    ircmd_pause();
		return;
	}
	}
#endif //#if defined(MUSTEK_MULTI_FUNCTION_DIRECTION_KEY)&&defnied(MP3_ONLY_STOP_TO_GUI)
	
#ifdef SUPPORT_MIDIDISK_TITLE
        if (bIsPlayMidiTitle)//xlluo for midi title
        {
        invalid_key();
        return;
        }
        //xlluo add here.070410..some other ctrl do some thing to Progctrl
        if (gIsMidiSelMenu)  
        {
            ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
            return;
        }
#endif
#ifdef TEST_VFD
    update_vfd_mod_inc();           //shawn modify at 910131
    return ;
#endif

   

    
    if(full_scrn
	#ifdef GPS_DVD//frank.huang 050801
	&&(full_scrn!=TOUCH_MENU)&&(full_scrn!=TOUCH_KEYBOARD)
	#endif
	)
    {
        //printf("kk\n");
        //call_full_scrn_fun((IRCMDFUNC *)ircmd_up_table);
        ircmd_full_scrn_up();
        return;
    }
    else if( is_zoom() )
#ifdef MOVE_INVERSE_WHEN_ZOOM     
    {   //heqiang, down, 2004-3-2 17:51
        #ifdef JPEG_ZOOM_ROTATE_RESET_PLAY_TIME
		if((cd_type_loaded==CDROM) && Is_JPEG_SlideMode())
          set_rtc_val(0);
		#endif
		
        if(vpp_zoom_y < getVPP_YOffsetMax())
    {
            PrintOsdMsg(STR_OS_PIC_UP, REGION1, 1, 0);
            vpp_zoom_y += ZOOM_MOVE;
            startup_vpp();
            return;
        }
    #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)    //nono 20020706   wu 20020920
        else
        {
            invalid_key();
            return;
        }
    #endif
    }
#else//MOVE_INVERSE_WHEN_ZOOM    
    {         
        #ifdef JPEG_ZOOM_ROTATE_RESET_PLAY_TIME
		if((cd_type_loaded==CDROM) && Is_JPEG_SlideMode())
          set_rtc_val(0);
		#endif
		
        if (vpp_zoom_y > -getVPP_YOffsetMax())
        {
            OSD1000ISP_STATUS(OSDISP_DIR_ZOOM, OSDIR_UP);

            PrintOsdMsg(STR_OS_PIC_UP, REGION1, 1, 0);
            vpp_zoom_y -= ZOOM_MOVE;
            startup_vpp();
            #ifdef ZOOM_ROTATE_RESET_SLIDE_TIME//lijd 2005-6-6 10:02
            if(Is_JPEG_SlideMode())
                set_rtc_val(0);      
            #endif 
            return;
        }
        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)    //nono 20020706   wu 20020920
        else
        {
            invalid_key();
            return;
        }
#endif
    }
#endif//MOVE_INVERSE_WHEN_ZOOM
    else if (HL_exist)
    {
        ExeHLBm(HL_DIR, HL_BM_U);
        return;
    }
#ifdef MIC_FUNCTION_KEY    
    #ifdef BBK_DVD//zhaoyanhua add 03-10-19 14:02
    else if (bFuncStep)
    {
        switch (bFuncStep)
        {
            case 1:
                ircmd_mic_up();
                break;
            case 2:
                ircmd_echo_up();
                break;  
            case 3:
                ircmd_key_up();     
                break;;
        }
        return;
    }
    #endif//end BBK_DVd
#endif//end MIC_FUNCTION_KEY
 #ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
   else if((pFsJpeg->gifsState == FS_STATE_HDD)
    #ifdef FAT_FILE_MODE
        ||(pFsJpeg->gifsState == FS_STATE_MODE)
        ||(fat_play_mode == 1)
        #endif
        )
    {
        //printf("haha\n");
        if(pFsJpeg->gifsState == FS_STATE_JPEG)     /////YANGLI MOD FOR JPEG ROTATE 2005-7-15
        {
			ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
        	return;
        }
         if(pFsJpeg->gifsState == FS_STATE_OTHER) ////////yangli mod for up fuction 2005/9/14
       {
       	 invalid_key();
            return;       	
       }
        #if defined(PMP_DVD)&& defined(PMP_DVD_ONE_DIR_SELECT) //kenny add 2005/6/16
         pmp_disable_user_flag(PMP_USER_PRESS_NEXT_PREV_KEY);
         pmp_enable_user_flag(PMP_USER_PRESS_UP_DOWN__KEY);
        #endif
        HDDCard_up();
        return;
    }
    #endif//#ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
    else if (cd_type_loaded == CDROM)
    {
        #ifdef JPEG_ZOOM_ROTATE_RESET_PLAY_TIME
        if(Is_JPEG_SlideMode())
        {
          #ifdef ONLY_USE_ANGLE_TO_ROTATE 
          invalid_key();
          return;
          #else  
          set_rtc_val(0);
          #endif
        }  
        #endif
          
        if ((play_state == VCD_STATE_MP3_FILELIST) || (play_state == VCD_STATE_NORMAL) || adv_search_time)
        {
            if ( (shuffle_flag == 0||Is_JPEG_SlideMode()==1)
            && ((prog_cnt == 0)||Is_JPEG_SlideMode()==1)
            )//NONO 3-12-22 23:22
            {
#if defined(ZOOM_DIRECT_STOP_SLIDE)||defined(ROTATE_DIRECT_STOP_SLIDE)  //wanghaoying 2003-08-25 20:35
                if( Is_JPEG_SlideMode() )              //wangap add 2005-5-8 10:23
                    jpg_slide_time = 0xffffffff;
#endif                

#ifdef ZOOMOUT_NOT_ROTATE //zhaoyanhua add for DESAY 03-10-11 14:54 when zoom ratio less than 1,not rotate.    
                if ((vpp_zoom >= ZOOMOUT_BASE) && (vpp_zoom <= ZOOMOUT_MAX))
                    invalid_key();
                else
#endif
                {
                #ifdef OP_IR //libing 2005-5-27 21:14
                if(Is_JPEG_PLAY_STATE())
                {
                    invalid_key();
                    return;
                }
                #endif  
                    OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);

                    ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
                    return;
                }
            }
        }
        
		#if defined(ROTATE_WHEN_PAUSE)&&!defined(JPEG_USE_ANGLE_KEY)       //zhaoyanhua add 03-10-13 10:09
        else if ((play_state == VCD_STATE_PAUSE) && (Is_JPEG_SlideMode()))
        {
            ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
            return;
        }
        #endif 

        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY)||defined(UPDN_AND_MICVOL_IN_A_KEY)     //nono 20020706   wu 20020920
        else
        {
            invalid_key();
            return;
        }
#endif
    }
	#ifdef USE_FSGUI_TO_PLAY_CD//frank.huang 051014
	if(cd_type_loaded == CDDA)
	{
    	OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);
    	ircmd_callback_check=FSGUI_CmdUp;
		ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
		return;
	}
    #endif

#ifdef MINUS_VR_AUTH_PLAYBACK
	if(bDVDminusVR&& (play_state == VCD_STATE_MP3_FILELIST))
	{
		ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
	   	return;
	}
#endif

#ifdef UPDN_AND_KEYUPDN_IN_A_KEY  //nono 20020706
    ircmd_key_up();
#elif defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)   //wu 20020920
    ircmd_prev();
#elif defined(FUSS_FEIYANG_2120_PANEL)   //wu 20020923
    ircmd_forward();
#elif defined(UPDN_AND_MICVOL_IN_A_KEY)
    ircmd_mic_up();
#elif defined(UPDN_AND_ECHO_IN_A_KEY)  //nono 20020706
    ircmd_echo_up();
#elif defined(CF_GPIO_CONTROL_COLOR)
    chang_vfd_back_color_down();
#else
    invalid_key();
#endif
}
/**************************************************************************
 *  Function Name: ircmd_down                           
 *  Purposes:                                                             
 *      realize down function using down key of IR.
 *  Descriptions:                                                            
 *      ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_DN)
 *      CMD_SELECT:  number or up/down/left/right.
 *      CMD_FUNC_GAME_DN: down key.
 *  Arguments:   NONE                                                          
 *      
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/

void ircmd_down(void)
{

	#ifdef DEBUG_OSD_LANGUAGE_OR_OSD_STR //wsf only for debug 2006-1-8 19:27
	if(!full_scrn){
		if(offset)offset--;
		else offset=MAX_OSD_LANG_STR_ID;
	
		psprintf(RegionValStr[REGION0], "%d [%s]",offset,TESTLANGUAGE[osd_font_mode][offset]);

⌨️ 快捷键说明

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