?? o_karaoke_config.c
字號:
/****************************************************************************************************
* Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
* File: o_firmware_upgrade_custom.c
*
* Description:
* =========
****************************************************************************************************/
/***************************************************************************************
* Object definitions
****************************************************************************************/
CONST MS_COLOR_SET oKaraokeComponentColorSet = {
CIDX_6,
NULL,
NULL,
NULL
};
/***************************************************************************************
* Descriptor : oKaraokeComponentTitleDescriptor
*
* Purpose :
****************************************************************************************/
#ifndef D_GUI_SINGLE_LINE_COMPONENT
static CONST OSD_TEXT oKaraokeComponentTitleText = {OSDR_GetFormUniStr_OsdMessage, S_KARAOKE};
static CONST MS_DESCRIPTOR_TEXT oKaraokeComponentTitleDescriptor =
{ // MS_DESCRIPTOR_TEXT
{ // MS_DESCRIPTOR
sizeof(MSO_TEXT),
MS_NAV_NULL,
MS_ATTR_OSD_LAYER_0,
{
AREA_KARAOKE_TITLE_X,
AREA_KARAOKE_TITLE_Y,
AREA_KARAOKE_TITLE_W,
AREA_KARAOKE_TITLE_H
},
OTEXT_Operation,
OTEXT_FillOSDSeg,
mpParamNull
},
(MS_X_Y_ALIGN *)&oCenterAlignToContainer,
(MS_COLOR_SET *)&oKaraokeComponentColorSet,
NULL,
(OSD_TEXT*)&oKaraokeComponentTitleText,
FONT_0,
NULL,
NULL
};
#endif // D_GUI_SINGLE_LINE_COMPONENT
/***************************************************************************************
* Descriptor : oKaraokeKitVListDescriptor
*
* Purpose : Descriptor of the list (MSO_VLIST) containing the Karaoke settings.
****************************************************************************************/
static CONST MS_PARAM_VLIST oKaraokeKitListParam = {
0, // Total number of items in the list.
0, // Index of the first item.
NBR_MSO_CHOICE_MAX_VISIBLE, // Visible
0, // offset
0
};
static CONST MS_DESCRIPTOR_VLIST oKaraokeKitVListDescriptor =
{ // Container descriptor start
{// Descriptor start
sizeof(MSO_VLIST),
MS_NAV_CONTAINER_WRAP_UD | MS_NAV_CONTAINER_GOTO_PREV_FOCUS | MS_NAV_CONTAINER_GOTO_TOP,
MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0 | MS_ATTR_VLIST_OFFSET_FIRSTITEM | MS_ATTR_VLIST_SCROLL_SINGLE_ITEM,
{
AREA_KARAOKEKIT_X,
AREA_KARAOKEKIT_Y,
AREA_KARAOKEKIT_W,
AREA_KARAOKEKIT_H
},
_KaraokekitVlistOperation,
mpfFillOsdSegNull, // VListFillOSDSeg
(UINT8*)&oKaraokeKitListParam
},// Descriptor end
maContentsNull,
mwNbrContentsNull,
};
/***************************************************************************************
* Descriptor : oKaraokeKitDescriptor
*
* Purpose : Descriptor of the toolkit. The toolkit is a MSO_VSCROLL_LIST object,
* that contains an MSO_VLIST (descriptor oToolKitVListDescriptor) object
* within it.
****************************************************************************************/
static CONST MS_DESCRIPTOR_VSCROLL_LIST oKaraokeKitDescriptor =
{
{ // Container descriptor start
{ // Descriptor start
sizeof(MSO_VSCROLL_LIST),
MS_NAV_NULL,
MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1 | MS_ATTR_VSLIST_DISPLAY_BG_BMP |
MS_ATTR_VSLIST_SCROLL_ARROW | MS_ATTR_VSLIST_SCROLL_ARROW_ON_SIDE,
{
AREA_KARAOKEKIT_X,
AREA_KARAOKEKIT_Y,
AREA_KARAOKEKIT_W,
AREA_KARAOKEKIT_H
},
_KaraokeKitOperation,
VScrollListFillOSDSeg,
mpParamNull,
}, // Descriptor end
maContentsNull,
mwNbrContentsNull,
}, // Container descriptor end
(MS_DESCRIPTOR_VLIST*)&oKaraokeKitVListDescriptor, // mpDescriptorVList
KARAOKEKIT_SCROLL_XPADDING,
KARAOKEKIT_SCROLL_ARROW_HEIGHT,
CIDX_8, // Text color
NULL, // Background bitmap
BMP_BG_PUSHED_1, // Scrollbar background bitmap
BMP_BG_3 // Scrollbar bitmap
};
/***************************************************************************************
* The Karaoke On/Off choice object
****************************************************************************************/
static CONST MS_PARAM_CHOICE InitChoiceParam =
{
0
};
#define MAX_KARAOKE_ONOFF_VALUES 2
static CONST MS_CHOICE_DATA aKaraokeOnOffChoiceTable[MAX_KARAOKE_ONOFF_VALUES] =
{
{KARAOKE_OFF, S_OFF },
{KARAOKE_ON, S_ON }
};
static CONST MS_DESCRIPTOR_CHOICE oKaraokeOnOffChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_KaraokeOnOffChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_KARAOKE,
MAX_KARAOKE_ONOFF_VALUES,
(MS_CHOICE_DATA*)&aKaraokeOnOffChoiceTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_KaraokeOnOffChoiceAction
};
/***************************************************************************************
* The LR Mode choice object
****************************************************************************************/
#ifdef D_KARAOKE_LRMODE
#define MAX_LR_MODE_VALUES 4
#ifdef D_KARAOKE_LR_PARAM_UPDATE
static CONST MS_CHOICE_DATA aLRModeValueTable[MAX_LR_MODE_VALUES] =
{
{KARAOKE_LR_STEREO, S_STEREO },
{KARAOKE_LR_LEFT, S_LEFT },
{KARAOKE_LR_RIGHT, S_RIGHT },
{KARAOKE_LR_MIX, S_MIX }
};
#else
static CONST MS_CHOICE_DATA aLRModeValueTable[MAX_LR_MODE_VALUES] =
{
{DMM_SETTING_NORMAL, S_STEREO },
{DMM_SETTING_LEFT_ONLY, S_LEFT },
{DMM_SETTING_RIGHT_ONLY, S_RIGHT },
{DMM_SETTING_MIX, S_MIX }
};
#endif//D_KARAOKE_LR_PARAM_UPDATE
static CONST MS_DESCRIPTOR_CHOICE oLRModeChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_LRModeChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_LR_MODE,
MAX_LR_MODE_VALUES,
(MS_CHOICE_DATA*)&aLRModeValueTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_LRModeChoiceAction
};
#endif//D_KARAOKE_LRMODE
/***************************************************************************************
* The Key shift choice object
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oKeyShiftSliderParams =
{
KEYSHIFT_SLIDER_MIN_VALUE,
KEYSHIFT_SLIDER_MAX_VALUE,
KEYSHIFT_SLIDER_CURRENT_VALUE,
KEYSHIFT_SLIDER_STEP_INDEX
};
STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oKeyShiftSliderDescriptor =
{
{
sizeof(MSO_HSLIDER),
MS_NAV_NULL,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_SLIDER_X, AREA_SLIDER_Y, AREA_SLIDER_W, AREA_SLIDER_H
},
_KeyShiftHSliderOperation,
HSliderFillOSDSegOnVList,
(UINT8*)&oKeyShiftSliderParams
},
S_KEY_SHIFT,
S_NULL,//S_MINUS,
S_NULL,//S_PLUS,
KARAOKEKIT_HSLIDER_BAR_HEIGHT,
KARAOKEKIT_HSLIDER_BAR_WIDTH,
KARAOKEKIT_HTAB_HEIGHT,
KARAOKEKIT_HTAB_WIDTH,
HS_HIGHLIGHT_ON_OBJECT,
TRUE,//FALSE, // bDisplayCurrentValue
TRUE,//FALSE, // bDisplayMinAndMaxValues
_KeyShiftSliderAction
};
/***************************************************************************************
* The Echo choice object
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oEchoSliderParams =
{
ECHO_SLIDER_MIN_VALUE,
ECHO_SLIDER_MAX_VALUE,
ECHO_SLIDER_CURRENT_VALUE,
ECHO_SLIDER_STEP_INDEX
};
STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oEchoSliderDescriptor =
{
{
sizeof(MSO_HSLIDER),
MS_NAV_NULL,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_SLIDER_X, AREA_SLIDER_Y, AREA_SLIDER_W, AREA_SLIDER_H
},
_EchoHSliderOperation,
HSliderFillOSDSegOnVList,
(UINT8*)&oEchoSliderParams
},
S_ECHO,
S_MINUS,
S_PLUS,
KARAOKEKIT_HSLIDER_BAR_HEIGHT,
KARAOKEKIT_HSLIDER_BAR_WIDTH,
KARAOKEKIT_HTAB_HEIGHT,
KARAOKEKIT_HTAB_WIDTH,
HS_HIGHLIGHT_ON_OBJECT,
FALSE, // bDisplayCurrentValue
FALSE, // bDisplayMinAndMaxValues
_EchoSliderAction
};
/***************************************************************************************
* The Voice cancel choice object
****************************************************************************************/
#define MAX_VOICE_CANCEL_VALUES 2
static CONST MS_CHOICE_DATA aVoiceCancelChoiceTable[MAX_VOICE_CANCEL_VALUES] =
{
{VOICE_CANCEL_SETTING_OFF, S_OFF },
{VOICE_CANCEL_SETTING_ON, S_ON }
};
static CONST MS_DESCRIPTOR_CHOICE oVoiceCancelChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_VoiceCancelChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_VOICE_CANCEL,
MAX_VOICE_CANCEL_VALUES,
(MS_CHOICE_DATA*)&aVoiceCancelChoiceTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_VoiceCancelChoiceAction
};
/***************************************************************************************
* The Voice cancel choice object
****************************************************************************************/
#ifdef D_KARAOKE_MELODY
#define MAX_MELODY_VALUES 2
static CONST MS_CHOICE_DATA aMelodyChoiceTable[MAX_MELODY_VALUES] =
{
{KAR_AC3_MELODY_SETTING_OFF, S_OFF },
{KAR_AC3_MELODY_SETTING_ON, S_ON }
};
static CONST MS_DESCRIPTOR_CHOICE oMelodyChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_MelodyChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_MELODY,
MAX_MELODY_VALUES,
(MS_CHOICE_DATA*)&aMelodyChoiceTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_MelodyChoiceAction
};
#endif//D_KARAOKE_MELODY
/***************************************************************************************
* The Mic Effect choice object
****************************************************************************************/
#ifdef D_KARAOKE_MIC_EFFECT
#define MAX_MIC_EFFECT_VALUES 4
static CONST MS_CHOICE_DATA aMicEffectValueTable[MAX_MIC_EFFECT_VALUES] =
{
{KAR_MIC_EFFECT_OFF, S_OFF },
{KAR_MIC_EFFECT_FLANGE, S_FLANGE },
{KAR_MIC_EFFECT_CHORUS, S_CHORUS },
{KAR_MIC_EFFECT_HARMONY, S_HARMONY }
};
static CONST MS_DESCRIPTOR_CHOICE oMicEffectChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_MicEffectChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_MIC_EFFECT,
MAX_MIC_EFFECT_VALUES,
(MS_CHOICE_DATA*)&aMicEffectValueTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_MicEffectChoiceAction
};
#endif//D_KARAOKE_MIC_EFFECT
/***************************************************************************************
* The Vocal Effect choice object
****************************************************************************************/
#ifdef D_VOCAL_SUPPORT_ENABLED
#define MAX_VOCAL_EFFECT_VALUES 4
static CONST MS_CHOICE_DATA aVocalEffectValueTable[MAX_VOCAL_EFFECT_VALUES] =
{
{KAR_AC3_SETTING_NOVOCAL, S_OFF },
{KAR_AC3_SETTING_VOCAL1, S_V1 },
{KAR_AC3_SETTING_VOCAL2, S_V2 },
{KAR_AC3_SETTING_ALL, S_V1_V2 }
};
static CONST MS_DESCRIPTOR_CHOICE oVocalEffectChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_CHOICE_X, AREA_CHOICE_Y, AREA_CHOICE_W, CHOICE_HEIGHT
},
_VocalEffectChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_VOCAL_EFFECT,
MAX_VOCAL_EFFECT_VALUES,
(MS_CHOICE_DATA*)&aVocalEffectValueTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
_VocalEffectChoiceAction
};
#endif // D_VOCAL_SUPPORT_ENABLED
/***************************************************************************************
* The Karaoke component
****************************************************************************************/
#ifndef D_GUI_SINGLE_LINE_COMPONENT
#define NBR_KARAOKE_CONTENTS 2
#else // D_GUI_SINGLE_LINE_COMPONENT
#define NBR_KARAOKE_CONTENTS 1
#endif // D_GUI_SINGLE_LINE_COMPONENT
static CONST MS_DESCRIPTOR* CONST apKaraokeContents[NBR_KARAOKE_CONTENTS] = {
#ifndef D_GUI_SINGLE_LINE_COMPONENT
(MS_DESCRIPTOR*)&oKaraokeComponentTitleDescriptor,
#endif // D_GUI_SINGLE_LINE_COMPONENT
(MS_DESCRIPTOR*)&oKaraokeKitDescriptor,
};
CONST MS_DESCRIPTOR_KARAOKE oKaraokeDescriptor =
{
{// MS_DESCRIPTOR_COMPONENT
{// MS_DESCRIPTOR_CONTAINER
{// MS_DESCRIPTOR
sizeof(MSO_KARAOKE),
MS_NAV_TO_ALGINED_Y | MS_NAV_DISABLE_LR | MS_NAV_DISABLE_UD |
MS_NAV_CONTAINER_WRAP_LR | MS_NAV_CONTAINER_WRAP_UD | MS_NAV_CONTAINER_GOTO_TOP,
MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_KARAOKE_X, AREA_KARAOKE_Y, AREA_KARAOKE_W, AREA_KARAOKE_H
},
_KaraokeOperation,
_KaraokeFillOSDSeg,
mpParamNull,
},
(CONST MS_DESCRIPTOR**)apKaraokeContents, //maContentsNull,
NBR_KARAOKE_CONTENTS, //mwNbrContentsNull,
},
(MS_DESCRIPTOR*)&oKaraokeOnOffChoiceDescriptor
},
BMP_BG_2,
CIDX_6
};
/***************************************************************************************
* Array : aKaraokeKit
*
* Purpose : Contains an array of pointer to descriptors of the objects that would be
* added to the Karaokekit (oKaraokeKitDescriptor).
****************************************************************************************/
static CONST MS_DESCRIPTOR* CONST aKaraokeKit[] = {
(MS_DESCRIPTOR*)&oKaraokeOnOffChoiceDescriptor,
#ifdef D_KARAOKE_LRMODE
(MS_DESCRIPTOR*)&oLRModeChoiceDescriptor,
#endif//D_KARAOKE_LRMODE
(MS_DESCRIPTOR*)&oKeyShiftSliderDescriptor,
(MS_DESCRIPTOR*)&oEchoSliderDescriptor,
(MS_DESCRIPTOR*)&oVoiceCancelChoiceDescriptor,
#ifdef D_KARAOKE_MELODY
(MS_DESCRIPTOR*)&oMelodyChoiceDescriptor,
#endif//D_KARAOKE_MELODY
#ifdef D_KARAOKE_MIC_EFFECT
(MS_DESCRIPTOR*)&oMicEffectChoiceDescriptor,
#endif//D_KARAOKE_MIC_EFFECT
#ifdef D_VOCAL_SUPPORT_ENABLED
(MS_DESCRIPTOR*)&oVocalEffectChoiceDescriptor,
#endif // D_VOCAL_SUPPORT_ENABLED
NULL // IMPORTANT : Last item must always be NULL.
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -