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

📄 fmradiodef.h

📁 mtk平台的调频收音机的mmi部分! 可以了解mtk调频收音机的用户界面!
💻 H
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*******************************************************************************
* Filename:
* ---------
*  FMRadioDef.h
*
* Project:
* --------
*   MAUI
*
* Description:
* ------------
*   FM Radio id, const & macro definition
*
* Author:
* -------
*  Tim Chen
*
*==============================================================================
*           HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
 *------------------------------------------------------------------------------
 * $Log$
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 * removed!
 * removed!
 * 
 *
 *------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
*==============================================================================
*******************************************************************************/
#ifndef _FM_RADIO_DEF_H
#define _FM_RADIO_DEF_H

#include "MMI_features.h"

#ifdef __MMI_FM_RADIO__
/*
 * Need to include:
 * (1) xxx.h
 * (2) yyy.h
 */

#define MAX_VOL_LEVEL 7
#define IS_CHANNEL_EMPTY(f) ((f)==0)
#define DEFAULT_FREQUENCY 987
#define MAX_MANUAL_INPUT_LEN 6
#define MAX_NAME_INPUT_LEN 21
#define MIN_FM_FREQUENCY 875
#define MAX_FM_FREQUENCY 1080
#define FM_BANDWIDTH (MAX_FM_FREQUENCY - MIN_FM_FREQUENCY + 1)
#define NORMAL_REAPEAT_STEP_TIME 2000
#define NORMAL_REAPEAT_STEP_PERIOD 200
#define FAST_REAPEAT_STEP_PERIOD 100
#define NORMAL_REAPEAT_STEP_COUNT (NORMAL_REAPEAT_STEP_TIME / NORMAL_REAPEAT_STEP_PERIOD)
#define TWINKLE_FREQUENCY_COUNT 5
#define TWINKLE_FREQUENCY_ON_TIME 200
#define TWINKLE_FREQUENCY_OFF_TIME 100

#define FM_SUB_BAND_NUM NVRAM_EF_FM_RADIO_CHANNEL /* customizable in MMI_Fetures.h */
#define FM_RADIO_CHANNEL_NUM  NVRAM_EF_FM_RADIO_CHANNEL /* customizable in MMI_Fetures.h */

#define FM_SUB_BANDWIDTH ((FM_BANDWIDTH+1)/FM_SUB_BAND_NUM)
#define FM_MARK_SIG(x) ((x) |= 0x80)
#define FM_SIG_MARK(x) ((x) & 0x80)
#define FM_SIG_LVL(x) ((x) & 0x7F)
#define FM_SUB_MARK(x,i) ((x)&(1<<(i)))
#define FM_MARK_SUB(x,i) ((x) |= (1<<(i)))


#if defined(__MMI_FM_RADIO_RECORD__)
/* Note these defines should be the same as sound recorder */
#define MAX_FM_FILE_NAME_LEN     80
#define MAX_FM_PATH_LEN          25     /* The path is fixed. i.e "c:\audio\" */
#define MAX_FM_FULL_NAME_LEN     (MAX_FM_PATH_LEN+MAX_FM_FILE_NAME_LEN)

#define MAX_FM_INPUT_FILE_LEN    35     /* max file length for user to input */

#define FM_FILE_EXT_AMR L".amr"
#define FM_FILE_EXT_WAV L".wav"
#define FM_FILE_EXT_AWB L".awb"

#if defined(__DRM_SUPPORT__)
#define DRM_NOT_PERMIT_TO_APPEND 10000
#endif 
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 

typedef enum
{
    STR_ID_FMRDO_BASE = FM_RADIO_BASE + 1,
    STR_ID_FMRDO_TITLE,
    STR_ID_FMRDO_CHANNEL_LIST,
    STR_ID_FMRDO_MANUAL_INPUT,
    STR_ID_FMRDO_PRESET_AUTO_SEARCH,
    STR_ID_FMRDO_SETTINGS,
    STR_ID_FMRDO_BACKGROUND_PLAY,
    STR_ID_FMRDO_SKIN,
    STR_ID_FMRDO_SKIN_1,
    STR_ID_FMRDO_SKIN_2,
    STR_ID_FMRDO_SKIN_3,
    STR_ID_FMRDO_PLAY,
    STR_ID_FMRDO_EDIT,
    STR_ID_FMRDO_EMPTY,
    STR_ID_FMRDO_PRESET_LIST,
    STR_ID_FMRDO_SEARCHING,
    STR_ID_FMRDO_CHANNEL_NAME,
    STR_ID_FMRDO_FREQUENCY,
    STR_ID_FMRDO_VALID_FM_BANDWIDTH,
    STR_ID_FMRDO_VALID_FM_DECIMAL,
    STR_ID_FMRDO_NEW_CHANNEL,
    STR_ID_FMRDO_POWER_ON_FIRST,
#ifdef __MMI_FM_RADIO_BIND_EARPHONE__
    STR_ID_FMRDO_PLEASE_PLUG_IN_EARPHONE,
#endif 
    STR_ID_FMRDO_LOUD_SPEAKER,
#if defined(__MMI_FM_RADIO_RECORD__)
    STR_ID_FMRDO_RECORD,
    STR_ID_FMRDO_APPEND,
    STR_ID_FMRDO_PAUSE,
    STR_ID_FMRDO_STOP,
    STR_ID_FMRDO_RESUME,
    STR_ID_FMRDO_FILE_LIST,
    STR_ID_FMRDO_RECORD_FORMAT,
    STR_ID_FMRDO_RECORD_STORAGE,
    STR_ID_FMRDO_FORMAT_AMR,
    STR_ID_FMRDO_FORMAT_WAV,
	STR_ID_FMRDO_FORMAT_AWB,
    STR_ID_FMRDO_BAD_FORMAT,
    STR_ID_FMRDO_INVALID_FORMAT,
    STR_ID_FMRDO_DEVICE_BUSY,
    STR_ID_FMRDO_OPEN_FILE_ERROR,
    STR_ID_FMRDO_NO_CARD,
    STR_ID_FMRDO_WRITE_PROTECTION_ERROR,
    STR_ID_FMRDO_RECORD_IN_BT_SCO,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    NO_OF_STR_ID_FMRDO
} FMRDO_STR_ID_Enum;

typedef enum
{
    IMG_ID_FMRDO_BASE = FM_RADIO_BASE + 1,
    IMG_ID_FMRDO_APP,
    IMG_ID_FMRDO_BACKGROUND_PLAY,
    IMG_ID_FMRDO_SKIN,
    IMG_ID_FMRDO_LOUDSPEAK,    
    IMG_ID_FMRDO_CHANNEL_NAME,
    IMG_ID_FMRDO_FREQUENCY,
#if defined(__MMI_FM_RADIO_RECORD__)
    IMG_ID_FMRDO_RECORD_FORMAT,
    IMG_ID_FMRDO_RECORD_STORAGE,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    /* skin 1 */
    IMG_ID_FMRDO_SKIN_1_BACKGROUND,
    IMG_ID_FMRDO_SKIN_1_VOLUME,
    IMG_ID_FMRDO_SKIN_1_TUNER_SCALE,
    IMG_ID_FMRDO_SKIN_1_TUNER_SCALE_INDICATOR,
    IMG_ID_FMRDO_SKIN_1_POWER_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_1_POWER_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_1_POWER_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_1_POWER_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_1_SEARCH_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_1_SEARCH_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_1_SEARCH_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_1_SEARCH_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_1_STEP_UP_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_1_STEP_UP_BUTTON_DOWN,
    IMG_ID_FMRDO_SKIN_1_STEP_DOWN_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_1_STEP_DOWN_BUTTON_DOWN,
#ifdef __MMI_FM_RADIO_ANIMATION__
    IMG_ID_FMRDO_SKIN_1_ANIMATION,
#endif 
#ifdef __MMI_TOUCH_SCREEN__
    IMG_ID_FMRDO_SKIN_1_VOLUME_INC_UP,
    IMG_ID_FMRDO_SKIN_1_VOLUME_INC_DOWN,
    IMG_ID_FMRDO_SKIN_1_VOLUME_DEC_UP,
    IMG_ID_FMRDO_SKIN_1_VOLUME_DEC_DOWN,
    IMG_ID_FMRDO_SKIN_1_SETTING_UP,
    IMG_ID_FMRDO_SKIN_1_SETTING_DOWN,
#endif /* __MMI_TOUCH_SCREEN__ */ 
#if defined(__MMI_FM_RADIO_RECORD__)
    IMG_ID_FMRDO_SKIN_1_REC,
    IMG_ID_FMRDO_SKIN_1_REC_PAUSE,
    IMG_ID_FMRDO_SKIN_1_NUM_0,
    IMG_ID_FMRDO_SKIN_1_NUM_1,
    IMG_ID_FMRDO_SKIN_1_NUM_2,
    IMG_ID_FMRDO_SKIN_1_NUM_3,
    IMG_ID_FMRDO_SKIN_1_NUM_4,
    IMG_ID_FMRDO_SKIN_1_NUM_5,
    IMG_ID_FMRDO_SKIN_1_NUM_6,
    IMG_ID_FMRDO_SKIN_1_NUM_7,
    IMG_ID_FMRDO_SKIN_1_NUM_8,
    IMG_ID_FMRDO_SKIN_1_NUM_9,
    IMG_ID_FMRDO_SKIN_1_NUM_COL,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    /* skin 2 */
    IMG_ID_FMRDO_SKIN_2_BACKGROUND,
    IMG_ID_FMRDO_SKIN_2_VOLUME,
    IMG_ID_FMRDO_SKIN_2_TUNER_SCALE,
    IMG_ID_FMRDO_SKIN_2_TUNER_SCALE_INDICATOR,
    IMG_ID_FMRDO_SKIN_2_POWER_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_2_POWER_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_2_POWER_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_2_POWER_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_2_SEARCH_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_2_SEARCH_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_2_SEARCH_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_2_SEARCH_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_2_STEP_UP_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_2_STEP_UP_BUTTON_DOWN,
    IMG_ID_FMRDO_SKIN_2_STEP_DOWN_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_2_STEP_DOWN_BUTTON_DOWN,
#ifdef __MMI_FM_RADIO_ANIMATION__
    IMG_ID_FMRDO_SKIN_2_ANIMATION,
#endif 
#ifdef __MMI_TOUCH_SCREEN__
    IMG_ID_FMRDO_SKIN_2_VOLUME_INC_UP,
    IMG_ID_FMRDO_SKIN_2_VOLUME_INC_DOWN,
    IMG_ID_FMRDO_SKIN_2_VOLUME_DEC_UP,
    IMG_ID_FMRDO_SKIN_2_VOLUME_DEC_DOWN,
    IMG_ID_FMRDO_SKIN_2_SETTING_UP,
    IMG_ID_FMRDO_SKIN_2_SETTING_DOWN,
#endif /* __MMI_TOUCH_SCREEN__ */ 
#if defined(__MMI_FM_RADIO_RECORD__)
    IMG_ID_FMRDO_SKIN_2_REC,
    IMG_ID_FMRDO_SKIN_2_REC_PAUSE,
    IMG_ID_FMRDO_SKIN_2_NUM_0,
    IMG_ID_FMRDO_SKIN_2_NUM_1,
    IMG_ID_FMRDO_SKIN_2_NUM_2,
    IMG_ID_FMRDO_SKIN_2_NUM_3,
    IMG_ID_FMRDO_SKIN_2_NUM_4,
    IMG_ID_FMRDO_SKIN_2_NUM_5,
    IMG_ID_FMRDO_SKIN_2_NUM_6,
    IMG_ID_FMRDO_SKIN_2_NUM_7,
    IMG_ID_FMRDO_SKIN_2_NUM_8,
    IMG_ID_FMRDO_SKIN_2_NUM_9,
    IMG_ID_FMRDO_SKIN_2_NUM_COL,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    /* skin 3 */
    IMG_ID_FMRDO_SKIN_3_BACKGROUND,
    IMG_ID_FMRDO_SKIN_3_VOLUME,
    IMG_ID_FMRDO_SKIN_3_TUNER_SCALE,
    IMG_ID_FMRDO_SKIN_3_TUNER_SCALE_INDICATOR,
    IMG_ID_FMRDO_SKIN_3_POWER_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_3_POWER_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_3_POWER_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_3_POWER_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_3_SEARCH_BUTTON_ON_UP,
    IMG_ID_FMRDO_SKIN_3_SEARCH_BUTTON_ON_DOWN,
    IMG_ID_FMRDO_SKIN_3_SEARCH_BUTTON_OFF_UP,
    IMG_ID_FMRDO_SKIN_3_SEARCH_BUTTON_OFF_DOWN,
    IMG_ID_FMRDO_SKIN_3_STEP_UP_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_3_STEP_UP_BUTTON_DOWN,
    IMG_ID_FMRDO_SKIN_3_STEP_DOWN_BUTTON_UP,
    IMG_ID_FMRDO_SKIN_3_STEP_DOWN_BUTTON_DOWN,
#ifdef __MMI_FM_RADIO_ANIMATION__
    IMG_ID_FMRDO_SKIN_3_ANIMATION,
#endif 
#ifdef __MMI_TOUCH_SCREEN__
    IMG_ID_FMRDO_SKIN_3_VOLUME_INC_UP,
    IMG_ID_FMRDO_SKIN_3_VOLUME_INC_DOWN,
    IMG_ID_FMRDO_SKIN_3_VOLUME_DEC_UP,
    IMG_ID_FMRDO_SKIN_3_VOLUME_DEC_DOWN,
    IMG_ID_FMRDO_SKIN_3_SETTING_UP,
    IMG_ID_FMRDO_SKIN_3_SETTING_DOWN,
#endif /* __MMI_TOUCH_SCREEN__ */ 
#if defined(__MMI_FM_RADIO_RECORD__)
    IMG_ID_FMRDO_SKIN_3_REC,
    IMG_ID_FMRDO_SKIN_3_REC_PAUSE,
    IMG_ID_FMRDO_SKIN_3_NUM_0,
    IMG_ID_FMRDO_SKIN_3_NUM_1,
    IMG_ID_FMRDO_SKIN_3_NUM_2,
    IMG_ID_FMRDO_SKIN_3_NUM_3,
    IMG_ID_FMRDO_SKIN_3_NUM_4,
    IMG_ID_FMRDO_SKIN_3_NUM_5,
    IMG_ID_FMRDO_SKIN_3_NUM_6,
    IMG_ID_FMRDO_SKIN_3_NUM_7,
    IMG_ID_FMRDO_SKIN_3_NUM_8,
    IMG_ID_FMRDO_SKIN_3_NUM_9,
    IMG_ID_FMRDO_SKIN_3_NUM_COL,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    NO_OF_IMG_ID_FMRDO
} FMRDO_IMD_ID_Enum;

typedef enum
{
    SCR_ID_FMRDO_BASE = FM_RADIO_BASE + 1,
    SCR_ID_FMRDO_MAIN,
    SCR_ID_FMRDO_MAIN_OPTION,
    SCR_ID_FMRDO_CHANNEL_LIST,
    SCR_ID_FMRDO_MANUAL_INPUT,
    SCR_ID_FMRDO_PRESET_LIST_CONFIRM,
    SCR_ID_FMRDO_SETTINGS,
    SCR_ID_FMRDO_CHANNEL_OPTION,
    SCR_ID_FMRDO_SEARCHING,
    SCR_ID_FMRDO_CHANNEL_EDIT,
    SCR_ID_FMRDO_CHANNEL_NAME_EDIT,
    SCR_ID_FMRDO_CHANNEL_NAME_EDIT_OPTION,
    SCR_ID_FMRDO_CLEAR_CHANNEL_CONFIRM,
    SCR_ID_FMRDO_SAVE_CHANNEL_CONFIRM,
#if defined(__MMI_FM_RADIO_RECORD__)
    SCR_ID_FMRDO_EDIT_FILENAME,
    SCR_ID_FMRDO_EDIT_FILENAME_OPTIONS,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    NO_OF_SCR_ID_FMRDO
} FMRDO_SCR_ID_Enum;

typedef enum
{
    FMRDO_STATE_NOT_READY = 0,
    FMRDO_STATE_READY,
    FMRDO_STATE_RECORD,
    FMRDO_STATE_RECORD_PAUSE,
    FMRDO_STATE_SEARCH_ONE,
    FMRDO_STATE_SEARCH_ALL,
    NO_OF_FMRDO_STATE
} fmrdo_state_enum;

typedef enum
{
    FMRDO_BUTTON_NONE,
    FMRDO_BUTTON_POWER,
    FMRDO_BUTTON_SEARCH,
    FMRDO_BUTTON_STEP_UP,
    FMRDO_BUTTON_STEP_DOWN,
    FMRDO_BUTTON_REC,
    FMRDO_BUTTON_REC_PAUSE
} fmrdo_main_button_enum;

/* Number of FM Radio Main Option */
typedef enum
{
    FMRDO_MAIN_OPTION_CHANNEL_LIST,
    FMRDO_MAIN_OPTION_MANUAL_INPUT,
    FMRDO_MAIN_OPTION_PRESET_AUTO_SEARCH,
    FMRDO_MAIN_OPTION_SETTINGS,
#if defined(__MMI_FM_RADIO_RECORD__)
    FMRDO_MAIN_OPTION_RECORD,
    FMRDO_MAIN_OPTION_APPEND,
    FMRDO_MAIN_OPTION_FILE_LIST,
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 
    FMRDO_MAIN_OPTION_TOTAL
} fmrdo_main_option_item_enum;

#if defined(__MMI_FM_RADIO_RECORD__)

typedef enum
{
    FM_FORMAT_AMR,
    FM_FORMAT_WAV,
#if defined( AMRWB_ENCODE ) && defined( AMRWB_DECODE )
    FM_FORMAT_AWB,
#endif
    FM_REC_FORMAT_NUM
} fmrdo_record_format;
#endif /* defined(__MMI_FM_RADIO_RECORD__) */ 

#endif /* __MMI_FM_RADIO__ */ 
#endif /* _FM_RADIO_DEF_H */ 

⌨️ 快捷键说明

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