📄 osdmm.c
字号:
// Suggest to reference __dwHALAudioFreq directly. // Notice: the value of __dwHALAudioFreq is VALUE_XXX not AUDIO_FREQ_XXX // So, must modify _OSDMM_ShowAudioInfo() too. //HAL_ReadInfo(HAL_INFO_AUDIOFREQ, &_dwOSDMMAudioFreq); _dwOSDMMAudioFreq = __dwHALAudioFreq;
if(__bAttrPlay==ATTR_WMA)
{
//winnie2.76, fix play wma audio total time incorrect problem while stop-->resume. //The audio total time is 00:00 while stop-->resume. //Since, the value is ready after DSP docoding audio stream done. //And, we don't do audio pre-decode while stop -> resume //HAL_ReadAM(HAL_AM_TOTAL_TIME, &_dwOSDMMAudioTotalTime); _dwOSDMMAudioTotalTime=__dwFileTime; }
}
_OSDMM_UpdateHelp(bParam); //Because Mmanager knows which file is decoded and show the help, identify the help type directly by Fmanager } break; case OSDMM_MSG_PROGRAM_DELETE_ALL: //clear left file window _OSDMM_ClearRegion(OSDMM_LEFT_FILE_WINDOW_CONTENT_REGION); //clear right file window _OSDMM_ClearRegion(OSDMM_RIGHT_FILE_WINDOW_CONTENT_REGION); break; case OSDMM_MSG_CLEAR_ACTIVE_PLAYING_FILE: if (!_bOSDMMFlash) //Current is flashing state. Next state is non-flashing state. _OSDMM_UpdateHighlight(OSDMM_UPDATE_CLEAR); break; case OSDMM_MSG_PROGRAM_DELETE: _OSDMM_DeleteProgramItem(); break; case OSDMM_MSG_JPEG_PREVIEW: //Clear the OSD of the "Preview" window. _OSDMM_ClearRegion(OSDMM_PREVIEW_REGION); //Clear time _OSDMM_ClearRegion(OSDMM_TIME_REGION); if (_bOSDMMShowTime) { _OSDMM_StopAudioPlayingFile(); } break;
case OSDMM_MSG_ENABLE_BUTTON:
_OSDMM_DrawButton(bParam, OSDMM_BUTTON_ENABLE); _bOSDMMButtonState[__bMMMenuID-1][bParam] = OSDMM_BUTTON_ENABLE;
break; case OSDMM_MSG_DISABLE_BUTTON:
_OSDMM_DrawButton(bParam, OSDMM_BUTTON_DISABLE); _bOSDMMButtonState[__bMMMenuID-1][bParam] = OSDMM_BUTTON_DISABLE;
break;
case OSDMM_MSG_SAVE:
#ifdef SUPPORT_COPY_FILE_IN_MM_UI
_OSDMM_ShowSaveFileDlg();
#endif //SUPPORT_COPY_FILE_IN_MM_UI
break; default: break; }}//********************************************************************************************************// Function : OSDMM_Trigger// Abstract : This function will be called by OSD_Trigger(). This function will update time, audio bar // : and flash the active playing file.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************// LLY2.53, expand time value unit from WORD to DWORD// Since, we will use [23:16]:hour, [15:8]: min, [7:0]: sec//void OSDMM_Trigger(BYTE bType, WORD wTime)void OSDMM_Trigger(BYTE bType, DWORD dwTime){ if (_bOSDMMShowTime) {
if (__bMMMenuID == MM_MENU_NORMAL)
{ if (bType == OSD_TRIGGER_TIME) { //update audio time? OSDUTL_PrepareOutputString(); OSDUTL_ShowHourMinSec(); _OSDMM_InitializeStringPalette(OSDMM_TIME_REGION); _OSDMMStringAttr.wX = OSDMM_TIME_START_H; _OSDMMStringAttr.wY = OSDMM_TIME_START_V; //GDI_DrawString_909(0, &_OSDMMStringAttr, __pOSDUTLOutputString); _OSDMM_DrawString(); } else if (bType == OSD_TRIGGER_CONTROL) { //update the audio bar? if ((OS_GetSysTimer()-_dwOSDMMSpectrumTime) > OSDMM_UPDATE_AUDIO_SPECTRUM_TIME) { _OSDMM_ShowAudioSpectrum(); _dwOSDMMSpectrumTime = OS_GetSysTimer(); } //flash the active playing file? if ((OS_GetSysTimer()-_dwOSDMMFlashTime) > OSDMM_FLASH_AUDIO_FILE_TIME) { _OSDMM_FlashPlayingFile(); _dwOSDMMFlashTime = OS_GetSysTimer(); } }
} }
#ifdef SUPPORT_COPY_FILE_IN_MM_UI
if (bType == OSD_TRIGGER_CONTROL)
{
if ((_bOSDMMUIMode == OSDMM_INITIAL_MODE_COPY)
#ifdef SUPPORT_COPY_FILE_IN_SLIDE_SHOW
|| (__bMMSlideShowCopyDeleteMode == MM_SLIDE_SHOW_COPY_MODE)
#endif //SUPPORT_COPY_FILE_IN_SLIDE_SHOW
)
{
if (_bOSDMMSaveFile)
{
//Update the progress
_OSDMM_UpdateSaveFileProgress();
}
}
}
#endif //SUPPORT_COPY_FILE_IN_MM_UI}//********************************************************************************************************// Function : OSDMM_Recover// Abstract : This function will be called by OSD when File Manager UI is overwritten by other UI and the UI exits.// Arguments : bRecoverRegion: OSD_RECOVER_UPPER_REGION/OSD_RECOVER_BOTTOM_REGION/OSD_RECOVER_ALL// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************BYTE OSDMM_Recover(BYTE bRecoverRegion){ switch (bRecoverRegion) { case OSD_RECOVER_UPPER_REGION: _OSDMM_ClearRegion(OSDMM_RECOVER_UPPER_REGION); return FALSE; //CoCo1.10, return FALSE to let OSD to recover normal display message. For example, pasue==>zoom (show invalid)==>recover to pause. case OSD_RECOVER_BOTTOM_REGION: _OSDMM_DrawInfoRegion(); _OSDMM_UpdateHelp(_bOSDMMHelpType); break; case OSD_RECOVER_ALL: _OSDMM_Initial(OSDMM_MODE_RECOVER_UI); return FALSE; default: break; } return TRUE;}//********************************************************************************************************// Function : OSDMM_ClearRegion// Abstract : This function will be called by OSD to clear the normal upper region or normal bottom // : region if the UI accepts the normal display message is displayed in its UI.// Arguments : bRegion: OSD_ND_UPPER_RIGHT_REGION/OSD_ND_BOTTOM_REGION.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void OSDMM_ClearRegion(BYTE bRegion){ if (bRegion == OSD_ND_UPPER_RIGHT_REGION) { _OSDMM_ClearRegion(OSDMM_RECOVER_UPPER_REGION); } else if (bRegion == OSD_ND_BOTTOM_REGION) { //_OSDMM_ClearRegion(OSDMM_RECOVER_BOTTOM_REGION); _OSDMM_DrawInfoRegion(); }}//*********************************************************************************************************// Function : _OSDMM_InitializeGDI// Abstract : This function will initialize the palette and draw the background of the Media Manager UI.// Arguments : none. // Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void _OSDMM_InitializeGDI(void){ _bOSDMMTemp = __SetupInfo.bUIStyle-SETUP_CUSTOM_UI_STYLE_BEGIN; GDI_ClearRegion(0); //clear region 0 //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND, OSDMM_PALETTE_COLOR_GENERAL_BACKGROUND, TRUE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_TITLE_STRING, OSDMM_PALETTE_COLOR_TITLE_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HELP_STRING, OSDMM_PALETTE_COLOR_HELP_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_GENERAL_STRING_IN_FILE_WINDOW, OSDMM_PALETTE_COLOR_GENERAL_STRING_IN_FILE_WINDOW, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HIGHLIGHT_BACKGROUND, OSDMM_PALETTE_COLOR_HIGHLIGHT_BACKGROUND, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_ENABLE_BUTTON_STRING, OSDMM_PALETTE_COLOR_ENABLE_BUTTON_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HIGHLIGHT_BUTTON_STRING, OSDMM_PALETTE_COLOR_HIGHLIGHT_BUTTON_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT, OSDMM_PALETTE_COLOR_NORMAL_FRAME_BRIGHT, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_NORMAL_FRAME_DARK, OSDMM_PALETTE_COLOR_NORMAL_FRAME_DARK, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_SELECT_FRAME_BRIGHT, OSDMM_PALETTE_COLOR_SELECT_FRAME_BRIGHT, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_SELECT_FRAME_DARK, OSDMM_PALETTE_COLOR_SELECT_FRAME_DARK, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_SEPARATE_FRAME_CENTER, OSDMM_PALETTE_COLOR_SEPARATE_FRAME_CENTER, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_UPFOLDER_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_UPFOLDER_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_UPFOLDER_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_UPFOLDER_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_UPFOLDER_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_UPFOLDER_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_FOLDER_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_FOLDER_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_FOLDER_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_FOLDER_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_FOLDER_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_FOLDER_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_JPEG_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_JPEG_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_JPEG_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_JPEG_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_JPEG_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_JPEG_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP3_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_MP3_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP3_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_MP3_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP3_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_MP3_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_WMA_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_WMA_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_WMA_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_WMA_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_WMA_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_WMA_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_OPENFOLDER_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_OPENFOLDER_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_OPENFOLDER_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_OPENFOLDER_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_OPENFOLDER_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_OPENFOLDER_ICON_SHADOW_2, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_TIME_STRING, OSDMM_PALETTE_COLOR_TIME_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DIVX_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_DIVX_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DIVX_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_DIVX_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DIVX_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_DIVX_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP4_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_MP4_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP4_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_MP4_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP4_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_MP4_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP2_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_MP2_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP2_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_MP2_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MP2_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_MP2_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DAT_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_DAT_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DAT_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_DAT_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DAT_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_DAT_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOB_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_VOB_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOB_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_VOB_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOB_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_VOB_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_SERVO_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_VOLUME_SERVO_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_SERVO_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_VOLUME_SERVO_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_SERVO_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_VOLUME_SERVO_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_USB_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_VOLUME_USB_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_USB_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_VOLUME_USB_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_USB_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_VOLUME_USB_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_CARD_READER_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_VOLUME_CARD_READER_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_CARD_READER_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_VOLUME_CARD_READER_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_VOLUME_CARD_READER_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_VOLUME_CARD_READER_ICON_SHADOW_2, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_BACKGROUND, OSDMM_PALETTE_COLOR_DLG_BACKGROUND, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BUTTON_ENABLE_BACKGROUND, OSDMM_PALETTE_COLOR_BUTTON_ENABLE_BACKGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BUTTON_HIGHLIGHT_BACKGROUND, OSDMM_PALETTE_COLOR_BUTTON_HIGHLIGHT_BACKGROUND, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HELP_REGION_BACKGROUND, OSDMM_PALETTE_COLOR_HELP_REGION_BACKGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HIGHLIGHT_STRING_IN_FILE_WINDOW, OSDMM_PALETTE_COLOR_HIGHLIGHT_STRING_IN_FILE_WINDOW, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_STRING, OSDMM_PALETTE_COLOR_DLG_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_CHECKED_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_CHECKED_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_CHECKED_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_CHECKED_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_CHECKED_ICON_SHADOW_2, OSDMM_PALETTE_COLOR_CHECKED_ICON_SHADOW_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_UNCHECKED_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_UNCHECKED_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_RADIO_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_RADIO_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_RADIO_ICON_SHADOW_1, OSDMM_PALETTE_COLOR_RADIO_ICON_SHADOW_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_UNRADIO_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_UNRADIO_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_LINE_0, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_LINE_0, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_LINE_1, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_LINE_1, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_LINE_2, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_LINE_2, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_LINE_3, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_LINE_3, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_LINE_4, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_LINE_4, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AUDIO_SPECTRUM_DROP, OSDMM_PALETTE_COLOR_AUDIO_SPECTRUM_DROP, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_TITLE_BAR, OSDMM_PALETTE_COLOR_DLG_TITLE_BAR, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BACKGROUND_FRAME, OSDMM_PALETTE_COLOR_BACKGROUND_FRAME, TRUE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -