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

📄 nx58_dec.c

📁 MP4 CODE IS GOOD ,NX5858 SKYLARK
💻 C
📖 第 1 页 / 共 4 页
字号:
						#endif
						cur_bar_pos = pre_bar_pos = FILE_INFO.DecodingSectorCnt/bar_temp;
						d_DisplayBar(cur_bar_pos);
					}
				#ifndef L320x240
				}else
					uDelay(1000);
				#endif
				KEY.bc.bPUSH = 0;
			}

#ifdef	MEDIASYNC_INCLUDE
			if(Is_LRC_file == LYRIC_YES_DIS_YES)
				fnMediaSyncDecInitLyric(0, 1, 4, 16);
#endif

			B0_Reset();
			Mp3_Mute_Off();
			#ifndef L320x240
			if(Is_LRC_file != LYRIC_YES_DIS_YES)
			#endif
				UI_DISPLAY(UI_PLAYMODE,ICON_PLAY);

			vol_step_up = 0;
			setVolume(vol_step_up);

			vol_mask_init = 1;

			#ifdef FADE_IN_FUNC
			audio_fad = 1;
			#endif

#ifdef LYRIC_FUNC

			Vbr_Lyric_Init();
			
#endif
			#if defined FIVE_KEY_VER
            }
			else{
				volume_value ++;
				if(volume_value > VOL_MAX_VALUE)
					volume_value = VOL_MAX_VALUE;
				else if(volume_value == 1)
					Mp3_Mute_Off();
	
				setVolume(volume_value);
	
				display_update = 3;
				UI_DISPLAY(UI_VOLUME, volume_value);

			}
			#endif


			break;

		case KEY_LREW:
			#if defined FIVE_KEY_VER
             		if(!vol_change){
			#endif

			Mp3_Mute_On();
			Dma_B0_PERI2RAM_Close();
			Dma_B0_RAM2PERI_Close();

			if(Is_LRC_file != LYRIC_YES_DIS_YES){
				UI_DISPLAY(UI_PLAYMODE,ICON_REW);
				scrolltitle(SCROLL_PAGE1, 0, BG_COLOR, F_WHITE);
				scrolltitle(SCROLL_PAGE2, 1, BG_COLOR, F_WHITE);
			}

			while(KEY.bc.bREW)
			{
				if(REW_Search(1, 20)){
					ff_rew_course = SEQ_FAST_REW;
					decode_state = FF_REW_STATE;				
					return 1;
				}
				#ifndef L320x240
				if(Is_LRC_file != LYRIC_YES_DIS_YES)
				{
				#endif
					if(UI_DISPLAY(UI_DEC_TIME, 1));
					else {
						#if defined L320x240
						bar_temp = (File_Size>>9)/190;
						#elif defined L128x128
						bar_temp = (File_Size>>9)/79;
						#elif defined L96x64
						bar_temp = (File_Size>>9)/42;
						#elif defined MONO_LCD
						bar_temp = (File_Size>>9)/80;
						#endif
						cur_bar_pos = FILE_INFO.DecodingSectorCnt/bar_temp;

						if(pre_bar_pos!=cur_bar_pos){
							pre_bar_pos = cur_bar_pos;
							#if defined L128x128 || defined L320x240
							LcdDisplayImage(IMG_PROGRESS_ANGLE);
							#elif defined L96x64
							LcdDisplayImage(IMG_MP3_EMPTY_BAR1, 3, 32, 49, 8);
							#endif
							d_DisplayBar(cur_bar_pos);
						}
					}
				#ifndef L320x240
				}else
				#endif
					uDelay(1400);
				KEY.bc.bPUSH = 0;
			}
	
	#ifdef	MEDIASYNC_INCLUDE
			if(Is_LRC_file==LYRIC_YES_DIS_YES)
				fnMediaSyncDecInitLyric(0, 1, 4, 16);
	#endif
				REW_Search(0, 20);
			#ifndef L320x240
			if(Is_LRC_file != LYRIC_YES_DIS_YES)
			#endif
				UI_DISPLAY(UI_DEC_TIME, 1);
	
	#ifdef LYRIC_FUNC
				InitLyricTimeStamp(1);
	#endif

				
			B0_Reset();
			Mp3_Mute_Off();
			#ifndef L320x240
			if(Is_LRC_file != LYRIC_YES_DIS_YES)
			#endif
				UI_DISPLAY(UI_PLAYMODE,ICON_PLAY);

			vol_step_up = 0;
			setVolume(vol_step_up);

			vol_mask_init = 1;

			#ifdef FADE_IN_FUNC
			audio_fad = 1;
			#endif
#ifdef LYRIC_FUNC

			Vbr_Lyric_Init();

#endif
			#if defined FIVE_KEY_VER
            }
			else{
				if(volume_value <= 1){
					volume_value = 0;
					Mp3_Mute_On();
				}
				else{
					volume_value --;
				}
				setVolume(volume_value);	
				display_update = 3;
				UI_DISPLAY(UI_VOLUME, volume_value);
			}
			#endif

			break;
		case KEY_PLAY:

			if(decode_state == DECODE_STATE){
				UI_DISPLAY(UI_PLAYMODE,ICON_PAUSE);
				decode_state = PAUSE_STATE;
			}else{
				UI_DISPLAY(UI_PLAYMODE,ICON_PLAY);
				decode_state = DECODE_STATE;
			}
			
			break;

		case KEY_LPLAY:
			FuncInMode = POWER_OFF_STATE;
			decode_state = MODE_EXIT_STATE;
			return 1;
			
		#ifdef G5_BOARD
		case KEY_MODE:
		#else	
		case KEY_LMODE:
		#endif	

			if(decode_state == PAUSE_STATE)		
				Other_process = 1;

			playlist_already_rsv = 0;
			display_update = 1;
			sub_mode_in_play = DEC_NAV;

			if(PBmode == PLAYLIST_ACT){ 
				Init_PLBM("P-LIST  ");
			}
			else if(PBmode == BOOKMARK_ACT){ 
				Init_PLBM("B-MARK  ");
			}
			else{

				NAV_CUR_DIR = CUR_DIR;
	
				{
					UINT8 ii;
					for(ii = 0; ii < 5; ii++) {
						NAV_SubDirInfo[ii] = SubDirInfo[ii];
					}
					MakeCurDirName(&NAV_CUR_DIR, NAV_SubDirInfo, 0);
		
					if(CUR_DIR_NAME.info == 1) {
						Get_LongDirName(NAV_IMAGE_BUFF1);
					}
					else {
						Get_ShortDirName(NAV_IMAGE_BUFF1);
					}
				}
	
				NAV_Display.cur = NAV_SubDirInfo[NAV_CUR_DIR.depth].total_subdir + TRACK_INFO.folder_cur;
				NAV_Display.end = NAV_SubDirInfo[NAV_CUR_DIR.depth].total_subdir + NAV_SubDirInfo[NAV_CUR_DIR.depth].total_file;

			}

			#if defined L320x240
			LcdDisplayImage(IMG_NAV_BG);
		
			LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
			#elif defined L128x128
			LcdDisplayImage(IMG_NAV_BG);
			LcdDisplayImage(IMG_LIST_SCROLL_BAR);
		
			LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
		
			#elif defined L96x64
			#endif
			check_10SEC_start = 1;
			time10 = T10S;
			break;

		#ifdef G5_BOARD
		case KEY_LMODE:
		#else	
		case KEY_MODE:
		#endif	
			if(decode_state == PAUSE_STATE)		
				Other_process = 1;

			display_update = 1;
			menu_depth = 0;
			menu_depth_previous = menu_depth;
			
			#ifdef ROCKCHIP_VER
			menu_position[menu_depth] = gIsMain_Mode;
			#else
			menu_position[0] = 0;		// menu_position[menu_depth] = 0;
			#endif
	
#ifdef MMC_SUPPORT
			Media_Select_tmp = Media_Select;
#endif

#ifdef MONO_LCD
#else
			LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
#endif
			sub_mode_in_play = DEC_MENU;
			check_10SEC_start = 1;
			time10 = T10S;

			break;
/*
		case KEY_EXT:
			if(Is_LRC_file != LYRIC_YES_DIS_YES){
				eq_graph_enable = !eq_graph_enable;
		#if defined L128x128
	
				if(eq_graph_enable){
					LcdDisplayImage(IMG_EQ_GRAPH_RIGHT);
				}
				else{
					LcdDisplayImage(IMG_BPS_TRACK_RIGHT);
					UI_DISPLAY(UI_TRACK, DONTCARE);
					UI_DISPLAY(UI_BITRATE, DONTCARE);
				}
		#elif defined L96x64
		#endif
			}
			break;
*/			
/*
		case KEY_STOP:
			sub_mode_in_play = DEC_PAUSE;
			FuncInMode = PAUSE_STATE;
			decode_state = MODE_EXIT_STATE;
			ff_rew_course = CURRENT;	// 泅犁邦栏肺...
			return 1;
*/
		case KEY_LREC:

			sub_mode_in_play = DEC_PAUSE;		
			FuncInMode = BOOKMARK_STATE;
			decode_state = MODE_EXIT_STATE;
			return 1;

			break;
		default:
			break;
		}


	}//END OF KEY

	return 0;
}

void Ch_Display(UINT16 nx_addr,UINT8 channel){

	//31,62,125,250,500,1000,2000,4000,8000,16000
	xdata UINT8 buffer[IMG_EQ_EQ_GRAPH_NUM];
	xdata UINT16 i,j;
	xdata UINT8 tmp = 0;

	for( i=0; i<IMG_EQ_EQ_GRAPH_NUM; i++){

		buffer[i] = read_XDATA(nx_addr++);	
		
		if(tmp < buffer[i])
			tmp = buffer[i];

	}

	tmp /= IMG_EQ_EQ_GRAPH_NUM;

	#ifdef L320x240
	for( i=0, j=0; i<IMG_EQ_EQ_GRAPH_NUM; i++, j+=12){
	#else
	for( i=0, j=0; i<IMG_EQ_EQ_GRAPH_NUM; i++, j+=5){
	#endif

		if(tmp != 0)
			buffer[i] /= tmp;

		if(buffer[i]>9) buffer[i]=9;

		LcdDisplayImage(IMG_EQ_01(buffer[i],j+channel));

	}

}

void EQ_Display(void){

	Ch_Display(DECODER_BAND0_LVALUE,0);

	#ifndef L320x240
	if(eq_graph_enable)
		Ch_Display(DECODER_BAND0_RVALUE,57);
	#else
	Ch_Display(DECODER_BAND0_RVALUE,150);
	#endif
}

void DEC_Message(void){

	if(LcdOnOff_Status == LCD_DISPLAY_ON){

		if(Is_LRC_file != LYRIC_YES_DIS_YES){
	
			if(UI_DISPLAY(UI_DEC_TIME, 0)) {
	
				if(IMAGE_INFO.Info.bc.b0) {
	
					if(IMAGE_INFO.Info.bc.b2) {
						if(IMAGE_INFO.size <= LCD_Title_Size)	IMAGE_INFO.Info.bc.b0 = 0;
	
						scrolltitle(SCROLL_PAGE1, 0, BG_COLOR, F_WHITE);
						scrolltitle(SCROLL_PAGE2, 1, BG_COLOR, F_WHITE);
	
						IMAGE_INFO.pos += 2;
						if(IMAGE_INFO.pos>=IMAGE_INFO.size)
							IMAGE_INFO.pos = 0;
						IMAGE_INFO.Info.bc.b2 = 0;
	
					}
	
				}
	
			}
			else {
				cur_bar_pos = FILE_INFO.DecodingSectorCnt/bar_temp;
				if(cur_bar_pos != pre_bar_pos){
					pre_bar_pos = cur_bar_pos;
					d_DisplayBar(cur_bar_pos);
				}
			}
		}
	#ifdef L320x240
		else {
			if(UI_DISPLAY(UI_DEC_TIME, 0)) {
				;
			}
			else {
				cur_bar_pos = FILE_INFO.DecodingSectorCnt/bar_temp;
				if(cur_bar_pos != pre_bar_pos){
					pre_bar_pos = cur_bar_pos;
					d_DisplayBar(cur_bar_pos);
				}
			}
		}
	#endif
			
	#ifdef MEDIASYNC_INCLUDE
		
		if((song_title == DIS_LYRICS_MODE) && (Is_LRC_file == LYRIC_YES_DIS_YES) && bLyricst_fire) {
	
			LyricDisplay();
	
		}
	
	#endif
	#ifdef LYRIC_FUNC
	
		LyricTestFunction();
	
	#endif

	}//end of if(LcdOnOff_Status == LCD_DISPLAY_ON){

	key_check = check_decode_key();

	if(bPrevHold != KEY.bc.bHOLD){
		bPrevHold = KEY.bc.bHOLD;
		UI_DISPLAY(UI_LOCK,bPrevHold);

		if(Is_LRC_file != LYRIC_YES_DIS_YES){
			eq_graph_enable = !eq_graph_enable;
	#if defined L128x128

			if(eq_graph_enable){
				LcdDisplayImage(IMG_EQ_GRAPH_RIGHT);
			}
			else{
				LcdDisplayImage(IMG_BPS_TRACK_RIGHT);
				UI_DISPLAY(UI_TRACK, DONTCARE);
				UI_DISPLAY(UI_BITRATE, DONTCARE);
			}
	#elif defined L96x64
	#endif
		}

	}


}

void Menu_Message(void){

	if(display_update == 0xF1){//to the other mode
		sub_mode_in_play = DEC_DEC;
		key_check = 1;
		decode_state = MODE_EXIT_STATE;
	}
	else if(display_update == 0xF2) {
		sub_mode_in_play = DEC_TRAN;
		check_10SEC_start = 0;
		time10 = T10S;
	}
	else if(display_update == 0xF3) {
		FuncInMode = POWER_OFF_STATE;
		decode_state = MODE_EXIT_STATE;
		key_check = 1;
	}
	else if(display_update) {

		#ifdef MENU_ANIMATION
		action_addr = 0;
		#endif

		dmenu_display();
		menu_depth_previous = menu_depth;

		if(display_update==0){

			if(MENU_IMAGE_INFO.Info.bc.b0){
				MENU_IMAGE_INFO.Info.bc.b2 = 1;
			}
		}

		#ifdef MENU_ANIMATION
		if(action_addr) {
			ani_count = 0;
			ani_time_tick = 50;
		}
		#endif

	}
	else {
		if(KEY.bc.bPUSH) {

			KEY.bc.bPUSH = 0;

			EL_Off_Check();

			time10 = T10S;

			display_update = dmenu_key_check();

		}
		else{

	#ifdef MENU_ANIMATION
			if(action_addr) {
				if(!ani_time_tick) {	// ani_time_tick == 0
			    	ani_time_tick = 50;
		
					#if defined L128x128 || defined L320x240
						#ifdef NEXIA_MENU
						LcdDisplayImage(IMG_MUSIC1(action_addr + ani_count));
						#else
						LcdDisplayImage(IMG_1MAIN_01(action_addr + ani_count));
						#endif
						
						if(++ani_count > 3) {
							ani_start = 0;
							ani_count = 0;
							action_addr = 0;
						}	
					#elif defined L96x64
					#endif
	
				}
			}
	#endif

			if(MENU_IMAGE_INFO.Info.bc.b0) {
				if(MENU_IMAGE_INFO.Info.bc.b2) {
					scrollMenu(cur_menu_section, 0, 0);
					scrollMenu(cur_menu_section+8, 1, 0);

					MENU_IMAGE_INFO.pos += 2;
					if(MENU_IMAGE_INFO.pos>=MENU_IMAGE_INFO.size)
						MENU_IMAGE_INFO.pos = 0;
					MENU_IMAGE_INFO.Info.bc.b2 = 0;
				}
			}
			else if(MENU_IMAGE_INFO.Info.bc.b3) {
				MENU_IMAGE_INFO.Info.bc.b3 = 0;
	

				scrollMenu(cur_menu_section, 0, 0);
				scrollMenu(cur_menu_section+8, 1, 0);

			}
		}
	}

}

void NAV_Message(void){

	if(display_update == 0xF2) {
		sub_mode_in_play = DEC_TRAN;
		check_10SEC_start = 0;
		time10 = T10S;
	}
	else if(display_update == 0xF3) {
		FuncInMode = POWER_OFF_STATE;
		decode_state = MODE_EXIT_STATE;
		key_check = 1;
	}

	#ifdef ROCKCHIP_VER
	else if(display_update == 0xF4) {
			if(decode_state == PAUSE_STATE)		
				Other_process = 1;

			display_update = 1;
			menu_depth = 0;
			menu_depth_previous = menu_depth;
			
			#ifdef ROCKCHIP_VER
			menu_position[menu_depth] = gIsMain_Mode;
			#else
			menu_position[0] = 0;		// menu_position[menu_depth] = 0;
			#endif
	
#ifdef MMC_SUPPORT
			Media_Select_tmp = Media_Select;
#endif

#ifdef MONO_LCD
#else
			LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
#endif
			sub_mode_in_play = DEC_MENU;
			check_10SEC_start = 1;
			time10 = T10S;
	}		
	#endif

	else if(display_update){

		if(PBmode == NO_ACT)
			display_update = dnavigation_display(display_update);
		else
			display_update = displayPlaylistNavigation(display_update);

	}
	else if(!display_update){
		if(KEY.bc.bPUSH) {

			KEY.bc.bPUSH = 0;

			EL_Off_Check();

			time10 = T10S;

			if(PBmode == NO_ACT)
				display_update = dnav_key_check();
			else
				display_update = dkeyCheckInPlaylistNav();


⌨️ 快捷键说明

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