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

📄 ircmd_subtitle.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 2 页
字号:
	if(system_state == SYSTEM_TS)
	{
		extern int g_Ttx_Mode;
		if(g_Ttx_Mode == 0)
			EnterTeletextMode();
		else
			ExitTeletextMode();	
		return;
	}
	#endif
#endif	//#ifdef DVB1000_NON_OS
    
#ifdef SUPPORT_MIDI_MENU_SEL  //xlluo for midi title 
        if (Is_MIDI_STATE())
        {
		invalid_key();
		return;
        }
#endif
#ifdef SUPPORT_FILEKOK
        //xlluo add, it's invalid in Mp4 kok status//0703027
        extern  BYTE          g_scIsMp4Karaoke;         //global variable
        if (g_scIsMp4Karaoke)
        {
            invalid_key();
            return;
        }
#endif

#ifdef SUPPORT_MIDIDISK_TITLE
        if (bIsPlayMidiTitle)//xlluo for midi title
        {
		invalid_key();
		return;
        }
#endif
#ifdef	INVALID_SUBPICTURE_WHEN_SVCD	//wuxiaofeng 2004-03-23
	if(cd_type_loaded==CDSVCD)
	{
		invalid_key();
		return;
	}
#endif//#ifdef	INVALID_SUBPICTURE_WHEN_SVCD

    /*
	#if defined(ADJUSTING_ACTION_VALID_RIGHT_NOW)
	#ifdef NEWSTYLE_WINDOW
		if ( (full_scrn&MESSAGE) && (action_click==2) )	// alan, 2003/8/28 05:32PM
			action_click = 0;
		else
	#endif
    action_click = 1; //Jeff 20030506
    #endif
    */
#ifdef	JPEG_EFFECT_MODE_USE_SUBTITLE//zhaoyanhua add 2003-12-24 9:50
	if(cd_type_loaded == CDROM)
	{
		if (Is_JPEG_PLAY_STATE())
		{
#ifdef JPG_EFFECT
			jpeg_effect_toggle();
#endif
		}
		else
			invalid_key();
		
		return;
	}
#endif

    //kevinmonkey 060606 if IR command flows to this place, check stream number. currently
    //meant for mpeg2 and AVI with subpicture/subtitle or multi audio track
    //if(stream number == -1) invalid key, if(stream number == 1) print stream 1 message.
    if(pDSV->dAv_SPST_Ns == 255)
    {
        invalid_key();
        return;    
    }
    else if(pDSV->dAv_SPST_Ns == 0)
    {
        #ifdef VOB_SUBTITLE 
        if(GetCurrentFileType()!=CDROM_MPG)
        #endif
        {
            invalid_key();
            return;
        }
    }

#ifdef SUPPORT_QUICKTIME
    if ((GetCurrentFileType() ==CDROM_MP4) && (sub_picture_QT()))
        return;
#endif //SUPPORT_QUICKTIME    

    //Jeff change, 20031006, fix press IR(GOTO) sub-picture will be "automatic" toggled
    #if defined(ADJUSTING_ACTION_VALID_RIGHT_NOW)
    	#ifdef NEWSTYLE_WINDOW
        	if ( (full_scrn&MESSAGE) && (action_click==2) )	 
        		action_click = 0;
        	else
      	#endif
        action_click = 1; //Jeff 20030506
    #else
        #ifdef NEWSTYLE_WINDOW
		    if ( (full_scrn&MESSAGE) && (action_click==2) )	// alan, 2003/8/28 05:32PM
			    action_click = 0;
	    #endif
    #endif

#ifdef VOB_SUBTITLE
	if(GetCurrentFileType()==CDROM_MPG) {
		id=Subp_stream_Chg_VOB(action_click);
	}
	else	
#endif    
		//chg & check subtitle stream id
		if( !(!DVD_check_state()&&(cd_type_loaded==CDDVD)) )
		{
            #ifdef NEW_SEARCH_OSD  //yw 021007
            if(key_up_down==0)
				//id=Subp_stream_Chg(action_click,-1); //Jeff 20021008
				id=Subp_stream_Chg(action_click,1); //nono 2-11-22 11:19
            else
            #endif
				id=Subp_stream_Chg(action_click,1); //Jeff 20021008

		   printf("chg sub-title\n");
		}

        printf("pDSV->dAv_SPST_Ns:%x\n",pDSV->dAv_SPST_Ns);
		//setting osd data
        //id : 0x40:Ch1, 0x41:Ch2, 0x42:Ch3, 0x43:Ch4, 0xbf:off
		#ifdef ALCO_DVD_UI
		if((id&0x40)&&((id&0x3f)<=pDSV->dAv_SPST_Ns)&&(pDSV->dAv_SPST_Ns>0))//shenyj modify for alco 11/22
		#else
		if( (id&0x40)&&( (id&0x3f)<pDSV->dAv_SPST_Ns ) ) 
		#endif
		{
            
            timer=((id&0x3f)<<8)|0x01;
#ifdef TWO_SUBTITLE//terry,2004/8/4 09:39AM
        #ifndef TWO_KEY_SWITCH_TWO_SUBTITLE  //modified by wangwei,2004-9-29 17:02
            sel_2nd_subtitle(id+1);
        #else          
        if(action_click)
        {
            if(IDTWO==(NP_SPSTN&0x3f))  //same one,close the 2nd subtitle.
            {
                sup_select_subtitles(1);
            twoSubTTFlag=1;
        }
            else if(IDTWO>=pDSV->dAv_SPST_Ns)  //off,close the 2nd subtitle.
        {
            sup_select_subtitles(1);
                twoSubTTFlag=0;
        }
            else if(IDTWO!=-1)
        {
                sup_select_subtitles(2);
                twoSubTTFlag=2;
            }
        }
        #endif//TWO_KEY_SWITCH_TWO_SUBTITLE
        
#endif            
            id_str=0x20;       
		}else
		{
            id_str=STR_OS_OFF;
            timer=1;
		}

        PrepareToLoadMP4InternalSubtitle();     // 2004/09/17 yltseng
	#if defined (SUPPORT_SMI_MultiLanguage)//parse external caption before show the caption id
        PrepareToLoadMP4ExternalSubtitle();
 	#endif
		//show osd str
		if(id)
        {
#ifdef SPHE1000_DVDSTATE_CALLBACK			//2004/10/21 wjzhang , sphe1000B(stb-dvd): osd display
            if(id==0xbf|id==0x7e)
				OSD1000ISP_STATUS(OSDISP_TITLE_OFF, OSDIR_SUB_TITLE);
			else
                OSD1000ISP_STATUS(((pDSV->dAv_SPST_Ns)<<4)|(id+1&0x0f), OSDIR_SUB_TITLE);
#endif
            //PrintOsdMsg(STR_OS_SUBTITLE|(id_str<<8),REGION1,timer,4);
        #ifdef SUPPORT_DIVX6
            extern UINT32 is_divx6_file;
            extern void	divx6_display_subpic_track(UINT8 sup_strm_num);
            //kevinmonkey 060821 switch to divx6 display function only for clips with internal subpicture.
            if (is_divx6_file == 1 && (file_sup_num != 0)) 
            {
               divx6_display_subpic_track(NP_SPSTN & 0x3f);
            }
            else
        #endif
       #ifdef SUPPORT_MP3_ENCODER  //qinhua,2005-11-9 9:26   
           if ((cd_type == CDDA)&&!(detect_type))
            {              
              psprintf(RegionValStr[REGION1], "NO DEVICE");
	      PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
            }
           else if((cd_type == CDDA)&&(detect_type))
           {
 	   return;
           }
           else
            PrintOsdMsg(STR_OS_SUBTITLE|(id_str<<OSDSTR_ID_TOTL_BIT),REGION1,timer,4);
       #else
            {
                PrintOsdMsg(STR_OS_SUBTITLE|(id_str<<OSDSTR_ID_TOTL_BIT),REGION1,timer,4);
    
                #ifdef SUPPORT_MP4_SUBTITLE
                if(show_unsupported_message)
                {
                 	 psprintf(RegionValStr[REGION2], "UnSupported");
        	         PrintOsdMsg(STR_OS_SPACE, REGION2, 1, 1);
                }	
                #endif
            }
       #endif 
        }
        else {
    #ifdef NEWSTYLE_WINDOW
		if(full_scrn&MESSAGE)//xyy 2003-7-29 15:08
			psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][STR_OS_NONE]);
		else
    #endif
            invalid_key();
        }
    #ifdef NEWSTYLE_WINDOW
		if(full_scrn&MESSAGE)//xyy 2003-7-29 15:08
            updateSubtitle();
    #endif
}

#ifdef DOUBLE_TITLE //susu 2003-8-22 18:44
void ircmd_double_picture(void)
{
	if(full_scrn&DOUBLETITLE) 
	{
		exit_double_title();
	}
	else
	{
		if( !(!DVD_check_state()&&(cd_type_loaded==CDDVD)) )
		{
			full_scrn=DOUBLETITLE;
			exe_double_title();
			
			//Maoyong added for IR U/D/L/R/Sel proc func setting 2004-9-24 9:13
            SetFullscrnCmdFuncPtr( double_title_func_up, double_title_func_down, double_title_func_left,
                                   double_title_func_right, double_title_func_select);
		}
		else
	        invalid_key();
	}
}
#endif



⌨️ 快捷键说明

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