📄 emc_manual.c
字号:
case rc_kKeyNum1:
case rc_kKeyNum2:
case rc_kKeyNum3:
case rc_kKeyNum4:
case rc_kKeyNum5:
case rc_kKeyNum6:
case rc_kKeyNum7:
case rc_kKeyNum8:
case rc_kKeyNum9:
#if 0
if(currWindow->dialogItemOffset==1)
break;
if ((currWindow->dialogItems[0]).dialogItemValueCurrent<7)
{
searchFrequency[(currWindow->dialogItems[0]).dialogItemValueCurrent]=iClientCode+48;
searchFrequency[++(currWindow->dialogItems[0]).dialogItemValueCurrent]='_';
searchFrequency[++(currWindow->dialogItems[0]).dialogItemValueCurrent]='\0';
(currWindow->dialogItems[0]).dialogItemValueCurrent--;
MyDrawTextButton(Handle_Menu4bpp, MainParams4bpp.Width*7/12, MainParams4bpp.Height/3+20,MainParams4bpp.Width*1/6, 40,
searchFrequency,redcolor,blackcolor,whitecolor,300);
}
#endif
if(iMsDialogItemSelected == 0)
{
if(iMsInputFreqOffset<MAX_FREQ_NUM)
{
searchFrequency[iMsInputFreqOffset] = iClientCode -rc_kKeyNum0 + '0';
searchFrequency[++iMsInputFreqOffset] = '_';
searchFrequency[iMsInputFreqOffset+1] = '\0';
iMsFrequency = iMsFrequency*10+iClientCode -rc_kKeyNum0;
focusOnManualSearchItem(iMsDialogItemSelected);
}
}
break;
case rc_kKeySelect:
#if 0
searchFrequency[(currWindow->dialogItems[0]).dialogItemValueCurrent]='\0';
currWindow->dialogItems[0].dialogItemValueSelected=(currWindow->dialogItems[0]).dialogItemValueCurrent;
currWindow->dialogItems[1].dialogItemValueSelected=(currWindow->dialogItems[1]).dialogItemValueCurrent;
//strcpy(currWindow->dialogItems[0].dialogItemValueArray[0],searchFrequency);
iInputFrequency=StringToInt(searchFrequency);//modified by jy,06-30-2005
iBandWidth=(currWindow->dialogItems[1]).dialogItemValueCurrent+6;
sttbx_Print("\niInputFrequency is %dMHz!\n",iInputFrequency); //for test
sttbx_Print("\niBandWidth is %dMHz!\n",iBandWidth);
StartManualSearch(); //added by jy,05-13-2005
#endif
StartManualSearch();
break;
}
}
#endif
static void ChangeManualSearchTips(char * tips,char *p1,char *p2,int iUILanguage )/*ChangeSearchTips*/
{
/*p1,p2 are just for test*/
EMCFont_Type fontType = EMCFontTypeArray[LangSelect+4];/*test*/
#if 0
int i;
for(i=0;p0[i]!='\0';i++)
{
currWindow->dialogItems[itemnum].dialogItemDepict[0][i]=p0[i];
}
currWindow->dialogItems[itemnum].dialogItemDepict[0][i]=p0[i];
for(i=0;p1[i]!='\0';i++)
{
currWindow->dialogItems[itemnum].dialogItemDepict[1][i]=p1[i];
}
currWindow->dialogItems[itemnum].dialogItemDepict[1][i]=p1[i];
for(i=0;p2[i]!='\0';i++)
{
currWindow->dialogItems[itemnum].dialogItemDepict[2][i]=p2[i];
}
currWindow->dialogItems[itemnum].dialogItemDepict[2][i]=p2[i];
#endif
EMC_DrawTextRectangle(Handle_ProviewWindow,
MS_X+18,MS_Y+100,236,20,
tips,JLEFT,fontType,FALSE,
whitecolor,dialogcolor,dialogcolor);
}
static BOOL StartManualSearch(void)/*doManualSearch*/
{
signed char cLocalTransSlot,cLocalTransSlotTemp;
TRANSPONDER_INFO_STRUCT *pstTransponderInfoTemp;
PROG_INFO_STRUCT *pstProgInfoTableTemp;
int iLocProgNoBeingViewed;
int blg_timeout;
sttbx_Print("doing manual search....\n"); //wuhan added , 05-19-2005
RESTART:
if ( ( pstTransponderInfoTemp = SRDBE_AppendTransponderSlot ( &cLocalTransSlot ) ) == ( TRANSPONDER_INFO_STRUCT * ) NULL )
{
sttbx_Print( "Failed to add new transponder slot\n" );
ChangeManualSearchTips("Program Table full!.","节目表已满!","",2); //added by jy
}
pstTransponderInfoTemp->Xpdr.Terrestrial.iTransponderFreq=iInputFrequency;
pstTransponderInfoTemp->Xpdr.Terrestrial.iBandWidth=iBandWidth; //set input param and then send to tuner,by jy
#if 1
iInputFrequency = iMsFrequency;
iBandWidth = iMsBandWidth;
#else/*TEST*/
iInputFrequency = 479;
iBandWidth = 6;
#endif
sttbx_Print("\niInputFrequency = %d,iBandWidth = %d\n",iInputFrequency,iBandWidth);
#if 0/*by Allen,11-05-2005*/
pstTransponderInfoTemp->Xpdr.Terrestrial.iTransponderFreq=iInputFrequency;
pstTransponderInfoTemp->Xpdr.Terrestrial.iBandWidth=iBandWidth;
#endif
/*SRUIF_ReadTunerParam() will set the Param incording to 'iInputFrequency' & 'iBandWidth'*/
if((cLocalTransSlotTemp = SRUIF_ReadTunerParam(pstTransponderInfoTemp)) == INVALID_LINK)
{
sttbx_Print("\ncLocalTransSlot = %d,cLocalTransSlotTemp = %d\n",cLocalTransSlot,cLocalTransSlotTemp);
/* Stop current Channel */
ChangeManualSearchTips("Seeking transponder...","正在搜索频段...","",2); //added by jy
SRAVC_AVstop();
xpdrInManSearch = cLocalTransSlot;
if (!SRUIF_SendNewTuneReq(cLocalTransSlot, pstTransponderInfoTemp )/*TMTM &&(iInputFrequency!=0)*/)
{
sttbx_Print( "finished send tunereq!!\n" );/*channel full*/
blg_timeout = 30; /* 30 second timeout at mostto wait for dbase to finish NIT ,wuhan modified,07-02-2005*/
do
{
task_delay(WAIT_FOR_1_SEC);
blg_timeout--;
}while((DBaseBlgDone != TRUE) && (blg_timeout)&&(DBaseBlgDone != 100));
if (DBaseBlgDone == TRUE)
{
ChangeManualSearchTips("Transponder Found!!","找到该频段!","",2); //wuhan added,07-02-2005
SRUIF_UpdateBoxInfo();
sttbx_Print("succeed parse TS \n");
pstProgInfoTableTemp = SRDBE_GetFirstProgInfoForXpdr((SHORT)cLocalTransSlot, &iLocProgNoBeingViewed);
#if 0/*modified by Allen,11-14-2005*/
msm_ChannelDisplay(act_DirChNum);
#else
iLastProgramNumber = -1;/*added by Allen,11-14-2005*/
//ChangeStateToDVBDisplay(DVB_MANUAL_SEARCH_STATE);
msm_FeedbackMsg(cmd_Exit);
#endif
}
else
{
sttbx_Print("can't succeed parse TS \n");
ChangeManualSearchTips("No transponder!!","该频段无节目!","",2); //added by jy
}
}
else
{
sttbx_Print( "Tuner param errors... \n"); //TMTM081104
SRDBE_DeleteProgramsByTransponder(cLocalTransSlot);
DeleteTransponderSlot(cLocalTransSlot);
ChangeManualSearchTips("Tuner param errors... ","高频头参数错误!","",2); //added by jy
}
}
else
{
sttbx_Print("\ntransponder exsit!\n");
/* Free the appended transponder */
SRDBE_DeleteProgramsByTransponder(cLocalTransSlot);
DeleteTransponderSlot(cLocalTransSlot);
/* added by Allen,11-07-2005,free the existed transponder and restart the search*/
SRDBE_DeleteProgramsByTransponder(cLocalTransSlotTemp);
DeleteTransponderSlot(cLocalTransSlotTemp);
goto RESTART;
//ChangeManualSearchTips("Transponder exists!!","该频段已经存在!","",2); //added by jy
}
//ChangeManualSearchTips("Press OK to Start... ","按Ok键开始...","",2);
sttbx_Print("Finished Manual search!\n"); //wuhan added,05-19-2005
return TRUE;//wuhan 05-19-2005
}
void msm_ShowManualWindow(void)
{
sttbx_Print("\n---Enter Manual Search State\n");
drawManualSearchWindow();
}
void msm_SelectManualItem(void)
{
if(iMsDialogItemSelected == 0)
{
iMsDialogItemSelected = 1;
searchFrequency[iMsInputFreqOffset]='\0';
}
else
{
iMsDialogItemSelected = 0;
searchFrequency[iMsInputFreqOffset]='_';
searchFrequency[iMsInputFreqOffset+1]='\0';
}
focusOnManualSearchItem(iMsDialogItemSelected);
}
void msm_ChangeManualBandwidth(int inc)
{
if(iMsDialogItemSelected == 0 && !inc)
{
msm_FeedbackMsg(cmd_Back);
return;
}
else if(iMsDialogItemSelected)
{
if(inc == 1)/*press RIGHT*/
iMsBandWidth = (iMsBandWidth == MAX_BANDWIDTH)?MIN_BANDWIDTH:(iMsBandWidth+1);
else/*press LEFT*/
iMsBandWidth = (iMsBandWidth == MIN_BANDWIDTH)?MAX_BANDWIDTH:(iMsBandWidth-1);
focusOnManualSearchItem(iMsDialogItemSelected);
}
}
void msm_InputManualFrequency(int number)
{
if(iMsDialogItemSelected != 0)
return;
if(number<0)/*BACK*/
{
if(iMsInputFreqOffset>0)
{
searchFrequency[iMsInputFreqOffset] = '\0';
searchFrequency[--iMsInputFreqOffset] = '_';
iMsFrequency = iMsFrequency/10;
}
}
else if(iMsInputFreqOffset<MAX_FREQ_NUM)
{
searchFrequency[iMsInputFreqOffset] = number + '0';
searchFrequency[++iMsInputFreqOffset] = '_';
searchFrequency[iMsInputFreqOffset+1] = '\0';
iMsFrequency = iMsFrequency*10+number;
}
focusOnManualSearchItem(iMsDialogItemSelected);
}
void msm_StartManualSearch(void)
{
StartManualSearch();
}
void msm_PauseManualSearch(void)
{
}
void msm_ExitManualSearch(void)
{
iLastProgramNumber = -1;
msm_ClearScreen();
}
/*--------------------------------------EOF---------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -