📄 flipshow.c
字号:
pbStr[4] = BCD_LO(bHiByte(wCurr)) + '0';
pbStr[5] = BCD_HI(bLoByte(wCurr)) + '0';
pbStr[6] = BCD_LO(bLoByte(wCurr)) + '0';
}
else
{
pbStr[5] = BCD_HI(bHiByte(wCurr)) + '0';
pbStr[6] = BCD_LO(bHiByte(wCurr)) + '0';
pbStr[7] = BCD_HI(bLoByte(wCurr)) + '0';
}
#else
pbStr[4] = BCD_LO(bHiByte(wCurr)) + '0';
pbStr[5] = BCD_HI(bLoByte(wCurr)) + '0';
pbStr[6] = BCD_LO(bLoByte(wCurr)) + '0';
#endif
break;
case IP_INFO_FILE_INDEX_4:
pbStr[4] = BCD_HI(bHiByte(wCurr)) + '0';
pbStr[5] = BCD_LO(bHiByte(wCurr)) + '0';
pbStr[6] = BCD_HI(bLoByte(wCurr)) + '0';
pbStr[7] = BCD_LO(bLoByte(wCurr)) + '0';
break;
}
#ifdef FL_CHK_FOLDER_NS
if (bFlGetItemType(wCurr % 6) == FTYPE_FOLDER)
vFlIpClearInfoArea(IP_INFO_FILE_INDEX);
#endif
vInMsgColEn(FL_INFO_WB);
vOsdPosPasteArg(OSD_POS_FS_FILE_INDEX, OSD_MSG_FLMENU_SELECT, pbStr, 0);
}
}
/**
* Show the equalizer info (visual spectrum).
*/
#ifdef SPTM_SUPPORT
static void vFlIpShowEq(void) large
{
#ifdef SPTM_SUPPORT
BYTE bTmp;
/*
_wStartX = 300;
_wStartY = 32;
_wEndX = 12;
_wEndY = 32;
*/
_wStartX = FS_EQ_X;
_wStartY = FS_INFO_PANEL_LINE_2_Y;
_wEndX = FS_EQ_LINE_W;
_wEndY = 32;
bTmp = bSharedInfo(SI_MP3_MOD);
vSetSharedInfo(SI_PBC_STATE, bTmp);
//vShowEqBar(FL_INFO_WB, OSD_EQ_TYPE_BAR, FALSE, 15, 4);
vShowEqBar(FL_INFO_WB, OSD_EQ_TYPE_BAR, FALSE, 14, 4);
#endif
}
#endif
static void vFlIpShowRptType(BYTE bRptType) large
{
WORD wMsg;
switch(bRptType)
{
case SV_REPEAT_NONE:
wMsg = OSD_MSG_MP3_NORMAL_MODE;
break;
#ifdef DDISC_PB_REP_FOLDER_ENABLED
case SV_REPEAT_ALL:
wMsg = OSD_MSG_MP3_REPEAT_FOLDER;
break;
#endif
case SV_REPEAT_TRACK:
wMsg = OSD_MSG_MP3_REPEAT_ONE;
break;
#ifdef DDISC_PB_SHUFFLE_ENABLED
case SV_SHUFFLE:
wMsg = OSD_MSG_MP3_SHUFFLE;
break;
#endif
#ifdef DDISC_PB_RANDOM_ENABLED
case SV_RANDOM:
wMsg = OSD_MSG_MP3_RANDOM;
break;
#endif
#ifdef DDISC_PB_SINGLE_ENABLED
case SV_SINGLE:
wMsg = OSD_MSG_MP3_SINGLE;
break;
#endif
default:
// TODO: add the error handling.
return;
}
vFlIpDrawInfo(IP_INFO_RPT_TYPE, wMsg, 0);
//void vOsdPosShow(WORD wPosIndex, WORD wMsgIndex, BYTE bTime) large
//vOsdPosShow(OSD_POS_FS_RPT_TYPE, wMsg, 0xFF);
}
static void vFlIpShowListType(BYTE bType) large
{
WORD wMsg;
// wMsg = _pwListTypeName[bType];
switch(bType)
{
case FLPARM_LIST_FOLDER:
wMsg = OSD_MSG_MP3_NORMAL_MODE;
break;
#ifdef DATA_DISC_SUPPORT_DISC_LIST
case FLPARM_LIST_DISC:
wMsg = OSD_MSG_FL_FILELIST;
break;
#endif
#ifdef DATA_DISC_SUPPORT_PLAY_LIST
case FLPARM_LIST_PLAYLIST:
wMsg = OSD_MSG_FL_PLAYLIST;
break;
#endif
case FLPARM_LIST_INVALID:
wMsg = OSD_MSG_MP3_NORMAL_MODE;
break;
}
vFlIpDrawInfo(IP_INFO_LIST_TYPE, wMsg, 0);
}
static void vFlIpShowPbcState(BYTE bVal, WORD wMsg) large
{
BYTE bState, bSpeed;
BYTE pbStr[4];
WORD wMsg2;
#if 0
if (wMsg != 0)
{
vFlIpDrawInfo(IP_INFO_PBC, wMsg, 0);
}
else
#endif
{
bState = bSharedInfo(SI_MP3_MOD);
bSpeed = bSharedInfo(SI_PBC_SPEED);
//if (bMode == SV_PLAY)
bVal = pbISOFastDispTbl[bSpeed];
bSpeed = bVal;
{
pbStr[0] = 2;
if ((bState == SV_FF) || (bState == SV_FR))
{
bVal = bHEXToBCD(bVal);
if (BCD_HI(bVal) > 0)
{
pbStr[1] = BCD_HI(bVal) + '0';
}
else
{
pbStr[1] = ' ';
}
pbStr[2] = BCD_LO(bVal) + '0';
}
#if ((!defined DISABLE_SF) && (!defined DISABLE_SR))
else if ((bState == SV_SF) || (bState == SV_SR))
{
bVal = bHEXToBCD(bVal);
if (BCD_HI(bVal) > 0)
{
pbStr[1] = BCD_HI(bVal) + '0';
pbStr[2] = BCD_LO(bVal) + '0';
}
else
{
pbStr[1] = BCD_LO(bVal) + '0';
pbStr[2] = ' ';
}
}
#endif
else
{
pbStr[0] = 0;
}
//vGetPbcStateMsg(bMode, pbISOFastDispTbl[bSpeed], &wMsg, pbStr);
vGetPbcStateMsg(bState, bSpeed, &wMsg2, pbStr);
vFlIpDrawInfo(IP_INFO_PBC, wMsg2, pbStr);
}
}
}
static void vFlIpShowUsrAuxCtrl(BYTE bMode) large
{
WORD wMsg;
switch (bMode)
{
case SV_REPEAT_SET_A:
wMsg = OSD_MSG_ICON_RPT_A;
break;
case SV_REPEAT_LAST_SP:
case SV_REPEAT_INSTANT:
case SV_REPEAT_AB:
wMsg = OSD_MSG_ICON_RPT_AB;
break;
case SV_REPEAT_NONE:
case SV_REPEAT_ABNONE:
vFlIpClearInfoArea(IP_INFO_USR_AUX_CTRL);
return;
}
vFlIpDrawInfo(IP_INFO_USR_AUX_CTRL, wMsg, 0);
}
#if 0
void vFlIpShowKeyShift(BYTE bShift) large
{
char cTmp;
BYTE pbStr[4];
//cTmp = (char) bShift;
cTmp = _rAudioCtrl.cCurKey;
if (cTmp < 0)
{
pbStr[1] = '-';
cTmp = - cTmp;
}
else
{
pbStr[1] = '+';
}
pbStr[0] = bHEXToBCD(cTmp);
pbStr[2] = BCD_HI(pbStr[0]) + '0';
pbStr[3] = BCD_LO(pbStr[0]) + '0';
pbStr[0] = 3;
vFlIpDrawInfo(IP_INFO_KEY_SHIFT, OSD_MSG_SET_KEY, pbStr);
}
#endif
///////////////////////////////////////////////////////////////////////////////
// Interface
void vFlIpClearInfoArea(BYTE bArea) large
{
BYTE i;
switch (bArea)
{
case IP_INFO_PANEL_1:
for (i=IP_INFO_PANEL_1_START; i<=IP_INFO_PANEL_1_END; i++)
{
if (i == IP_INFO_EQ)
{
_wStartX = FS_EQ_X;
_wStartY = 32;
vOsdClearPos(FL_INFO_WB, 200, 32);
}
else
vOsdPosClear(_rInfoPanelArea[i].wPanelPos[0]);
}
break;
case IP_INFO_PANEL_2:
for (i=IP_INFO_PANEL_2_START; i<=IP_INFO_PANEL_2_END; i++)
{
vOsdPosClear(_rInfoPanelArea[i].wPanelPos[1]);
}
break;
default:
if (_bFlIpState == IP_STATE_PANEL_1)
vOsdPosClear(_rInfoPanelArea[bArea].wPanelPos[0]);
else // if (_bFlIpState == IP_STATE_PANEL_2)
vOsdPosClear(_rInfoPanelArea[bArea].wPanelPos[1]);
break;
}
}
#ifdef PLAYER_SURROUND
static code WORD _pwReverbModeMsg[AUD_REVERB_MODE_MAX + 1] = { // include OFF
/* 00 */ OSD_MSG_OFF,
/* 01 */ OSD_MSG_CONCERT,
/* 02 */ OSD_MSG_LIVING_ROOM,
/* 03 */ OSD_MSG_HALL,
/* 04 */ OSD_MSG_BATHROOM,
/* 05 */ OSD_MSG_CAVE,
/* 06 */ OSD_MSG_ARENA,
/* 07 */ OSD_MSG_CHURCH
};
#endif
void vFlIpShowInfo(BYTE bInfo, BYTE bParam, WORD wParam) large
{
BYTE bType;
switch (bInfo)
{
case IP_INFO_PLAYTIME:
vFlIpShowTimeRemain(bParam, bLoByte(wParam));
break;
case IP_INFO_TOTALTIME:
vFlIpShowTotalTime(bParam, bLoByte(wParam));
break;
case IP_INFO_FILE_INDEX:
vFlIpShowFileIndex(wParam, IP_INFO_FILE_INDEX);
break;
break;
case IP_INFO_BITRATE:
if (bSharedInfo(SI_MP3_STT) == MP3STT_PB_STRT) // PL0010358 make the ¨kbps〃 font disappear ,when read cdda and jpg.
{
vFlIpShowBitrate(wParam);
}
break;
case IP_INFO_PBC:
vFlIpShowPbcState(bParam, wParam);
break;
case IP_INFO_USR_AUX_CTRL:
vFlIpShowUsrAuxCtrl(bParam);
break;
case IP_INFO_VOLUME:
vFlIpShowVolume(bParam, bLoByte(wParam));
break;
case IP_INFO_EQ:
#ifdef SPTM_SUPPORT
vFlIpShowEq();
#endif
break;
case IP_INFO_LIST_TYPE:
vFlIpShowListType(bParam);
break;
case IP_INFO_KEY_SHIFT:
//vFlIpShowKeyShift(bParam);
break;
case IP_INFO_RPT_TYPE:
vFlIpShowRptType(bParam);
break;
case IP_INFO_REVERB:
#ifdef PLAYER_SURROUND
/*
bType = bEepromReadByte(REVERB_MD_POS) + 1; // !!!
bType--; // !!! if we use bType directly, its value will be wrong???!!!
vFlIpDrawInfo(IP_INFO_REVERB, _pwReverbModeMsg[bType], 0);
*/
if (wParam != 0)
vFlIpDrawInfo(IP_INFO_REVERB, wParam, 0);
else
vFlIpDrawInfo(IP_INFO_REVERB, _pwReverbModeMsg[bParam], 0);
#endif
break;
case IP_INFO_FILE_INDEX_0:
case IP_INFO_FILE_INDEX_1:
case IP_INFO_FILE_INDEX_2:
case IP_INFO_FILE_INDEX_3:
case IP_INFO_FILE_INDEX_4:
case IP_INFO_FILE_INDEX_5:
vFlIpShowFileIndex(wParam, bInfo);
break;
case IP_INFO_ERROR:
vFlIpDrawInfo(IP_INFO_ERROR, wParam, 0);
break;
case IP_INFO_CHG_LANG:
vFlIpDrawInfo(IP_INFO_CHG_LANG, wParam, 0);
break;
case IP_INFO_DISC_TYPE:
#ifdef RS232_LOG
DBGLogS(" show disc type ");
DBGLogB(bSharedInfo(FL_CMD_BLK_SA + 2),0xff,0xff,0xff);
DBGLogS("\n");
#endif
#if 1 // 20050324, IS00001867, adjust the flow, when stopped, SI_A_CODE_MODE will be cleared to 0xFF
#ifdef CDDA_USE_CDFS
if (_fgDTSCD) //if(bSharedInfo(FL_CMD_BLK_SA + 2) == FTYPE_DTS)
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_DTS_CD, 0);
}
else
#endif
#ifdef HDCD_EN
if((bSharedInfo(SI_A_CODE_MODE) == SV_A_CODE_HDCD) || //according to track
// 20050324, IS00001867, should be SV_HDCD instead of SV_A_CODE_HDCD for disc type
(bSharedInfo(SI_FS_DISC_TYPE) == SV_HDCD/*SV_A_CODE_HDCD*/)) //according to disc
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_HDCD, 0);
}
else
#endif
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_CD, 0);
}
#else
if(bSharedInfo(SI_A_CODE_MODE) == SV_A_CODE_PCM)
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_CD, 0);
}
#ifdef HDCD_EN
else if((bSharedInfo(SI_A_CODE_MODE) == SV_A_CODE_HDCD) || //according to track
// 20050324, IS00001867, should be SV_HDCD instead of SV_A_CODE_HDCD for disc type
(bSharedInfo(SI_FS_DISC_TYPE) == SV_HDCD/*SV_A_CODE_HDCD*/)) //according to disc
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_HDCD, 0);
}
#endif
#ifdef CDDA_USE_CDFS
else if (_fgDTSCD) //if(bSharedInfo(FL_CMD_BLK_SA + 2) == FTYPE_DTS)
{
vFlIpDrawInfo(IP_INFO_DISC_TYPE, OSD_MSG_DTS_CD, 0);
}
#endif
#endif
break;
}
}
#if 0
void vFlIpShowFileType(BYTE bType) large
{
switch(bSharedInfo(SI_ISO_ITEM_TYPE))
{
case SV_ISO_MP3:
break;
case SV_ISO_AC3:
break;
case SV_ISO_DTS:
break;
case SV_ISO_MLP:
break;
case SV_ISO_WMA:
break;
case SV_ISO_WAV:
break;
case SV_ISO_MPEGA:
break;
case SV_ISO_AAC:
break;
case SV_ISO_DSD:
break;
}
}
#endif
#else // #if (defined(FSMENU_INFO_PANEL) && defined(PLAYER_FLMENU))
static code BYTE pbISOFastDispTbl[] = { 0 };
static code BYTE pbISOSlowDispTbl[] = { 0 };
typedef struct sInfoPanelArea
{
WORD wPanelPos[2];
BYTE bTimeout[2];
};
static code struct sInfoPanelArea _rInfoPanelArea[1] =
{
{0, 0, 0, 0}
};
#endif // #if (defined(FSMENU_INFO_PANEL) && defined(PLAYER_FLMENU))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -