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

📄 ircmd_num.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 2 页
字号:
			    invalid_key();
			    return;
			  }  
			}
			
			PrintOsdMsg(STR_OS_SELECT,REGION1,1,1);
			
			//psprintf(RegionValStr[REGION2]," %d%d%d----%d",ir_num1,ir_num2,ir_num3 ,x);
		    //PrintOsdMsg(STR_OS_OPEN,REGION2,1,1);
			if(x)
            #endif //end #ifdef CONTINUOUS_NUM_KEY_SELECT
            
            ir_num_select(x);
            
            #ifdef CONTINUOUS_NUM_KEY_SELECT 
			if(ir_num_timer)
			  return;
            #endif
            
            resumeMSF=0;//wanghaoying 2003-11-5 10:40
        }
        return;
    }
#endif
    ir_select_number = 0;
}


void init_ir_num(void)
{
    ir_10p=0;
    ir_select_number=0;
    now_num_ns=0;
}



void ir_num_select(int x)
{
    #ifdef MOVE_HIGH_LIGHT_IN_PROG_MODE
     if((!full_scrn)&&(cd_type_loaded== CDROM)){     //wsf  2004-7-20 14:55  changed for cancel program when select other ,just in CDROM DISC
        if(!Is_OTHER_STATE()){              
            prog_cnt=0;
            prog_func_off();
            prog_func_clear();        
        }
    }
    #endif
    int dir_num;
#ifdef IRCMD_DBG
    printf("================= ir_num_select (%x) =================\n",x);
#endif

#ifdef SUPPORT_TUNER       // add tuner 2-6-14 23:17
    if(play_state==VCD_STATE_POWER)
    {
        ir_select_number= x;
        psprintf(RegionValStr[REGION1]," %02d",ir_select_number);
        PrintOsdMsg(STR_OS_SELECT,REGION1,1,1);
    }
    else
#endif
    {
        if (cd_type_loaded==CDROM)
        {
            ir_select_number = x;
            //wangap add if the dir_num is mp3 or jpeg or game 2003/12/22 
            // yltseng 2004/04/12, use relative method to access pFsJpeg->count_dir
            if( pFsJpeg->gifsFuncBtn != FS_FUNC_IDLE )
                dir_num = pFsJpeg->count_dir[ pFsJpeg->gifsFuncBtn - FS_FUNC_MP3 ];
            else
                dir_num = 0;

            //wanghaoying changed 2003-12-4 17:14
            //Focus in dir-area, the number must be less than the total dir count
            //Focus in file-area, the number must be less than the total file count of the dir
            if((pFsJpeg->ControlArea==CNT_AREA_FILE)&&(ir_select_number > mp3_file_count()))
                ir_select_number = 0;
            if((pFsJpeg->ControlArea==CNT_AREA_DIR)&&(ir_select_number > dir_num))
                ir_select_number = 0; 

            if (play_state==VCD_STATE_STOP)
            {
                if (ir_select_number > mp3_file_count())    //Maoyong 2004.03.10
                    ir_select_number = 0;
                else
                {
                    resumeMSF = 0;
                    pFsJpeg->file_current = ir_select_number;
                }
            }

// 2004/04/13 yltseng mark, it's no need now
/*
#ifdef SUPPORT_FILE_SYSTEM_MODE  // Robert 021007
            if (IsOtherStatePlayMode())
                ir_select_number = 0;
#endif
*/
        }else
        {
           #ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK    //linrc add 2004-10-29 11:20
           /*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
            if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000))
            {
                ir_select_number = x-1;
                x += (cd_trk_lo_now-2); 
            }
            else
            #endif
            {
            ir_select_number = x;
            x += (cd_trk_lo_now-1);
            }
            if(cd_type_loaded!=CDDVD)
            {
                if(!IsPBCOn()||(play_state==VCD_STATE_STOP))
                {
                    if(((x<cd_trk_lo_now)||(x>cd_trk_hi))&&(play_state!=VCD_STATE_9FRAMES))
                    {
                        ir_select_number=0;
                    }
                }
            }
            
            #ifdef CONTINUOUS_NUM_KEY_SELECT
            if((!(full_scrn&PROGRAM))&&(!(full_scrn&SETUP))&&(!(full_scrn&GOTO)))
            {
                if(((cd_type_loaded==CDVCD20)||(cd_type_loaded==CDSVCD)) && IsPBCOn())
                {
                  if(x<psdList.s.bsn || x>=psdList.s.bsn+psdList.s.nos)
                  {
                    ir_continuous_num_clr();
                    ir_select_number = 0;
                  }
                }
                else if(cd_type_loaded==CDDVD)
                {
                  //if(is_menu()&&(HL_exist==1))
                  {
                    if((x>get_tt_info(DISP_CH_Ns)) && (x>get_tt_info(DISP_TT_Ns)))
                    {
                      ir_continuous_num_clr();
                      ir_select_number = 0;  
                    }
                  }
                }
            }
            #endif
             
        }
/***************************/
//Add the code for judge the input and the file count in the dir(when repeat dir and repeat 1!!).
#ifdef  NUMBER_SELECTION_WHEN_REPEAT    //wuxiaofeng add for Minton 2004-03-10
        if(cd_type_loaded == CDROM)
        {
            if( ( (rep_mode==REPEAT_TRACK)//prevent inputing other track
                    &&(ir_select_number!=disp_trk_now) )//except the current track
                ||((rep_mode==REPEAT_DIRECTORY)//prevent inputing other directory
                    &&((ir_select_number > pFsJpeg->first_mp3_seq+pFsJpeg->file_specify_in_dir)//except the current directory
                    ||(ir_select_number < pFsJpeg->first_mp3_seq+1)) )
                )
                ir_select_number=0;
        }
#endif//#ifdef  NUMBER_SELECTION_WHEN_REPEAT
/***************************/
        if(ir_select_number)
        {
#ifdef TCL_DIRECT_SELECT_CHAPTER// 2004-3-22 14:20 lijd
            if(cd_type_loaded==CDDVD)

            {
                dvd_title = get_tt_info(DISP_TT);
                dvd_chapter=get_tt_info(DISP_CH_Ns);
            if(ir_select_number<=dvd_chapter)
            {
                dvd_chapter = ir_select_number; 
                if(dvd_title == 0)

                {
                        dvd_title =  1;
                        ircmd_post_func(CMD_FUNC|CMD_FUNC_PLAY );
                }
                else
                {
                    ircmd_post_func(CMD_FUNC|CMD_FUNC_PLAY );
                }
            }
            else
                {
                invalid_key();
                return;
                }

            }

            else

#endif
            /*Maoyong 2004.02.28
              When select MP3
             */
            #ifdef  MP3_DIRECT_SELECT_FAST2NORM     
            if( (cd_type_loaded == CDROM) && (!Is_JPEG_STATE()) )
                chg2normal_play(FAST2NORM, NOT_REALPLAY);
            #endif
            
            #ifdef CONTINUOUS_NUM_KEY_SELECT
			if(ir_num_timer)
			    ir_select_number = 0;
			else
                ircmd_post_func(CMD_SELECT | (ir_select_number));
            #else
            ircmd_post_func(CMD_SELECT | (ir_select_number));
            #endif
            if(ir_select_number)
            {

#ifdef ZOOM_DIRECT_STOP_SLIDE//nono 4-8-21 11:07
                if(jpg_slide_time == 0xffffffff)
                {
                    if(Is_JPEG_SlideMode())
                    {
                        jpg_slide_time = JPEG_SLIDE_TIME;
                    }
                 
                }
#endif

                if(!bIntro)
                {
                    #if (defined(JIEKE_DVD)||defined(AD_TCL))//2004-3-22 13:09 lijd
                                if(Is_JPEG_STATE())//wangfeng 2003-12-22 9:18                 
                        disp_trk_now = ir_select_number; 
                            #endif
                    #ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK  //linrc add 2004-10-29 11:20
                    /*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
                    if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000))
                    psprintf(RegionValStr[REGION1]," %02d",ir_select_number+1);
                    else
                    #endif
                    psprintf(RegionValStr[REGION1]," %02d",ir_select_number);
                    PrintOsdMsg(STR_OS_SELECT,REGION1,1,1);
                }
                if(rep_mode)
                {//terry,2002/5/2 03:26PM
                    //cancel repeat status ,avoiding dvd/vcd difference in repeat mode.

 
#ifdef MINTON_DVD       //wanghaoying 2003-8-4 16:24 added the limitation
                    //if((cd_type_loaded==CDDVD) //Marked by Wuxiaofeng for support DVD repeat
                    if(Is_JPEG_PLAY_STATE()&&pFsJpeg->gbfsSlide==0)//if not JPEG slide then cancel repeat
#endif
#ifndef NUMBER_SELECT_REPEAT_MODE_OFF   //clead 
                        rep_mode=0;//only cancel in (JPEG & !slide) mode
                    ShowRepInfo();
#endif //clead                  
#ifdef  NUMBER_SELECTION_WHEN_REPEAT    //wuxiaofeng add for Minton 2004-03-12
                    psprintf(RegionValStr[REGION2]," %02d",ir_select_number);
                    PrintOsdMsg(STR_OS_SELECT,REGION2,1,1);//display select info in region 2
#endif//#ifdef  NUMBER_SELECTION_WHEN_REPEAT
                }
            }
        }else
            invalid_key();

        init_ir_num();
    }
}

#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
//Maoyong 2004.05.26, just for record test on DVD platform
void TestRecordCmd(BYTE cmd)
{
    switch(cmd)
    {
        case 0: //stop
            printf("\nRecord test: Press KEY 1 as STOP button\n");
            break;
        case 1: //record
            printf("\nRecord test: Press KEY 2 as RECORD button\n");
            break;
        case 2: //play
            printf("\nRecord test: Press KEY 3 as PLAY button\n");
            break;
        case 3: //pause
            printf("\nRecord test: Press KEY 4 as PAUSE button\n");
            break;
        case 4: //set record quality High
            printf("\nRecord test: Press KEY 5 to set High quality \n");
            break;
        case 5: //set record quality High
            printf("\nRecord test: Press KEY 6 to set Middle quality\n");
            break;
        case 6: //set record quality High
            printf("\nRecord test: Press KEY 7 to set Low quality\n");
            break;
        default:
            break;
    }
    DSP_AudioIOControl(RECORDMIC,cmd,0);//2004AUDDRV AudioIOControl(RECORDMIC,cmd,0);
}
#endif //#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)


#ifdef QSI_SHOW_ERR_RATE
#include "ircmd_QSI.c"
#endif

void    ircmd_0(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(0);
else    
#endif
    ircmd_input_number(0);

}

void    ircmd_1(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(1);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(0);   //stop
    #else
        ircmd_input_number(1);
        #endif
}

void    ircmd_2(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(2);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(1);   //record
        #else
    ircmd_input_number(2);
        #endif
}

void    ircmd_3(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(3);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(2);   //play
    #else
        ircmd_input_number(3);
        #endif
}

void    ircmd_4(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(4);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(3);   //pause
    #else
        ircmd_input_number(4);
        #endif
}

void    ircmd_5(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(5);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(4);   //quality H
    #else
        ircmd_input_number(5);
        #endif
}

void    ircmd_6(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(6);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(5);   //quality M
        #else
    ircmd_input_number(6);
        #endif
}

void    ircmd_7(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(7);
else    
#endif
    #if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
    TestRecordCmd(6);   //quality L
        #else
    ircmd_input_number(7);
        #endif
}

void    ircmd_8(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(8);
else    
#endif
    ircmd_input_number(8);
}

void    ircmd_9(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)    
    QSI_setMSF(9);
else    
#endif
    ircmd_input_number(9);
}

void    ircmd_p10(void)
{
#ifdef SUPPORT_MIDI_MENU_SEL 
    if(gIsMidiSelMenu) 
    {
        return;
    }           
#endif   

#if defined(QSI_SHOW_ERR_RATE) && defined(SUPPORT_SPI_QSI)
    if(QSI_PIPO_TEST==0x1)    
    {
        if(QSI_PIPO_FLAG!=0)
        {
            MSF_trigger=2;
            QSI_PIPO_FLAG = 0;
            psprintf(linebuf, "QSI_PIPO> STOP testing!\n<Pressed any num key to continue> Or \n<Second press to finish phase of run-in.>\n");
            UART0_puts(linebuf);
        }
        else if(MSF_trigger==2)
        {
            spi_cmd_run_in_final();
        }
        else
        {
            psprintf(linebuf, "<Pressed NUM 0-9 to start PIPO testing>\n");
            UART0_puts(linebuf);
        }
    }
    else    
#endif
    ircmd_input_number(10);
}

void    ircmd_10(void)
{
    ircmd_input_number(0);
}





//============================ending===========================================

⌨️ 快捷键说明

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