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

📄 stop.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 2 页
字号:
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 + -