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

📄 normal.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			ptr_RecoverMuteIcon=RecoverMuteIcon;
			(*ptr_RecoverMuteIcon)();
//			RecoverMuteIcon();
		}
#endif
    	break;

    case C_NEXTPREV_TIMER:
        NextPrevStatus = 0;
        break;

    case C_BOOKMARK_TIMER:
        ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
        //30916 gamble for console display error
        if(g_UiCrntSubFunc==UI_SUBFUNC_BMARK)
        {
        	//David: Console+Zoom
			if(gZoomFuncPlus == TRUE)
			{
			      g_UiCrntSubFunc = UI_SUBFUNC_ZOOM;
				gZoomFuncPlus = FALSE;
			}
			else
	        	g_UiCrntSubFunc = UI_SUBFUNC_BASAL;
        }
        SetTimer(OSD5_TM_ID, ModeOSDOff, INFINITETIME);
        NextPrevStatus=0;
        //30916 gamble for console display error end
        RecoverModegui();
#ifdef _MUTE_ENABLE_
		ptr_GetMuteVolumeStatus = GetMuteVolumeStatus;
		if((*ptr_GetMuteVolumeStatus)() == MUTEVOLUME_STATUS_MUTE)
		{
			ptr_RecoverMuteIcon=RecoverMuteIcon;
			(*ptr_RecoverMuteIcon)();
//			RecoverMuteIcon();
		}
#endif
        break;

    case C_MODEGUI_TIMER:
        ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
        NextPrevStatus=0;
	
        if ((ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_NUM) || (ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_10_PLUS_OVER))
        {
            NextPrevStatus=1;
            NumberPlayProc();
        }
        
		if(g_UiCrntSubFunc==UI_SUBFUNC_BASAL||g_UiCrntSubFunc==UI_SUBFUNC_ZOOM)
		{
          RecoverModegui();
          RecoverDiscInfo();
       }
#ifdef _MUTE_ENABLE_
		ptr_GetMuteVolumeStatus = GetMuteVolumeStatus;
		if((*ptr_GetMuteVolumeStatus)() == MUTEVOLUME_STATUS_MUTE)
		{
			ptr_RecoverMuteIcon=RecoverMuteIcon;
			(*ptr_RecoverMuteIcon)();
//			RecoverMuteIcon();
		}
#endif
        break;

    case C_SCRSAVERON_TIMER:
        ScrSaverTurnON();
        break;

    case C_ZOOM_TIMER:
    	//UiSubFuncZoomProc(C_TIMER_ACTIVE, MsgInput);
    	gZoomFuncPlus=FALSE;
    	 if(g_UiCrntSubFunc==UI_SUBFUNC_ZOOM)
    	 	g_UiCrntSubFunc=UI_SUBFUNC_BASAL;
        ClearRectArea(gui_hdc, GUITYPE_ZOOM);
        SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
    	break;

    case C_CLEARSCREEN_TIMER:
        ClearRectArea(gui_hdc, GUITYPE_SCREEN);
        break;

    case C_STOP_TIMER:
        //temp for lg bug 2048
        if(g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
        	ClearRectArea(gui_hdc,GUITYPE_PLAYMODEGUI);
    	 break;
		 
//#if(_SDRAM_MODE==_SDRAM_4M16x1_MODE_)
	case C_AUTO_OPENTRAY:// for la : when disc error, auto open tray after 3 sec.
		 PnlSetIR(C_KEY_OPEN);
		 break;
//#endif

    default:
        break;
    }
}

/*----------------------------------------------------------------------------
 * Function name: BasalRespondScrsaverNotice
 * Arguments:  MsgInput:IN, the message content (In fact it is no use).
 * Return value:None.
 * Remark    :  
 *----------------------------------------------------------------------------*/
void BasalRespondScrsaverNotice(DWORD MsgInput)//added by bond 030815
{
    if(MsgInput==C_SCRSV_OFF)
    {
        UiSubFuncBasalInit();
    }
}
/*----------------------------------------------------------------------------
 * Function_Name : ChkPBMd
 * Arguments    : UIKey:IN, pressed virtual key.
 * Return value : TRUE: not forbidden ,FALSE: forbidden
 * Remark      : When one key is pressed, check the Key is legal or not in
 *     current PlayBack mode.
 *----------------------------------------------------------------------------*/
BOOL ChkPBMd(DWORD UIKey) //LILY MA:030505-03lily
{
    if (g_UiPlaybackList == UI_PLAYBACKLIST_PROGRAM)
    {
        switch (g_UiPlaybackRepeatRange)
        {
        case UI_PLAYBACKRANGE_REPEATAB:
            return ProgramRepeatBPermitKey & UIKey;
        case UI_PLAYBACKRANGE_REPEATONE:
        case UI_PLAYBACKRANGE_REPEATALL:
            return ProgramRepeatPermitKey & UIKey;
        case UI_PLAYBACKRANGE_REPEATNONE:
            switch (g_UiPlaybackMethod)
            {
            case UI_PLAYBACKMETHOD_RANDOM:
            case UI_PLAYBACKMETHOD_SHUFFLE:
                return ProgramRandomPermitKey & UIKey;
            default:
                return ProgramPermitKey & UIKey;
            }
        default:
            return TRUE;
        }
    }
	else
	{
        switch (g_UiPlaybackRepeatRange)
        {
        case UI_PLAYBACKRANGE_REPEATAB:
            return RepeatBPermitKey & UIKey;
        case UI_PLAYBACKRANGE_REPEATONE:
        case UI_PLAYBACKRANGE_REPEATALL:
            return RepeatPermitKey & UIKey;
        case UI_PLAYBACKRANGE_REPEATNONE:
            switch (g_UiPlaybackMethod)
            {
            case UI_PLAYBACKMETHOD_RANDOM:
            case UI_PLAYBACKMETHOD_SHUFFLE:
                return RandomPermitKey & UIKey;
            default:
                return TRUE;
            }
        default:
            return TRUE;
        }
	}
}

/*----------------------------------------------------------------------------
 * Function_Name : ChkNXPRE
 * Arguments    : UIKey_Times:IN, Times the key be pressed;
 *       &pPlayInfo:IN, Destination information.
 * Return value : WORD
 * Remark        : Check the destination is exist or not in current PlayBack mode.
 *----------------------------------------------------------------------------*/
#define PROG_ITEM_MAX 199
extern WORD g_szProgList[PROG_ITEM_MAX];
#define PROG_ITEM_NULL 0xFFFF
WORD get_Cur_Num_Of_wTTN__In_ProgList()	// can only be used when g_UiPlaybackList == UI_PLAYBACKLIST_PROGRAM
{
    PLAYPOINT PlayPoint;
	int i,j=0;
    
	NVGetCurInfo(&PlayPoint);
	for(i=0; i<PROG_ITEM_MAX; i++)
	{
		if(g_szProgList[i]!=PROG_ITEM_NULL)
		{
			if(i==PlayPoint.wTTN-1)
			{
				return j;
			}
			j++;
		}
	}
	return 0;

}

void emptyProgList()
{
	int i;
	for(i=0; i<PROG_ITEM_MAX; i++)
		g_szProgList[i]=PROG_ITEM_NULL;

    if(DiscType==C_VCD10||DiscType==C_VCD20||DiscType == C_SVCD)
		g_VCDProCurNum=0;
	else
		g_UiPlaybackList=UI_PLAYBACKLIST_NORMAL;
}
	
//if num=0,play the first file
int GetProgIndex(WORD num)
{
	int i,j=0;
	for(i=0; i<PROG_ITEM_MAX; i++)
	{
		if(g_szProgList[i]!=PROG_ITEM_NULL)
		{
			if(j==num)
			{
				return g_szProgList[i]+1;
			}
			j++;
		}
	}
	return 0;
}

int GetProgNum(void)
{
	int i,j=0;
	for(i=0; i<PROG_ITEM_MAX; i++)
	{
		if(g_szProgList[i]!=PROG_ITEM_NULL)
			j++;
	}
	return j;
}

WORD ChkNXPRE(int UIKey_Times, PLAYPOINT *pPlayInfo) //LILY MA:030505-04lily
{
    WORD wTempPTTNs, tmpcurtt;
    BOOL BEndFlag = FALSE;
    PLAYPOINT CurPlayPoint;
	
    if (g_UiPlaybackList == UI_PLAYBACKLIST_PROGRAM)
	{
		g_VCDProCurNum=get_Cur_Num_Of_wTTN__In_ProgList();
		
        switch (g_UiPlaybackRepeatRange)
        {
        case UI_PLAYBACKRANGE_REPEATNONE:
            if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
            {
                if (UIKey_Times > 0) // UI_KEY_NEXT
                {
                    if (GetProgNum() == 1)
                    {
                        return NXPRE_NONExist;
                    }
                    if ((g_VCDProCurNum + UIKey_Times) < GetProgNum() ) // exist
                    {
                        g_VCDProCurNum += UIKey_Times;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    else
                    {
                        return NXPRE_NONExist;
                    }
                }
                else   // UI_KEY_PREV
                {
                    if (GetProgNum() == 1)
                    {
                        return NXPRE_NONExist;
                    }
                    if ( (g_VCDProCurNum + UIKey_Times) >= 0 ) // exist
                    {
                        g_VCDProCurNum += UIKey_Times;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    else
                    {
                        return NXPRE_NONExist;
                    }
                }
            }

        case UI_PLAYBACKRANGE_REPEATALL:
            if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
            {
                if (UIKey_Times > 0) // UI_KEY_NEXT
                {
                    if (GetProgNum() == 1)
                    {
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    if ( (g_VCDProCurNum + UIKey_Times) < GetProgNum() ) // exist
                    {
                        g_VCDProCurNum += UIKey_Times;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    else
                    {
                        g_VCDProCurNum = (g_VCDProCurNum + UIKey_Times - GetProgNum()) % GetProgNum() ;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                }
                else   // UI_KEY_PREV
                {
                    if (GetProgNum() == 1)
                    {
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    if ( (g_VCDProCurNum + UIKey_Times) >= 0 ) // exist
                    {
                        g_VCDProCurNum += UIKey_Times;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                    else
                    {
                        g_VCDProCurNum = GetProgNum() + (g_VCDProCurNum + UIKey_Times) % GetProgNum() ;
                        pPlayInfo->wTTN = GetProgIndex(g_VCDProCurNum);
                        pPlayInfo->dwLBAAddr = 0;
                        return NXPRE_OK;
                    }
                }
            }
            break;

        case UI_PLAYBACKRANGE_REPEATONE:   //030520-01lily
            if (g_UiPlaybackMethod == UI_PLAYBACKMETHOD_NORMAL)
            {
                NVGetCurInfo(pPlayInfo);
                pPlayInfo->wTTN = PBInfo[REPEAT1].wTTN;
                pPlayInfo->dwLBAAddr = PBInfo[REPEAT1].dwLBAAddr;
                return NXPRE_OK;
            }
            break;

        case UI_PLAYBACKRANGE_REPEATAB:   //030520-02lily:program+repeatab can't respond next/pre
            return NXPRE_NONExist;
            break;
        }
    }	else
	{

⌨️ 快捷键说明

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