📄 stop.c
字号:
extern void VMG_Load_PTL_MAIT(void);
#if defined(JPEG_STOP_KEY_SHOW_STOP) //yaowh modi 041123
int is_stop_key;
#endif
#ifdef SUPPORT_WMA
extern int fnWMAgotoPacket(UINT32 nPck);
#endif
#ifdef SUPPORT_MP3_ENCODER //qinhua,2005-11-10 20:34
extern void stop_current_ripping(void);
extern UINT32 recNew;
#endif
#ifdef MP3_ONLY_STOP_TO_GUI//zhaoyanhua add 2004-1-5 16:52
//for bbk,when MP3 ,stop has no PRE_STOP and stop at GUI.
/*
* Description:
* clear some parameters to not excute ResumePlay.
*
*/
static inline void ClrMP3ResumePara(void)
{
#if !defined(MP3_STOP_IN_GUI_AND_NEED_RESUME_MSF)&&!defined(ALCO_DVD_UI)
if ( Is_MP3_STATE() )
{
resumeMSF = 0;
disp_time = 0;
#ifndef MP3_STOP_IN_GUI_AND_NEED_RESUME_TRACK
FSNav_MP3Init(); //axel for cannot resume 1st mp3 2004/8/5
#endif
#ifdef SUPPORT_WMA//zhaoyanhua add 2004-1-7 14:27
if (GetCurrentFileType() == CDROM_WMA)
{
asf_resume_pck = asf_pck_current = 0;
asf_resume_len = lba_st.len = 0;
}
#endif//SUPPORT_WMA
}
#endif//end #ifndef MP3_STOP_IN_GUI_AND_NEED_RESUME_MSF
}
#endif//MP3_ONLY_STOP_TO_GUI
#if (defined(STOP_LOADER)||defined(SUPPORT_RECEIVER)) //huziqin 2004-2-26
UINT8 pre_stop;
void stop_loader(void)
{
if(pre_stop)
{
pre_stop=0;
flush_atapi();//terry,0515,let data tranfer finish
}else
{
abort_play();
}
}
#endif
/*
** ircmd stop
*/
//#define PLAY_JPEG_STOP_USE_AS_RETURN
#ifdef FALSE_POWER//zhuyanfeng 20041008
extern BYTE j;
#endif
#ifdef USER_VERSION_INFORMATION//eastech
extern BYTE custm_count;
extern BYTE enter_display_flag;
#endif
#ifdef MP3_STOP_IN_GUI_AND_LOGO //linrc add 2004-8-2 10:40 for SHAPE DVD
UINT8 Stop_StateForTwice = 0; //when play mp3,first enter stop,it stop to GUI, the twice enter stop to logo
#endif //this parameter is the enter counter
#ifdef STOP_15M_AUTO_POWEROFF
UINT8 STOP_15M_STATE;
extern unsigned short int sleep_counter;
#endif
#ifdef TEST_VFD_PANNEL_AND_KEY//lijd 2005-5-8 14:00
BYTE Test_Stop_flag=0;
#endif
#ifdef MP3_ONLY_STOP_TO_GUI// wsf 2005-7-5 16:57
extern void FSShowDirIcon(void);
extern UINT16 refresh_dir_page;
#endif
#ifdef MP3_JPEG_COWORK
BYTE cowork_dsp_stop; //hongfeng 2006/4/24 17:32
#endif
void ircmd_stop(void)
{
#ifdef ALCO_DIVX_UI//shenyj add for alco 12/12
if((GetCurrentFileType() == CDROM_AVI)||(GetCurrentFileType() == CDROM_MP4))
{
if((system_state==SYSTEM_SETUP_BROWSER)||(play_state==VCD_STATE_READTOC))
{
invalid_key();
return;
}
}
if((GetCurrentFileType() == CDROM_AVI)||(GetCurrentFileType() == CDROM_MP4))
osd_init();
#endif
#ifdef OP_DVD5121_PANEL //qinhua ,add 2005-9-5 22:34
if (regs0->iop_data[6]==IR_ADDR_PATT)
{
if( (pressed_flag!=1) )
{
pressed_flag = 1;
return;
}
else
{
pressed_flag = 0;
}
}
#endif
#ifdef SUPPORT_MP3_ENCODER //qinhua,2005-11-10 20:34
if(cd_type_loaded == CDDA)
{
if((pre_ripping_flag)||((mp3_encoder_state == test_write_data)&&(recNew<1)))
{
invalid_key();
return;
}
ripping_flag=0;
stop_current_ripping();
}
#endif
int id;
#ifdef OP_PLAYMODE//libing 2005-7-4 10:10
extern int program_func_flag;
program_func_flag = 0;
#endif
#ifdef SCORE_IN_PLAYMODE_MENU//libing 2005-8-3 19:41
score_flag = 0;
#endif
#ifdef DVD_5_DISC_RESUME//lijd 2005-6-30 21:56
if(cd_type_loaded == CDDVD)
{
RSM_save(0xff,DVD_PRESTOP_RSM_ITEM); //chenzhao 2006-9-13 11:39 .
}
#endif
#if defined(MP3_JPEG_COWORK)&&defined(STOP_MP3_JPG_ALL)//hongfeng modify 2005-12-06
if(pFsJpeg->gifsFuncBtn==FS_FUNC_JPEG)//&&(back_sign==0))
{
cowork_dsp_stop = AUDIF_Set_Stop();
}
#endif
#ifdef JPEG_STOP_TO_RETURN //hongfeng 2005-11-1
if(Is_JPEG_STATE())
{
ircmd_post_func(CMD_FUNC|CMD_FUNC_RETURN);
return;
}
#endif
#ifdef KODAKBOOK_only_ONE_STOP //hongfeng 2005-04-27
if(pFsJpeg->g_nJpegMode == JPEG_THUMBNAIL_MODE )
{
invalid_key();
return;
}
#endif
#ifdef MP3_ONLY_STOP_TO_GUI //hongfeng add 2005-11-07
if(play_state==VCD_STATE_MP3_FILELIST)
{
invalid_key();
return;
}
#endif
#ifdef OP_PLAYMODE//libing 2005-7-14 22:01
if(shuffle_flag)
shuffle_flag = 0;
#endif
#ifdef MP3_ONLY_STOP_TO_GUI//wsf 2005-7-5 16:57
if((cd_type_loaded == CDROM)&&((cd_subtype == CDROM_MP3)||(cd_subtype ==CDROM_WMA)))
{
refresh_dir_page=1;
FSShowDirIcon();
}
#endif
#ifdef OP_STOP_PANEL_DISPLAY//lijd 2005-6-30 11:33
StopTimes++;
if(StopTimes>2) StopTimes=2;
#endif
#ifdef CrYCb16_GRAPHIC_MODE //axel 2005/5/20
regs0->display_mode = 0x0;
#endif
#ifdef TEST_VFD_PANNEL_AND_KEY//lijd 2005-5-8 14:00
if( (play_state==VCD_STATE_IDLE)||(play_state==VCD_STATE_OPEN) )
{
if(Test_Front_Panel_flag==1)
{
Test_Stop_flag++;
if(Test_Stop_flag>2) Test_Stop_flag=0;
return;
}
else return;
}
#endif
#ifdef DVB1000_NON_OS
#if defined(SUPPORT_EPG) && defined(STOP_KEY_ENTER_EPG) //in Argus IR, EPG/STOP are combo key
if( (system_state == SYSTEM_TS) && (full_scrn == 0) && !is_zoom())
{
ShowEPGWindow();
return;
}
#endif
#endif //#ifdef DVB1000_NON_OS
#ifdef STOP_CHG_TO_RETURN
UINT8 do_return_in_stop = 0;//liumzh 0416
if(Is_OTHER_STATE() || Is_JPEG_STATE())//liumzh 0416
{
ircmd_post_func(CMD_FUNC | CMD_FUNC_RETURN);
do_return_in_stop = 1;
}
#endif
#ifdef OP_PLAYMODE //libing 2005-4-13 16:58
DispFadeOut();
#endif
#ifdef STOP_15M_AUTO_POWEROFF
sleep_counter=15;
STOP_15M_STATE=1;
#endif
//Maoyong 2004-10-25 15:51 for DVB Scan stop
#ifdef DVB1000_OSD_MENU
if(system_state == SYSTEM_TS)
{
if(ScanCompleted == 0)
UserAbortScan = 1;
return;
}
#endif
#ifdef NEED_DIFF_IR_PANEL_KEY
if(panel_key_flag & (0x01<<0))
panel_key_flag = 0;
#endif
#if defined(ALCO_DVD_UI)
if((!resumeMSF) && ((play_state==VCD_STATE_STOP)||
#ifdef JPEG_THUMBNAIL_MENU
((cd_type_loaded==CDROM)&&(Is_JPEG_STATE())&&(!pFsJpeg->gbfsSlide)&&(JPEG_THUMBNAIL_MODE!=pFsJpeg->g_nJpegMode)))
#else
((cd_type_loaded==CDROM)&&(Is_JPEG_STATE())&&(!pFsJpeg->gbfsSlide)))
#endif
)
{
if(((Is_JPEG_STATE())&&(!pFsJpeg->gbfsSlide))&&(pFsJpeg->ControlArea!=CNT_AREA_DIR))
{
ircmd_left();
#ifndef JPEG_NOT_STOP_LOADER
#ifdef STOP_LOADER
stop_loader();
#endif
#endif
}
else
invalid_key();
return;
}
#endif//#if defined(ALCO_DVD_UI)
#ifdef ALCO_DVD_UI
if(/*(prog_cnt) &&*/ (play_state==VCD_STATE_STOP))
{
prog_func_off();
prog_func_clear();
}
#endif
#ifdef CONTINUOUS_NUM_KEY_SELECT
if(ir_num_timer)
ir_continuous_num_clr();
#endif
#ifdef SUPPORT_MIDIDISK_TITLE
if (bIsPlayMidiTitle)//xlluo for midi title
{
invalid_key();
return;
}
#endif
#ifdef SUPPORT_SANJING_STOP //xlluo add 04-11-6 for sanjing request
if (MenuState >= MENU_MULTI_INDEX_SEL)
{
invalid_key();
return;
}
#endif
#if defined(JPEG_MENU_DONT_PAUSE)&&defined(PORTABLE_DVD)//Jack 20041008 nono modify 20041009
#ifdef JPEG_THUMBNAIL_MENU
if((JPEG_THUMBNAIL_MODE == pFsJpeg->g_nJpegMode && pFsJpeg->gbfsSlide)/* && (pFsJpeg->gbfsSlide == 0)*/)
pFsJpeg->g_nJpegMode = JPEG_NORMAL_MODE;
#endif
#endif
if ( (Is_MP3_STATE()) && (adv_search_time!=0) ) //liumzh 2004-9-10 17:24
adv_search_time = 0;
//Maoyong 2004-8-13 0:45 stop should not do action in thumbnail menu for usage: stop key not return from 6 pic mode to GUI
#if defined(JPEG_THUMBNAIL_MENU) && defined(MODIFY_KODAKBOOK_NO_GUI)
if(JPEG_THUMBNAIL_MODE == pFsJpeg->g_nJpegMode)
{
invalid_key();
return;
}
#endif //#ifdef JPEG_THUMBNAIL_MENU
#ifdef MP3_STOP_IN_GUI_AND_LOGO //linrc add 2004-8-2 10:43
if(play_state == VCD_STATE_NORMAL && play_state != VCD_STATE_MP3_FILELIST)
{
Stop_StateForTwice = 0;
}
if(cd_type_loaded==CDROM && Is_MP3_STATE())
{
Stop_StateForTwice++;
}
#endif
#if defined(MP3_ONLY_STOP_TO_GUI)&&defined(MODIFY_MP3_ONLY_STOP_TO_GUI)//nono add 4-8-10 11:00
if ( (Is_MP3_STATE())
&& (play_state == VCD_STATE_MP3_FILELIST) //only in FsMP3mainloop,can use "REPAB"
)
{
invalid_key();
return;
}
#endif
#ifdef USER_VERSION_INFORMATION //eastech
printf("enter ircmd_stop \n");
if( (play_state==VCD_STATE_OPEN)) //||(play_state==VCD_STATE_OPEN) )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -