📄 poweronmenu.c
字号:
case POWERONMENU_ICON_ID_MOVIE:
__pOSDUTLOutputString = aPOWERONIconMovie;
break;
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
case POWERONMENU_ICON_ID_SETUP:
__pOSDUTLOutputString = aPOWERONIconSetup;
break;
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
case POWERONMENU_ICON_ID_CALENDAR:
__pOSDUTLOutputString = aPOWERONIconCalendar;
break;
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
case POWERONMENU_ICON_ID_CLOCK:
__pOSDUTLOutputString = aPOWERONIconClock;
break;
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
case POWERONMENU_ICON_ID_ALARM:
__pOSDUTLOutputString = aPOWERONIconAlarm;
break;
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
case POWERONMENU_ICON_ID_AUTO_POWER:
__pOSDUTLOutputString = aPOWERONIconAutoPower;
break;
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_STB_ICON
case POWERONMENU_ICON_ID_STB:
__pOSDUTLOutputString = aMENUIconSTB;
break;
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_EDIT_ICON
case POWERONMENU_ICON_ID_EDIT:
__pOSDUTLOutputString = aPOWERONIconEdit;
break;
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
case POWERONMENU_ICON_ID_FAVORITE:
__pOSDUTLOutputString = aPOWERONIconFavorite;
break;
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_GAME_ICON
case POWERONMENU_ICON_ID_GAME:
__pOSDUTLOutputString = aPOWERONIconGame;
break;
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
case POWERONMENU_ICON_ID_RADIO_TUNER:
__pOSDUTLOutputString = aPOWERONIconRadio;
break;
#endif //SUPPORT_RADIO_TUNER_ICON
default:
return;
}
IconStringAttr.wX = PowerOnMenuIcon[bIconIndex].wStartX+((POWERONMENU_ICON_WIDTH-GDI_GetStringWidth(__pOSDUTLOutputString))>>1);
IconStringAttr.wY = PowerOnMenuIcon[bIconIndex].wStartY+POWERONMENU_ICON_HEIGHT+POWERONMENU_ICON_TEXT_DISTANCE_V;
GDI_DrawString_909(0, &IconStringAttr, __pOSDUTLOutputString);
}
BYTE _POWERONMENU_ProcessIcon(void)
{
switch (PowerOnMenuIcon[_bPOWERONMENUCursorIndex].bIconID)
{
#ifdef SUPPORT_PHOTO_ICON
case POWERONMENU_ICON_ID_PHOTO:
_POWERONMENU_EnterPhotoMode();
break;
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
case POWERONMENU_ICON_ID_MUSIC:
_POWERONMENU_EnterMusicMode();
break;
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
case POWERONMENU_ICON_ID_PHOTO_PLUS_MUSIC:
_POWERONMENU_EnterPhotoMusicMode();
break;
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
case POWERONMENU_ICON_ID_MOVIE:
_POWERONMENU_EnterMovieMode();
break;
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
case POWERONMENU_ICON_ID_SETUP:
GDI_ClearRegion(0);
__bFWKey = KEY_SETUP;
break;
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
case POWERONMENU_ICON_ID_CALENDAR:
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_CALENDAR;
#ifdef SUPPORT_SET_DATE_BY_MENU
CALENDAR_Entry(CALENDAR_MODE_MENU);
#else
CALENDAR_Entry(CALENDAR_MODE_SETTING);
#endif //SUPPORT_SET_DATE_BY_MENU
break;
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
case POWERONMENU_ICON_ID_CLOCK:
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_CLOCK;
CLOCK_Entry();
break;
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
case POWERONMENU_ICON_ID_ALARM:
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_ALARM;
ALARM_Entry();
break;
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
case POWERONMENU_ICON_ID_AUTO_POWER:
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_AUTO_POWER;
AUTOPWR_Entry();
break;
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_STB_ICON
case POWERONMENU_ICON_ID_STB:
MEDIA_STB();
break;
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_EDIT_ICON
case POWERONMENU_ICON_ID_EDIT:
DVDSETUP_SetSlideShowIntervalTime();
DVDSETUP_SetSlideShowEffect();
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_EDIT;
EDIT_Entry();
break;
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
case POWERONMENU_ICON_ID_FAVORITE:
_POWERONMENU_EnterFavoriteMode();
break;
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_GAME_ICON
case POWERONMENU_ICON_ID_GAME:
GDI_ClearRegion(0);
_bPOWERONMENUSubUIMode = POWERONMENU_SUB_UI_GAME;
MAINMENU_Game_Menu_Initial();
break;
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
case POWERONMENU_ICON_ID_RADIO_TUNER:
POWERONMENU_InternalExit();
RADIO_Entry(RADIO_MODE_NORMAL);
break;
#endif //SUPPORT_RADIO_TUNER_ICON
default:
break;
}
return KEY_NO_KEY;
}
void POWERONMENU_Trigger(BYTE bType, WORD wTime)
{
switch (_bPOWERONMENUSubUIMode)
{
case POWERONMENU_SUB_UI_CALENDAR:
CALENDAR_Trigger();
break;
case POWERONMENU_SUB_UI_CLOCK:
CLOCK_Trigger(bType, wTime);
break;
case POWERONMENU_SUB_UI_ALARM:
break;
case POWERONMENU_SUB_UI_AUTO_POWER:
break;
case POWERONMENU_SUB_UI_EDIT:
break;
#ifdef SUPPORT_GAME_ICON
case POWERONMENU_SUB_UI_GAME:
MAINMENU_Game_Menu_Trigger();
break;
#endif //SUPPORT_GAME_ICON
case POWERONMENU_SUB_UI_MODE_NONE:
default:
break;
}
}
BYTE POWERONMENU_CheckModeKey(void)
{
BYTE bMediaStatus;
if ((__bKey != KEY_PHOTO) && (__bKey != KEY_MUSIC) && (__bKey != KEY_PHOTO_MUSIC) && (__bKey != KEY_MOVIE))
{
return KEY_BYPASS;
}
if (__bSetupMode == TRUE)
{
OSD_RemoveUI(OSD_UI_SETUP);
}
if (!__bPOWERONMENUInitial)
{
#ifdef SUPPORT_JPEG_AUDIO_PLAYING
if (__bMMJPEGAudioMode)
{
MM_ExitJPEGAudioMode();
}
#endif //SUPPORT_JPEG_AUDIO_PLAYING
MEDIA_ExitUSBSRC();
bMediaStatus = MediaInfo[_MapSourceID2Index(__SF_SourceGBL[__dwSFStreamID].bSourceIndex)].bState;
// wyc1.50-909, when doing pre-scan action, don't allow entering media select UI, otherwise system will auto play after exit
// media select UI but system should pause when entering media select UI.
/*--CoCo1.20, remove it becuase Elmer and YC confirmed what we don't do it for USB.
if ((bMediaStatus == MEDIA_INSERT) || (bMediaStatus == MEDIA_PARSING) || ((__wDiscType & CDROM_M1) && (__bMotionState == MOTION_STATE_PRESCAN)))
{
return INVALID_KEY;
}
else
*/
{
#ifdef SUPPORT_JPEG_AUDIO_PLAYING
if (__bMMJPEGAudioMode)
{
__bMMJPEGAudioMode = FALSE;
}
#endif //SUPPORT_JPEG_AUDIO_PLAYING
CC_KeyCommand(KEY_STOP);
//MEDIA_Removed(SOURCE_DISC);
// wyc1.05-909, reset state to open/close and show LOGO when media removed.
CC_ResetState( KEY_OPEN_CLOSE );
#ifdef PRESTOP_BEFORE_SETUP_AND_PROGRAM
CC_ForceStop(CC_FORCE_STOP_FROM_POWERON_MENU);
#endif
}
}
else
{
POWERONMENU_Exit(OSD_UI_EXIT_ALL);
}
switch (__bKey)
{
case KEY_PHOTO:
_POWERONMENU_EnterPhotoMode();
break;
case KEY_MUSIC:
_POWERONMENU_EnterMusicMode();
break;
case KEY_PHOTO_MUSIC:
_POWERONMENU_EnterPhotoMusicMode();
break;
case KEY_MOVIE:
_POWERONMENU_EnterMovieMode();
break;
default:
break;
}
return KEY_NO_KEY;
}
void _POWERONMENU_EnterPhotoMode(void)
{
__bMMExtFilterMode = EXT_BIT_JPG;
POWERONMENU_InternalExit();
//Set JPEG relative setting always.
DVDSETUP_SetSlideShowIntervalTime();
DVDSETUP_SetSlideShowEffect();
if (__ImageFrameSetupInfo.bAutoPlayPhoto == SETUP_AUTO_PLAY_PHOTO_ON)
{
__bMMAutoPlay = TRUE;
}
else
{
__bMMAutoPlay = FALSE;
}
MEDIA_USB();
}
void _POWERONMENU_EnterMusicMode(void)
{
#ifdef NL_SOLUTION
__bMMExtFilterMode = EXT_BIT_MP3|EXT_BIT_MP2;
#else
__bMMExtFilterMode = EXT_BIT_MP3|EXT_BIT_MP2|EXT_BIT_WMA;
#endif //NL_SOLUTION
POWERONMENU_InternalExit();
if (__ImageFrameSetupInfo.bAutoPlayMusic == SETUP_AUTO_PLAY_MUSIC_ON)
{
__bMMAutoPlay = TRUE;
}
else
{
__bMMAutoPlay = FALSE;
}
MEDIA_USB();
}
void _POWERONMENU_EnterPhotoMusicMode(void)
{
__bMMExtFilterMode = EXT_BIT_JPG|EXT_BIT_MP3|EXT_BIT_MP2|EXT_BIT_WMA;
#ifdef SUPPORT_PLAY_MEDIA_DIRECTLY_POWER_ON
if (__bMMPlayMediaDirectlyMode == FALSE)
#endif //SUPPORT_PLAY_MEDIA_DIRECTLY_POWER_ON
{
POWERONMENU_InternalExit();
}
//Set JPEG relative setting always.
DVDSETUP_SetSlideShowIntervalTime();
DVDSETUP_SetSlideShowEffect();
#ifdef SUPPORT_JPEG_AUDIO_PLAYING
__bMMJPEGAudioMode = TRUE;
__bMMAutoPlay = TRUE;
__bRepeat = REPEAT_DISC;
#ifndef CT909P_IC_SYSTEM
if( !(OS_PeekFlag(&__fThreadInit) & INIT_DEC_THREAD_JPEG_DONE) )
{
INITIAL_ThreadInit(THREAD_JPEG_DECODER);
OS_YieldThread();
OS_TimedWaitFlag( &__fThreadInit, INIT_DEC_THREAD_JPEG_DONE, FLAG_WAITMODE_AND,
(COUNT_100_MSEC) );
if( !(OS_PeekFlag(&__fThreadInit) & INIT_DEC_THREAD_JPEG_DONE) )
{
DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "JPEG thread not initial done, value: %lx\n", OS_PeekFlag(&__fThreadInit));
}
}
JPEGDEC_ConfigProcessor(1); //Use 1 processor only
#endif //#ifndef CT909P_IC_SYSTEM
#else
if (__ImageFrameSetupInfo.bAutoPlayPhotoPlusMusic == SETUP_AUTO_PLAY_PHOTO_PLUS_MUSIC_ON)
{
__bMMAutoPlay = TRUE;
}
else
{
__bMMAutoPlay = FALSE;
}
#endif //SUPPORT_JPEG_AUDIO_PLAYING
MEDIA_USB();
}
void _POWERONMENU_EnterMovieMode(void)
{
__bMMExtFilterMode = EXT_BIT_DAT|EXT_BIT_MPG|EXT_BIT_VOB|EXT_BIT_AVI;
POWERONMENU_InternalExit();
if (__ImageFrameSetupInfo.bAutoPlayMovie == SETUP_AUTO_PLAY_MOVIE_ON)
{
__bMMAutoPlay = TRUE;
}
else
{
__bMMAutoPlay = FALSE;
}
MEDIA_USB();
}
#ifdef SUPPORT_FAVORITE_FUNCTION
void _POWERONMENU_EnterFavoriteMode(void)
{
if (__bMMJPGEncodeNum > 0)
{
POWERONMENU_InternalExit();
//Set JPEG relative setting always.
DVDSETUP_SetSlideShowIntervalTime();
DVDSETUP_SetSlideShowEffect();
// Switch source to SPI
__wDiscType = BOOK_M1;
__wPlayItem = 1;
__SF_SourceGBL[0].bSourceIndex = SOURCE_SPI;
__bModeCmd=KEY_PLAY; //Winnie 1.03, fix first time key press key_next then show key play
UTL_PlayItem(__wPlayItem, 0);
}
else
{
strcpy(__bMsgString, "No playable file");
_bPOWERONMENUShowPlayableFile = TRUE; //CoCo1.11
OSD_Output(MSG_NO_PLAYABLE_FILE, 0, 3);
}
}
#endif //SUPPORT_FAVORITE_FUNCTION
#ifdef SUPPORT_PLAY_MEDIA_DIRECTLY_POWER_ON
void POWERONMENU_PowerOnPlayMediaDirectly(void)
{
__bMMPlayMediaDirectlyMode = TRUE;
_POWERONMENU_EnterPhotoMusicMode();
}
#endif //SUPPORT_PLAY_MEDIA_DIRECTLY_POWER_ON
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -