?? cc.c
字號:
__bTemp= CC_DoKeyAction ( __bKey );
// Micky0.87, move to after MSG_STOP.
/*
// Micky2.81, must clear __bKeyMessage by cc
// Can't do it right after CC_DoKeyAction
// as MSG_STOP will be issued after CC_DoKeyAction.
__bKeyMessage = MSG_NULL;
*/
} // if ( bValidKey==KEY_ACCEPT)
// ** TCH1.00; begin... Must put here, let other module can use __bKeySource to decide ISR or FW.
// clear the Key source
__bKeySource = KEY_FROM_NONE;
// ** TCH1.00; end...
// DVD_172Micky, must be done right after CC_DoKeyAction as reference __bTemp
// the return value
// false, key is not processed, we can just clear the key.
// true, key is processed
// INVALID_KEY, KEY_NO_KEY
// KEY_STOP is processed.
if ( __bTemp == INVALID_KEY )
{
OSD_Output(MSG_INVALID, OSD_ERR_KEY, 1 );
}
else // ** TCH0.452; Add for "Gloden Eye". Need Micky confirm
// Micky0.87, fix SCB to track begin will show LOGO first.
// as it will cal CC_DoKeyAction(KEY_STOP)
// move the show LOGO action to outside of CC_DoKeyAction
// as the function may be called, but don't need show LOGO.
if (__bKey==KEY_STOP)
{
// DVD_172Micky, FLOW_CONTROL begin
// when STOP key is processed, cancel any auto play.
__bFlowState &= ~FLOW_RELEASE_PLAY;
// DVD_172Micky, FLOW_CONTROL end
// Now play the CD-DA track of VCD2.0
// still hard to control not re-draw LOGO
//show LOGO here
//DVD_031, MP3
//MP3, don't show LOGO
#ifndef NO_MP3
if ( !(__wDiscType & CDROM_M1) )
#endif
// wyc.172, when press KEY_STOP we will check if servo is still OK. If the servo is not OK, we will do reset recover
{
// Micky1.21, CodeReview --- remove
// wyc1.21
/*
if (SERVO_ServoAbnormal())
SERVO_ResetRecover(FALSE);
*/
OSD_Output (MSG_LOGO, NULL, 0xff);
}
// Micky1.10, add 6 Display Mode
#ifdef SHOW_6_DISPLAY_MODE
if((__bDisplay>1)&&(__bDisplay<6)&&
((__bRootMenu)||(__bTitleMenu)||(__dwDisplayStartTimer==0))) //xuli1016stop
OSD_Output(MSG_DISPLAY,__bDisplay,0xff); //refresh the LD to redraw all info. which be cleared when only show time region
__bRootMenu=0; //xuli1016stop
__bTitleMenu=0; //xuli1016stop
OSD_OUTPUT_MACRO ( MSG_STOP, NULL, 0xff );
#else //#ifdef SHOW_6_DISPLAY_MODE
OSD_OUTPUT_MACRO ( MSG_STOP, NULL, 3 );
#endif //#ifdef SHOW_6_DISPLAY_MODE
}
// Micky0.87, move to after MSG_STOP.
__bKeyMessage = MSG_NULL;
// Micky2.79, tune the usage of __bCountStop, don't reference DOUBLE_STOP
// this flow has problem when DVD-> auto play end(__bISRKey=KEY_STOP from F/W),
// but soon KEY_STOP is issued from IR. It will become pre-stop.(DOUBLE_STOP case)
if (__btPlaying
// Micky1.20, 4M flash
#ifndef NO_DIGEST
|| __btDIGEST
#endif
)
{
__bCountStop=0;
}
// Micky2.37, move auto power down control into function
#ifdef AUTO_POWERDOWN
MONITOR_AutoPowerDown(MONITOR_POWERDOWN_PREPARE);
#endif //#ifdef AUTO_POWERDOWN
__bKey= KEY_NO_KEY;
// Avoid to effcet the action that system is issues.
// wyc1.07a. remove this variale.
//__bKeyRepeat= 1;
// DVD_276Micky, bit reduce
/// __btJumping= FALSE;
} // if ( __bKey != KEY_NO_KEY )
/// End Of Section[3] : Process the input Key
#ifdef TFT_CONTROL
_TFT_Trigger();
#endif
#ifdef SUPPORT_AVIN
{
if(__bTftKeyAvInEnable!=TRUE)
{
__bTftKeyAvInEnable=TRUE;
#ifdef YHTANG_DEBUG
_printf("\n cc.c main loop ,set __bTftKeyAvInEnable true");
#endif
}
if(__bAvINPowerKeyEnable!=TRUE)
{
__bAvINPowerKeyEnable=TRUE;
#ifdef YHTANG_DEBUG
_printf("\n cc.c main loop ,set __bAvINPowerKeyEnable true");
#endif
}
}
#endif
/// *** For PowerDown mode, Sector[4]~[9] are skipped
// Nothing more needed to be done at PowerDown mode.
if (__btPowerDown)
goto MAIN_LOOP_END;
// ==============================================================
/// Section[4] : Check the time out for input number mode
/// 4.1) Process the time out for input number
/// 4.2) Process the time out for KEY_N10PLUS
// Micky1.21, BookMark UI is forever from 1.21
/*
/// 4.3) Bookmark time out, just cancel bookmark.
*/
/// Comments:
/// - This section is not necessary for SETUP.
// ==============================================================
// Micky2.37, move number time out into function
_CC_Trigger_TimeOut_Nummber();
/// End Of Section[4] : Check the time out for input number mode
// ==============================================================
/// Section[5] : Modes Trigger
/// : For specific mode, it may need some autorun behavior
/// : while no user input
/// 5.1) AVSYS trigger
/// - For non-DVD channel, will do auto scanning, PANEL_StringTrigger
/// - For DVD channel, process AMP/Equalizer adjustment time out
/// 5.2) SETUP Trigger
//Kevin0.86, support virtual IR
/// 5.3) Virtual IR Trigger
// ==============================================================
/// 5.1) AVSYS trigger
// LLY.277a-2, trigger tuner function within tuner mode
#ifdef SUPPORT_AV_SYSTEM
AVSYS_Trigger();
#endif // #ifdef SUPPORT_AV_SYSTEM
/// AVSYS related codes must be put before Section 5.2.
/// End Of AVSYS related codes.
/// *** For non-DVD Channel, Section[5.2]~[9] are skipped
// Below flow are not necessary for non-DVD channel
#ifdef SUPPORT_AV_SYSTEM
if ( __bAUXChannel != AUX_CHANNEL_DVD )
goto MAIN_LOOP_END;
#endif //#ifdef SUPPORT_AV_SYSTEM
/// 5.2) SETUP Trigger
// brian.277a-3rd, allways call it.
SETUP_Trigger();
// Micky0.91, add trigger for OSD complete.
OSD_StageTrigger();
// 5.3) VIR Trigger
//Kevin0.86, timeout for showing VIR notes
#ifdef SUPPORT_VIRTUAL_IR
OSDVIR_Trigger();
#endif
// 5.4) OSDPROMPT Trigger
//Alex1.07a, timeout for showing PSCAN PROMPT notes
#if defined (SUPPORT_PSCAN_PROMPT_SETUP) || defined (SUPPORT_PSCAN_PROMPT_OSD)
OSDPROMPT_Trigger();
#endif // #if defined (SUPPORT_PSCAN_PROMPT_SETUP) || defined (SUPPORT_PSCAN_PROMPT_OSD)
/// End Of Section(5) : Mode Trigger
/// ****** DVD Channel Sections Only Begin ********************
/// Below Flow are necessary only for DVD Channel mode
/// !!! Only can add the DVD Channel related
/// !!! control flow within this block
/// Comments:
/// - For SETUP, it only needs to monitor screen saver.
// ==============================================================
/// Section[6] : Event monitor
/// 6.1) Screen Saver
/// 6.2) Auto Vocal Detection
// ==============================================================
/// 6.1) Screen Saver
#ifndef NO_SCREEN_SAVER
{
void MONITOR_ScreenSaver(void);
MONITOR_ScreenSaver();
}
#endif // #ifndef NO_SCREEN_SAVER
// SETUP related codes must be put before Section 6.2.
// Screen saver's behavior was done within MONITOR_ScreenSaver.
/// End Of SETUP related codes.
/// *** For SETUP mode, Section[6.2]~[9] are skipped.
if ( __bSetupMode )
goto MAIN_LOOP_END;
/// 6.2) Auto Vocal Detection
// check the input of Mic. for autovocal.
// DVD_172Micky, FLOW_CONTROL begin
// can't put betwwen __bISRKey != KEY_NO_KEY & __bKey != KEY_NO_KEY
// put it before ProceedFlowControl,
// if vocal is detected(_bISRKey=KEY_VOCAL), will do KEY_VOCAL first then ProceedFlowState
// if vocal key is not detected, will do ProceedFlowState directly.
// so, it's safe.
// This part is for Auto-Vocal detection
#ifdef ENABLE_AUTOVOCAL
_AutoVocal( NULL ); // Brian.170, for SW MIC detection
#endif // ENABLE_AUTOVOCAL
// DVD_172Micky, FLOW_CONTROL end
/// End Of Section[6] : Event monitor
// ==============================================================
/// Section[7] : The DVD Channel Flow Trigger
/// 7.1) Flow State Control
/// 7.2) Disc Flow Trigger
// ==============================================================
/// 7.1) Flow State Control
// Do flow trigger after title detction.
// When FlowState need to be release, 1) no input keys && 2) non-input modes
// then can do _ProceedFlowState.
// LLY2.37p, need to check F/W key input or not
// Otherwise, __bFWKey maybe overwitten within _ProceedFlowState() for auto play or power on resume
if ( (__bFlowState & FLOW_TRIGGER) && !__bSetupMode && (__bISRKey == KEY_NO_KEY)
&& (__bFWKey == KEY_NO_KEY) )
{
_ProceedFlowState();
}
/// 7.2) Disc Flow Trigger
__bTemp= LOBYTE ( __wDiscType ) & 0x0f;
#ifdef _WINDVD
// ** DVD-TCH0.20;
if ( __wDiscType & BOOK_DVD )
{
// Micky2.32, switch HD/FD, HAL_SetDecodeMode will decide the _bAction value
extern BYTE _bAction;
if (_bAction)
{
W99AV_Reset(W99AV_RESET_TOTAL);
if ( _bAction == 1/*SWITCH_HD*/)
{
W99AV_WriteDRAMData(0x15f, 0x10000);
}
else
{
W99AV_WriteDRAMData(0x15f, 0x00000);
}
_bAction=0;
NV_Action ( ACTION_STOP, NULL ); // ** TCH0.37; Let NV stay on STOP mode
CC_KeyCommand(KEY_STOP);
__bLastModePlay = MODE_PLAYUNKNOW;
__bModePlay = MODE_PLAYUNKNOW;
{
extern BYTE __bNextHWReset;
__bNextHWReset = TRUE;
}
// below codes will cause NV fail???
/*
UTL_SetPlayMode(MODE_PLAYMOTION);
SoftReset()
*/
NV_Action ( ACTION_RESUME, NULL );
}
#ifndef NO_DIGEST
#ifndef NO_DVDDIGEST
// wyc.100
if (__btDIGEST)
{
if (__bISRKey!=KEY_PLAY)
{
DIGEST_Trigger();
}
}
else
#endif // NO_DVDDIGEST
#endif
{
#ifndef NO_DVD
NV_Trigger (); // ** TCH0.25;
#endif
if ( __btPlaying )
{
#ifndef NO_DVD
NV_Trigger ();
#else
UTL_GetCurrentTime ();
if ( __dwTimeNow >= __dwTimeEnd )
{
// LLY2.37p, assign KEY_NEXT from F/W key
// To avoid IR key and F/W key conflict issue
// __bISRKey= KEY_NEXT;
__bFWKey=KEY_NEXT;
__btPlayEnd= TRUE;
}
#endif // NO_DVD
}
}
#ifndef NO_DVDDIGEST
// wyc.100 , prepare DVD digest, because when execute DVD digest from stop mode,
// in some titles will have some problems, so DIGEST_PreDVDDigest is responsible
// for entering playing mode first then execute digest command.
#ifdef PRE_DVDDIGEST
DIGEST_PreDVDDigest();
#endif // PRE_DVDDIGEST
#endif // NO_DIGEST
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -