📄 am_tone_sequence_handler.h
字号:
#ifndef AM_TONE_SEQUENCE_HANDLER_H#define AM_TONE_SEQUENCE_HANDLER_H/* (c) Copyright Motorola 1996, 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 deals with setting the correct instruction mask and hardware parameters to be sent to the hw layer *************** REVISION HISTORY ********************************************* Date Author Reference ======== ======== ========================== 04-02-23 w18944 CR - LIBdd72710 WAV UI sounds 04-01-29 w18944 CR - LIBdd69286 Alert ramp up 03-11-03 a18984 CR - LIBdd46249 Moved macro INVALID_VOLUME_STEP to td_aud_tone_req_tone_type.h 01-12-20 ktang CR - LIBbb13753 Audio Media Request Redirection 00-08-14 ktang CR - CSGce68045 Analog Network DTMF fixes - Added a boolean field in the data structure signaling analog DTMF (uplink) 00-08-04 ktang PR - CSGce67917 Update audio Manager to support Synergy Lite tone defs 00-06-19 Bill Choi CR 66394 Add sequence id support for tones Holmes Chuang *//************** INCLUDES ******************************************************/#include <SUAPI/suapi.h>//#include "su_basictypes.h"#include <ENGINE_AUDIO/td_aud_tone_req_tone_type.h>#include "am_app_logic_processor_main.h"#define MAX_TONE_SEQUENCE_HANDLER_SIZE 8typedef enum{ AM_TONE_INIT, AM_TONE_START, AM_TONE_PLAY, AM_TONE_PAUSE}AM_TONE_STATUS_T; class Tone_Item{public: TD_AUD_TONE_UNION_T ToneEvent; AM_AUDIO_PATH_TYPE Path; AM_AUDIO_PRIORITY_T Priority; TD_AUD_TONE_SEQUENCE_NUMBER_T SequenceID; UINT8 DSPSequenceID; TD_AUD_VOLUME_SETTING_T VolumeStep; TD_AUD_TONE_REQ_TONE_TYPE_T VibrateType; TD_AUD_TONE_UPLINK_T Uplink; TD_AUD_MEDIA_INFO_T MediaInfo; UINT8 AppliedVol; TD_AM_SAMPLING_RATE_T SamplingRate; static UINT8 Current_DSP_Sequence_ID; AM_TONE_STATUS_T status; BOOL Used; Tone_Item * Next; Tone_Item * Prev;public: Tone_Item(); void Init();}; class Event_Queue_Handler{ private: Tone_Item Pool [MAX_TONE_SEQUENCE_HANDLER_SIZE]; Tone_Item * Head; UINT8 Current_DSP_Sequence_ID; public: Event_Queue_Handler(); ~Event_Queue_Handler(); UINT8 GenerateDSP_SequenceNumber(); Tone_Item * FindFreeItem(); Tone_Item * GetCurrent(); BOOL Push(TD_AUD_TONE_REQ_TONE_TYPE_T toneevent, AM_AUDIO_PATH_TYPE priority); BOOL Push(TD_AUD_TONE_UNION_T toneevent, AM_AUDIO_PATH_TYPE priority, TD_AUD_TONE_SEQUENCE_NUMBER_T seqnum, TD_AUD_VOLUME_SETTING_T volstep, TD_AUD_TONE_REQ_TONE_TYPE_T vibtype, TD_AUD_TONE_UPLINK_T uplink, TD_AUD_MEDIA_INFO_T mediaInfo, UINT8 alert_ramp_up_vol, TD_AM_SAMPLING_RATE_T samplingrate); void Insert(Tone_Item *); void RenewItem(Tone_Item *); BOOL Remove(TD_AUD_TONE_REQ_TONE_TYPE_T tone, UINT32 seqnum); void Detach(Tone_Item *); void Remove(Tone_Item *); void RemoveAll(UINT8 priority); void TurnOffDtmfUL(Tone_Item *); Tone_Item * FindbyDSPSeq(UINT8 ); Tone_Item * FindbyMediaSeq(UINT32); Tone_Item * FindItem(TD_AUD_TONE_REQ_TONE_TYPE_T tone, UINT32 seqnum); Tone_Item * FindItem(TD_AUD_TONE_REQ_TONE_TYPE_T tone); Tone_Item * FindItem(UINT32 seqnum); Tone_Item * FindItem(AM_AUDIO_PATH_TYPE path_type); BOOL Exists(); void UpdateStatus(Tone_Item *,AM_TONE_STATUS_T status); AM_AUDIO_PRIORITY_T GetPriority(Tone_Item* elem);};extern Event_Queue_Handler eventqueuehandler;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -