📄 ircmd_num.c
字号:
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 + -