📄 slave.c
字号:
Send_Buffer[1] = (unsigned char )(play_state & 0xff); Send_Buffer[2] = (unsigned char )(Disc_Status_Monitor & 0xff); Make_Check_Sum(3); Total_Byte = 4; return 1;}/** Playing Modes **/int Task_Play_Mode(int flag){ if (flag) { Repeat_Mode_Old = (repeat_mode&0x0F)|((repeat_a2b&0x0F)<<4); Display_Mode_Old = TimeMode; Play_Order_Old = Play_Order_Monitor; force_Play_Mode_flag = 0; return 1; } if ((Repeat_Mode_Old == ((repeat_mode&0x0F)|((repeat_a2b&0x0F)<<4))) &&(Display_Mode_Old == TimeMode) &&(Play_Order_Old == Play_Order_Monitor) && (force_Play_Mode_flag == 0)) return 0; Send_Buffer[0] = mPLAYING_MODE; Send_Buffer[1] = (unsigned char )((repeat_mode&0x0F) |((repeat_a2b&0x0F)<<4)); Send_Buffer[2] = (unsigned char )TimeMode; Send_Buffer[3] = (unsigned char )Play_Order_Monitor+1; Make_Check_Sum(4); Total_Byte = 5; return 1;}/* TL Lim added 9/30/2000 *//** Karaoke Settings **/int Task_Karaoke_Setting(int flag){ extern int audio_level; extern unsigned char vocal_assist_on; if (flag) { force_Karaoke_Setting_flag = 0;#ifdef EQUALIZER kara_old_set = EQ_music_type_effect;#endif return 1; } if ( (force_Karaoke_Setting_flag == 0) #ifdef EQUALIZER && (kara_old_set == EQ_music_type_effect) #endif ) return 0; Send_Buffer[0] = mKARAOKE; Send_Buffer[1] = (unsigned char )(vcx_karaokey+7); Send_Buffer[2] = (unsigned char )vcx_echo; Send_Buffer[3] = (unsigned char )audio_level; Send_Buffer[4] = 0; Send_Buffer[5] = (unsigned char )vocal_assist_on; Make_Check_Sum(6); Total_Byte = 7; return 1;}/** System Settings **/int Task_System_Setting(int flag){ if (flag) { TV_Type_old = currentTVmode; audio_mode_old = audio_mode; force_System_Setting_flag = 0; return 1; } if ((TV_Type_old == currentTVmode) &&(audio_mode_old == audio_mode) && (force_System_Setting_flag == 0)) return 0; Send_Buffer[0] = mSYSTEM; Send_Buffer[1] = (unsigned char )(currentTVmode); Send_Buffer[2] = (unsigned char )audio_mode; Make_Check_Sum(3); Total_Byte = 4; return 1;}/** Send OSD Mask Select Setting Value **/int Task_OSD_Select_Setting(int flag){ unsigned char temp1, temp2; int ignore_key, key; if (flag) { force_osd_setting_flag = 0; return 1; } if (force_osd_setting_flag == 0) return 0; Send_Buffer[0] = mOSD_SELECT_SETTING; Send_Buffer[1] = (unsigned char) (host_OSD_mask>>8); Send_Buffer[2] = (unsigned char) (host_OSD_mask&0xFF); Make_Check_Sum(3); Total_Byte = 4; return 1;}/** Send EAUX Value **/int Task_Read_EAUX(int flag){ if (flag) { force_read_eaux_flag = 0; return 1; } if (force_read_eaux_flag == 0) return 0; Send_Buffer[0] = mREAD_EAUX; Send_Buffer[1] = GET_EAUX15_8; Send_Buffer[2] = GET_EAUX7_0; Make_Check_Sum(3); Total_Byte = 4; return 1;}/** Send Version Number Value **/int Task_Version_Number(int flag){ if (flag) { force_version_number_flag = 0; return 1; } if (force_version_number_flag == 0) return 0; Send_Buffer[0] = mVERSION_NUMBER; Send_Buffer[1] = 0x03; /* Version 2.0 */ Send_Buffer[2] = 0x00; Send_Buffer[3] = 0x01; Make_Check_Sum(4); Total_Byte = 5; return 1;}int Task_MP3_Send_Song_Name(int flag){ int i,temp, cur_song_ID; if (flag) { force_Send_MP3_songname_flag = 0; return 1; } if (STREAM_type != MP3_ID) return 0; if (force_Send_MP3_songname_flag == 0) return 0; Send_Buffer[0] = mMP3_SONG_NAME; cur_song_ID = cur_track_index + 1; temp = cur_song_ID/100; Send_Buffer[1] = temp; temp = cur_song_ID - temp*100; Send_Buffer[2] = (hex2bcd[temp] & 0xff); mp3_file_name_ptr = (unsigned char *)iso9660_file[cur_track_index].name; for (i=3; (i<23)&&(*mp3_file_name_ptr); i++) { /* Max send out charactors are 20 */ Send_Buffer[i] = (unsigned char) *mp3_file_name_ptr++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1; return 1;}int Task_MP3_Send_Dir_Name(int flag){ int i, temp; int cur_dir_ID; if (flag) { force_Send_MP3_directory_name_flag = 0; return 1; } if ( STREAM_type != MP3_ID) return 0; if ( mp3_cur_dir_index != mp3_dir) { /*Jump from a dir to another automatically, need it */ mp3_cur_dir_index = mp3_dir; force_Send_MP3_directory_name_flag = 1; } if (force_Send_MP3_directory_name_flag == 0 ) return 0; Send_Buffer[0] = mMP3_DIRECTORY_NAME; cur_dir_ID = mp3_cur_dir_index + 1; temp = cur_dir_ID/100; Send_Buffer[1] = temp; temp = cur_dir_ID - temp*100; Send_Buffer[2] = (hex2bcd[temp]&0xff); mp3_file_name_ptr = (unsigned char *) \ iso9660_dir[real_track[mp3_cur_dir_index]].name; for (i=3; (i<23)&&(*mp3_file_name_ptr); i++) { /* Max send out charactors are 20 */ Send_Buffer[i] = (unsigned char) *mp3_file_name_ptr++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1; return 1;}int Task_Servo_Info(int flag){ extern unsigned char cd_stop; if (flag) { force_Servo_Info_flag = 0; return 1; } if (force_Servo_Info_flag == 0) return 0; Send_Buffer[0] = mHOME_POSITION; Send_Buffer[1] = cd_stop; Make_Check_Sum(2); Total_Byte = 3; return 1;}int Task_mp3_title(int flag){ int i; char *temp; if (flag) { force_mp3_title_flag = 0; return 1; } if (force_mp3_title_flag == 0) return 0;#ifdef USE_ID3_INFO temp = &(ID3_info->song_title[0]); Send_Buffer[0] = mMP3_SONG_TITLE; for (i= 1; (i<31)&&(*temp); i++){ Send_Buffer[i] = *temp++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}int Task_mp3_artist(int flag){ int i; char *temp; if (flag) { force_mp3_artist_flag = 0; return 1; } if (force_mp3_artist_flag == 0) return 0;#ifdef USE_ID3_INFO temp = &(ID3_info->artist[0]); Send_Buffer[0] = mMP3_ARTIST; for (i= 1; (i<31)&&(*temp); i++){ Send_Buffer[i] = *temp++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}int Task_mp3_album(int flag){ int i; char *temp; if (flag) { force_mp3_album_flag = 0; return 1; } if ( STREAM_type != MP3_ID ) return 0; if (force_mp3_album_flag == 0) return 0;#ifdef USE_ID3_INFO temp = &(ID3_info->album[0]); Send_Buffer[0] = mMP3_ALBUM; for (i= 1; (i<31)&&(*temp); i++){ Send_Buffer[i] = *temp++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}int Task_mp3_year(int flag){ int i; char *temp; if (flag) { force_mp3_year_flag = 0; return 1; } if ( STREAM_type != MP3_ID ) return 0; if (force_mp3_year_flag == 0) return 0;#ifdef USE_ID3_INFO temp = &(ID3_info->year[0]); Send_Buffer[0] = mMP3_YEAR; for (i= 1; i<5; i++){ Send_Buffer[i] = *temp++; } Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}int Task_cdt_title(int flag){ int i; unsigned char *temp; if (flag) { force_cdt_title_flag = 0; hs_cdt_track_num = cur_track_number; return 1; } if ((force_cdt_title_flag == 0) && (hs_cdt_track_num == cur_track_number)) return 0;#ifdef CD_TEXT if (!CDT_data_ready) return 0; extern CD_T cd_t; if (!cd_t) return 0; temp = (cd_t->Track_Titles[cur_track_number]); Send_Buffer[0] = mCDT_TRACK_TITLE; for (i= 1; (i<31)&&(*temp); i++){ Send_Buffer[i] = *temp++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}int Task_cdt_artist(int flag){ int i; unsigned char *temp; if (flag) { force_cdt_artist_flag = 0; hs_cdt_track_num0 = cur_track_number; return 1; } if ((force_cdt_artist_flag == 0) && (hs_cdt_track_num0 == cur_track_number)) return 0;#ifdef CD_TEXT if (!CDT_data_ready) return 0; extern CD_T cd_t; if (!cd_t) return 0; temp = (cd_t->Performers[cur_track_number]); Send_Buffer[0] = mCDT_TRACK_ARTIST; for (i= 1; (i<31)&&(*temp); i++){ Send_Buffer[i] = *temp++; } Send_Buffer[i++] = 0; Make_Check_Sum(i); Total_Byte = i+1;#else Total_Byte = 0;#endif return 1;}void Make_Check_Sum(int Number){ int i; Send_Buffer[Number] =0; for (i=0;i<Number;i++) Send_Buffer[Number]+=Send_Buffer[i];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -