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

📄 progshow.c

📁 MTK1389 SOURCE CODE
💻 C
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/06/16 3:55p    $       ****************/
/***************  $Revision:: 4                $       ****************/
/***************                                       ****************/
/***************   Description : OSD                   ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#define _PROGSHOW_C_

#pragma NOAREGS

#include "general.h"
#include "osdshow.h"

#if (defined(PLAYER_PROGRAM) || defined(PLAYER_DIGEST))

#define PROGRAM_NO_SHOW_TIME

// *********************************************************************
// Function : void vOsdShowProgItemTime(BYTE bCurItem, BYTE bSelNo, BYTE *pbTime) large
// Description :
// Parameter :
// Return    : None
// Note      :
// *********************************************************************
void vOsdShowProgItemTime(BYTE bCurItem, BYTE bHili, BYTE bSelNo, BYTE *pbTime) large
{
  BYTE pbStr[8];
  BYTE bKeySeq;
  WORD wMsg;

  pbStr[0] = 7;

  bKeySeq = (bHili & 0x0f);
  bHili = (bHili & 0xf0);

  wMsg = wOsdGetNumMsg(bCurItem + 1);
  bSelNo = bHEXToBCD(bSelNo);

#ifdef NO_ADD10_KEY
  if (bKeySeq == 1)
  {
    pbStr[1] = BCD_LO(bSelNo) + '0';
    pbStr[2] = ' ';
  }
  else if (bKeySeq == 2)
  {
    pbStr[1] = BCD_HI(bSelNo) + '0';
    pbStr[2] = BCD_LO(bSelNo) + '0';
  }
  else
#endif /* NO_ADD10_KEY */
  if (bSelNo == 0)
  {
    pbStr[1] = '_';
    pbStr[2] = '_';
  }
  else
  {
    pbStr[1] = BCD_HI(bSelNo) + '0';
    pbStr[2] = BCD_LO(bSelNo) + '0';
  }

  if (pbTime == 0)
  {
    pbStr[3] = ' ';
    pbStr[4] = ' ';
    pbStr[5] = ' ';
    pbStr[6] = ' ';
    pbStr[7] = ' ';
  }
  else
  {
    pbStr[3] = BCD_LO(pbTime[0]) + '0';
    pbStr[4] = BCD_HI(pbTime[1]) + '0';
    pbStr[5] = BCD_LO(pbTime[1]) + '0';
    pbStr[6] = BCD_HI(pbTime[2]) + '0';
    pbStr[7] = BCD_LO(pbTime[2]) + '0';
  }

  while (bCurItem >= SELMENU_PAGE_SIZE)
  {
    bCurItem -= SELMENU_PAGE_SIZE;
  }

  vOsdClearInputField(OSD_POS_PROG_ITEM_1);

  if (bHili == OSD_PROG_ITEM_NORMAL)
  {
#ifdef PROGRAM_NO_SHOW_TIME
    pbStr[0] = 2;
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif
  }
  else if (bHili == OSD_PROG_ITEM_HEADER)
  {
#ifdef PROGRAM_NO_SHOW_TIME
    pbStr[0] = 2;
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif

    vOsdPosHead(OSD_POS_PROG_ITEM_1 + bCurItem, bCurItem, wMsg, -3*EFONT_WIDTH, 2.5*EFONT_WIDTH);
  }
  else if (bHili == OSD_PROG_ITEM_HILI_TIME)
  {
    vOsdSetInputField(OSD_POS_PROG_ITEM_1);
#ifdef PROGRAM_NO_SHOW_TIME
    pbStr[0] = 2;
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif
  }
}

// *********************************************************************
// Function : void vOsdShowProgItemTtCh(BYTE bCurItem, BYTE bHili, BYTE bTit, BYTE bCha)
// Description :
// Parameter :
// Return    : None
// Note      :
// *********************************************************************
void vOsdShowProgItemTtCh(BYTE bCurItem, BYTE bHili, BYTE bTit, BYTE bCha) large
{
  BYTE pbStr[5];
  BYTE bKeySeq;
  WORD wMsg;

  pbStr[0] = 4;

  bKeySeq = (bHili & 0x0f);
  bHili = (bHili & 0xf0);

  wMsg = wOsdGetNumMsg(bCurItem + 1);
  bTit = bHEXToBCD(bTit);
  bCha = bHEXToBCD(bCha);

  

#ifdef NO_ADD10_KEY
  if (bHili == OSD_PROG_ITEM_HILI_TT)
  {
    if (bKeySeq == 1)
    {
      pbStr[1] = BCD_LO(bTit) + '0';
      pbStr[2] = ' ';
    }
    else if (bKeySeq == 2)
    {
      pbStr[1] = BCD_HI(bTit) + '0';
      pbStr[2] = BCD_LO(bTit) + '0';
    }
    else
    {
      pbStr[1] = ' ';
      pbStr[2] = ' ';
    }

    pbStr[3] = ' ';
    pbStr[4] = ' ';
  }
  else if (bHili == OSD_PROG_ITEM_HILI_CH)
  {
    pbStr[1] = BCD_HI(bTit) + '0';
    pbStr[2] = BCD_LO(bTit) + '0';
    
    if (bKeySeq == 1)
    {
      pbStr[3] = BCD_LO(bCha) + '0';
      pbStr[4] = ' ';
    }
    else  if (bKeySeq == 2)
    {
      pbStr[3] = BCD_HI(bCha) + '0';
      pbStr[4] = BCD_LO(bCha) + '0';
    }
    else
    {
      pbStr[3] = ' ';
      pbStr[4] = ' ';
    }
  }
  else
#endif /* NO_ADD10_KEY */
  if (bTit > 0)
  {
    pbStr[1] = BCD_HI(bTit) + '0';
    pbStr[2] = BCD_LO(bTit) + '0';

    if (bCha > 0)
    {
      pbStr[3] = BCD_HI(bCha) + '0';
      pbStr[4] = BCD_LO(bCha) + '0';
    }
    else
    {
      pbStr[3] = ' ';
      pbStr[4] = ' ';
    }
  }
  else
  {
    pbStr[1] = ' ';
    pbStr[2] = ' ';
    pbStr[3] = ' ';
    pbStr[4] = ' ';
  }

  while (bCurItem >= SELMENU_PAGE_SIZE)
  {
    bCurItem -= SELMENU_PAGE_SIZE;
  }

  vOsdClearInputField(OSD_POS_PROG_ITEM_1);

  if (bHili == OSD_PROG_ITEM_NORMAL)
  {
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);
  }
  else if (bHili == OSD_PROG_ITEM_HEADER)
  {
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);

    vOsdPosHead(OSD_POS_PROG_ITEM_1 + bCurItem, bCurItem, wMsg, -3*EFONT_WIDTH, 2.5*EFONT_WIDTH);
  }
  else if (bHili == OSD_PROG_ITEM_HILI_TT)
  {
    vOsdSetInputField(OSD_POS_PROG_ITEM_1);
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);
  }
  else if (bHili == OSD_PROG_ITEM_HILI_CH)
  {
    vOsdSetInputField(OSD_POS_PROG_ITEM_1);
    vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_CH, pbStr, 0);
  }
}

// *********************************************************************
// Function : void vOsdShowProgType(BYTE bType, BYTE bStart, BYTE bEnd) large
// Description :
// Parameter :
// Return    : None
// Note      :
// *********************************************************************
static code WORD pwProgType[5] = {
  OSD_MSG_PROG_TYPE_OFF,
  OSD_MSG_PROG_TYPE_TRACK,
  OSD_MSG_PROG_TYPE_CHAPTER,
  OSD_MSG_PROG_TYPE_TITLE,
  OSD_MSG_PROG_TYPE_TT_CH
};

void vOsdShowProgType(BYTE bType, BYTE bOpt1, BYTE bOpt2) large
{
  BYTE pbStr[5];

  pbStr[0] = 4;
  bOpt1 = bHEXToBCD(bOpt1);
  bOpt2 = bHEXToBCD(bOpt2);

  if (bType == OSD_PROG_TYPE_CLEAR)
  {
    //vOsdPosClear(OSD_POS_PROG_TYPE);
    return;
  }
  else if (bType == SV_PROGRAM_NONE_ITEM)
  {
    //vOsdPosClear(OSD_POS_PROG_TYPE);
    //vOsdPosShow(OSD_POS_PROG_TYPE, pwProgType[bType], OSD_NO_DISAPPEAR);
    return;
  }
  else if (bType <= SV_PROGRAM_TT_ITEM)
  {
    pbStr[1] = BCD_HI(bOpt1) + '0'; /* start */
    pbStr[2] = BCD_LO(bOpt1) + '0';
    pbStr[3] = BCD_HI(bOpt2) + '0'; /* end */
    pbStr[4] = BCD_LO(bOpt2) + '0';
  }
  else if (bType == SV_PROGRAM_TT_CH_ITEM)
  {
    if (bOpt1 > 0) /* title */
    {
      pbStr[1] = BCD_HI(bOpt1) + '0';
      pbStr[2] = BCD_LO(bOpt1) + '0';
    }
    else
    {
      pbStr[1] = '-';
      pbStr[2] = '-';
    }

    if (bOpt2 > 0) /* chapter */
    {
      pbStr[3] = BCD_HI(bOpt2) + '0';
      pbStr[4] = BCD_LO(bOpt2) + '0';
    }
    else
    {
      pbStr[3] = '-';
      pbStr[4] = '-';
    }
  }

  //vOsdPosShowArg(OSD_POS_PROG_TYPE, pwProgType[bType], OSD_NO_DISAPPEAR, pbStr);
}

#else /* PLAYER_PROGRAM dummy function */

static code BYTE pbProgShowCodeSegment[1] = { 0 }; /* for code segment */

#if 0//uncall
void vOsdShowProgType(BYTE bType, BYTE bOpt1, BYTE bOpt2) large
{
  bOpt2 = pbProgShowCodeSegment[0];
  
  if (bOpt2)
  {
    vOsdPosPasteArg(0, 0, 0, 0);
  }
}
#endif

#endif /* PLAYER_PROGRAM */

⌨️ 快捷键说明

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