long win_mp_subtitle_read_page(UINT8 top) { long i, j; long ret = -1; long number; long current_language_index; char description[201] = {0}; long description_len; char *temp; if (!subtitle_handle) { return -1; } number = 0; description_len = 200; if(g_ext_subtitle_plugin) ret = g_ext_subtitle_plugin->mps_query_language(subtitle_handle, &number, ¤t_language_index, description, &description_len); if (ret < 0) { return -1; } if(top > number) { top = 0; OSD_SetListCurPos(&g_ls_subtitle,0); OSD_SetListTop(&g_ls_subtitle,0); } for(i = 0;i < SUBTITLE_ITEM_NUMBER;i++) { if((top+i) < number) { temp = description + (top+i)*4; Subtitle_track_str[i][0]=temp[0]; Subtitle_track_str[i][1]=temp[1]; Subtitle_track_str[i][2]=temp[2]; Subtitle_track_str[i][3]=0; Subtitle_track_str[i][4]=0; Subtitle_track_str[i][5]=0; Subtitle_track_str[i][6]=0; ComUniStrToMB(Subtitle_track_str[i]); win_com_set_idx_str(top+i, Subtitle_track_idx[i], 2); } else { Subtitle_track_idx[i][0]=0; Subtitle_track_str[i][0]=0; } } return 1; }
void win_subtitle_read_page(UINT8 top) { UINT8 i,ttx_idx,subt_idx; struct t_subt_lang* p_lang; struct t_ttx_lang* p_ttx_lang; p_lang = sub_lang_list; p_ttx_lang = ttx_sub_lang_list; if(top > (g_win_ttx_subtitle_count + g_win_subtitle_count + 1)) { top = 0;/*if top value overflow,set it to zero*/ OSD_SetListCurPos(&g_ls_subtitle,0); OSD_SetListTop(&g_ls_subtitle,0); } for(i = 0;i < SUBTITLE_ITEM_NUMBER;i++) { if((top+i) < g_win_ttx_subtitle_count) { ttx_idx = (top + i); p_ttx_lang = (ttx_sub_lang_list + ttx_idx); Subtitle_track_str[i][0]=p_ttx_lang->lang[0]; Subtitle_track_str[i][1]=p_ttx_lang->lang[1]; Subtitle_track_str[i][2]=p_ttx_lang->lang[2]; Subtitle_track_str[i][3]='('; Subtitle_track_str[i][4]='T'; Subtitle_track_str[i][5]=')'; Subtitle_track_str[i][6]=0; ComUniStrToMB(Subtitle_track_str[i]); win_com_set_idx_str(top+i, Subtitle_track_idx[i],2); } else if((top+i) < (g_win_ttx_subtitle_count + g_win_subtitle_count)) { subt_idx = (top + i - g_win_ttx_subtitle_count); p_lang = (sub_lang_list + subt_idx); Subtitle_track_str[i][0]=p_lang->lang[0]; Subtitle_track_str[i][1]=p_lang->lang[1]; Subtitle_track_str[i][2]=p_lang->lang[2]; Subtitle_track_str[i][3]='('; Subtitle_track_str[i][4]='D'; Subtitle_track_str[i][5]=')'; Subtitle_track_str[i][6]=0; ComUniStrToMB(Subtitle_track_str[i]); win_com_set_idx_str(top+i, Subtitle_track_idx[i],2); } else if((top+i) == (g_win_ttx_subtitle_count + g_win_subtitle_count)) { Subtitle_track_str[i][0]='O'; Subtitle_track_str[i][1]='F'; Subtitle_track_str[i][2]='F'; Subtitle_track_str[i][3]=0; ComUniStrToMB(Subtitle_track_str[i]); Subtitle_track_idx[i][0]=0; } else { Subtitle_track_idx[i][0]=0; Subtitle_track_str[i][0]=0; } } }