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

📄 am_custom_tune.h

📁 Motorola synergy audio component
💻 H
字号:
#ifndef AM_CUSTOM_TUNE_INCLUDE
#define AM_CUSTOM_TUNE_INCLUDE

#ifdef __cplusplus         /*  Allow #include in a C++ file.  */
extern "C" {
#endif

/* (c) Copyright Motorola 2001, All rights reserved.
   Motorola Confidential Proprietary
   Contains confidential proprietary information of Motorola, Inc.
   Reverse engineering is prohibited.
   The copyright notice does not imply publication.
   
   DESCRIPTION:
       This file contains definitions used in the generation of a tone.

***************************** REVISION HISTORY ******************************
 
Date        Author      Reference Number
========    ========    ================
02-10-30    bof010      CR - LIBbb65108
            Invalid format in stored melody (Port the fix from TALON)

01-08-17    shagino     CR - LIBbb02768
            Merge R1.2 baseline with latest R1.1
            - Added function prototype am_custom_tune_set_meta_info

01-03-18    ktang       CR - CSGce90044
            Renamed am_relay_layer_music.h to am_tune.h

00-08-09    mtaraba     CR - CSGce55882
            Eliminate file gsm.h from audio manager

99-10-25    ktang       PR - CSGce40494
            GRiEF AM Music Ringer
            - Created file based on am_app_logic_processor_music.h,
              am_hw_primitive_builder_tone.h, and MCU_DSP_AUDIO_MUSIC_GEN_ON
              MDI message format
*/
/************** HEADER FILE INCLUDES ******************************************/

#include <SUAPI/suapi.h>
#include <ENGINE_AUDIO/td_aud_tone_req_type.h>
#include <ENGINE_AUDIO/td_aud_tone_req_tone_type.h>
#include "am_hw_primitive_builder_tone.h"
#include <SYNERGY_DEVICE_LAYER/dl_audio_auf.h>
          
/************** CONSTANTS *****************************************************/
#define NUMBER_OF_PITCHES        12
#define AM_CUSTOM_TUNE_BUFFER_SIZE (DL_AUDIO_MAX_ALERT_TUNE_LENGTH * 2)
#define AM_CUSTOM_INVALID_NOTE DL_AUDIO_TONE_TYPE_INVALID_TONE

/************** STRUCTURES, ENUMS, AND TYPEDEFS *******************************/
typedef struct
{
    UINT8         tempo;
    UINT8         note_numb;
    UINT8*        tune_ptr;
} TUNE_META;

typedef struct
{
    TD_AUD_TONE_REQ_TYPE_T req_type;
    TD_AUD_TONE_REQ_TONE_TYPE_T tone_type;
    TD_AUD_TONE_SEQUENCE_NUMBER_T sequence;
    TD_AUD_TONE_REQ_TONE_TYPE_T vib_type;
    TD_AUD_VOLUME_SETTING_T vol_step;
} TUNE_REQUEST;

typedef struct
{
    UINT8          data_buf[AM_CUSTOM_TUNE_BUFFER_SIZE];
    TUNE_META      meta;
    TUNE_REQUEST   request;
} CUSTOM_TUNE_INFO;

enum
{
    S0,
    S1,
    S2
};
typedef UINT8 IMELODY_STYLE;

enum
{
    TEMPO,
    NOTE_COUNT,
    VOLUME,
    STYLE,
    TUNE_DURATION,
    NUMBER_OF_FIELDS
};
typedef UINT8 IMELODY_TUNE_CHARACTER_FIELD;

enum
{
    EFFICIENT_OCTAVE,
    VERBOSE_OCTAVE
};
typedef UINT8 IMELODY_OCTAVE_METHOD;

/************** FUNCTION PROTOTYPES *******************************************/
UINT32
am_custom_tune_iMelody_parse(UINT8* input_note_ptr, UINT16 beats, AUD_CUSTOM_TYPE action);

void
am_custom_tune_store_request(TD_AUD_TONE_REQ_TYPE_T req_type,
                              TD_AUD_TONE_REQ_TONE_TYPE_T tone_type,
                              TD_AUD_TONE_REQ_TONE_TYPE_T vibrate_type,
                              TD_AUD_TONE_SEQUENCE_NUMBER_T sequence_number,
                              TD_AUD_VOLUME_SETTING_T vol_step);

void am_custom_tune_send_request(TD_AUD_MEDIA_INFO_T media_info);

UINT8* am_custom_tune_buffer();

BOOL
am_custom_tune_identify(TD_AUD_TONE_REQ_TONE_TYPE_T tone_type,
                         TD_AUD_TONE_SEQUENCE_NUMBER_T sequence_number);

void
am_custom_tune_invalidate();

void
am_custom_tune_set_meta_info(TUNE_META meta);

TUNE_META
am_custom_tune_get_meta_info();

TUNE_REQUEST
am_custom_tune_get_request_info();

void
aud_custom_tune_imelody_unpack( UINT8 * imelody_string,
                                UINT8 * notes_buffer,
                                UINT16 notes_buffer_size,
                                UINT16 * beats);

void
aud_custom_tune_imelody_pack( UINT8 * imelody_buffer,
                              UINT16 imelody_buffer_size,
                              UINT8 * notes_string,
                              UINT16 beats);

/************** MACROS ********************************************************/

/************** CLASS DEFINITIONS *********************************************/

/************** GLOBAL VARIABLES **********************************************/

#ifdef __cplusplus /* allow #include in a C++ file (only put this in .h files) */
}
#endif
#endif /* end of - prevent inadvertently including a header file twice */

⌨️ 快捷键说明

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