📄 am_app_va_vr_server.h
字号:
#ifndef AM_APP_VA_VR_SERVER_CLASS_INCLUDE#define AM_APP_VA_VR_SERVER_CLASS_INCLUDE/* (c) Copyright Motorola 1997, 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 defines the AM_App_VA_VR_Server class. ************** REVISION HISTORY ********************************************** Date Author Reference ======== ======== ========================== 04-11-23 aja099 LIBff38547 VST VR Porting 03-05-13 Chiarulli LIBdd01040 Modify Audio Manager to accept VST VR port from CDMA T730 00-12-21 mtaraba CSGce82934 main_comp_hardware.h within engine_audio vob should be removed 01-03-15 mtaraba CSGce90543 AM is sending CTG_ON command unnecessarily resulting in VR hangup 00-09-01 blamers CR - CSGce61298 Complete functionality for VA FF/Rew - Add save_va_data functions for va_offset 00-08-23 mtaraba CR - CSGce65193 Move AM_AUDIO_PATH_TYPE enumeration to a global header file - include audio_path_types.h 00-05-05 shagino CR - CSGce56425 Implement handsfree_status funtion - Changed DL_AUDIO_TONE_TYPE to DL_AUDIO_TONE_TYPE_T. 99-10-25 ktang PR - CSGce40785 GRiEF Audio: DL Audio Tone Types and DL DB Feature IDs - Replaced old tone types to DL tone types 99-03-29 blamers PR - CSGce30057 no tag playback using volume keys - Removed condition_time_ind inline function. The remaining conditioning functions should also be removed if VA/VR is ever redone. 99-02-27 blamers CR - CSGce28847 VA/VR Stream Task Improvements - Change words_accessed to an UINT32 99-01-20 blamers CR - CSGce26811 VA/VR FDI Interface Completion - Add a HW Conditioning function to process the SEEM_Data_Stream_Stop_Ind. 98-12-21 blamers CR - CSGce26131 Modify VA/VR to interact with FDI - Added four DSP completion conditioning functions - Added WHITECAP conditional comp to avoid changing every HW mainline on AM_HW_Primitive_Builder.H 98-02-04 slam PR - CSGce16260 Double flip in VA/VR audio operations - Add is_va_vr_audio_running function to indicate if a VA/VR audio related operation is running or not. 97-10-03 slam PR - CSGce13607 - Add get_vr_group(). 97-09-04 slam PR - CSGce11610 Voice Annotation development - Add is_va_tone(). - Expand to be VA/VR Server. 97-07-15 slam PR - CSGce10240 Speaker Dependent Voice Recognition development - Add save_vr_group_for_retrieval(). - Add tone parameter in notify_mmi_vr_aborted_by_tone(). - Remove reset member function. - Rename repetition_bit_array to repetition_bit_mask - Move codes to inline. - Remove set_vr_data_ptr member function.*//************** HEADER FILE INCLUDES ******************************************/#include <stddef.h>#ifndef SUAPI_INCLUDE#include <SUAPI/suapi.h>#endif#include "am_app_va_vr_server.h"#include "am_app_logic_processor_main.h"#include "am_va_info.h"#include "am_va_vr_command_types.h"#include <ENGINE_AUDIO/audio_path_types.h>#include "AM_SDVR_Capture_Record.H"#include "AM_SDVR_Delete_Record.H"#include "AM_SDVR_Recog_Record.H"#include "AM_SDVR_Train_Record.H"#include "AM_VR_Playback_Record.H"#include "AM_VA_Info.H"#include "AM_HW_Primitive_Builder.H"#ifndef DL_AUDIO_AUF_INCLUDE#include <SYNERGY_DEVICE_LAYER/dl_audio_auf.h>#endif/************** CONSTANTS *****************************************************//************** STRUCTURES, ENUMS, AND TYPEDEFS *******************************//************** FUNCTION PROTOTYPES *******************************************//************** MACROS ********************************************************//************** CLASS DEFINITIONS *********************************************/class AM_App_VA_VR_Server{private: /* * Overload the new and delete operators to prevent calls to the * system's new and delete functions. */ inline void * operator new(size_t) { return((void *) NULL); } inline void operator delete(void *, size_t) {}public: /* * class constructor */ AM_App_VA_VR_Server ( /* pointer points to a data structure which stores all VA/VR related info */ AM_APP_VA_VR_SERVER *va_vr_info ); /* * class destructor, do nothing, but prevents allocation of __Ptbl in * everyfile that includes this .H file. */ ~AM_App_VA_VR_Server (void) {}; /* * determine if phone is in VA recording */ static BOOL is_va_record ( void ); /* * determine if phone is in VA playback */ static BOOL is_va_playback ( void ); /* * Determine if va command is active */ BOOL is_va_active ( void ); // DESCRIPTION: Call the HW dependent conditioning function inline TD_VR_MODEL_ID condition_audscm_train_complete(void *msg) { return (AM_HW_Primitive_Builder::condition_audscm_train_complete(msg)); } // DESCRIPTION: Call the HW dependent conditioning function inline void condition_audscm_recognize_complete(void *msg) { AM_HW_Primitive_Builder::condition_audscm_recognize_complete(msg); } // DESCRIPTION: Call the HW dependent conditioning function inline void condition_audscm_capture_complete(void *msg) { AM_HW_Primitive_Builder::condition_audscm_capture_complete(msg); } // DESCRIPTION: Call the HW dependent conditioning function inline void condition_audscm_complete(void) { AM_HW_Primitive_Builder::condition_audscm_complete(); } /* * set va/vr command */ inline void set_command ( /* va/vr command */ AM_VA_VR_COMMAND_TYPE command ) { am_app_va_vr_info->command = command; } /* * return va/vr command */ AM_VA_VR_COMMAND_TYPE get_command( AM_AUDIO_PATH_TYPE path_type ); /* * return va/vr data pointer */ void * get_data_ptr ( AM_AUDIO_PATH_TYPE path_type ); /* * return group id */ inline TD_VR_GROUP_TYPE get_vr_group( void ) { return( am_app_va_vr_info->va_vr_data.group_id ); } /* * save data in the voice tag record */ inline void save_play_voice_tag_data ( UINT16 voice_tag_count, TD_VR_VOICE_TAG *voice_tag_array ) { am_vr_playback_info.save( voice_tag_count, voice_tag_array ); } /* * save data in the capture record */ inline void save_capture_data(UINT16 repetition, UINT16 time, TD_VR_GROUP_TYPE group_id) { am_sdvr_capture_info.save(repetition, time, group_id); } /* * save data in the voice tag deletion record */ inline void save_delete_voice_tag_data ( TD_VR_VOICE_TAG voice_tag ) { *am_sdvr_delete_info = voice_tag ; } /* * save data in the speaker dependent voice recognition record */ inline void save_sdvr_recog_data ( TD_VR_GROUP_TYPE group_id, BOOL repeat_indication, UINT8 nbest, UINT8 active_bit_array_size, UINT16 *active_bit_array, UINT16 time ) { am_sdvr_recog_info.save( group_id, repeat_indication, nbest, active_bit_array_size, active_bit_array, time ); } /* * save data in the training record */ inline void save_training_data ( TD_VR_GROUP_TYPE group_id, TD_VR_TRAINING_TYPE training_mode, UINT16 repetition_bit_mask ) { am_sdvr_train_info.save( group_id, training_mode, repetition_bit_mask ); } /* * save group id for VR models retrieval */ inline void save_vr_group_for_retrieval ( TD_VR_GROUP_TYPE group_id ) { am_app_va_vr_info->va_vr_data.group_id = group_id; } /* save va data */ inline void save_va_data(UINT8 va_command_audio_path, UINT8 voice_note_id) { am_va_data_info.save(va_command_audio_path, voice_note_id); } inline void save_va_data(UINT8 va_command_audio_path, UINT8 voice_note_id, AM_VA_OFFSET va_offset) { am_va_data_info.save(va_command_audio_path, voice_note_id , va_offset); } inline void save_va_data(AM_VA_OFFSET va_offset) { am_va_data_info.save(va_offset); } /* save vst data */ inline void save_vst_data(W_CHAR *filename) { am_va_data_info.save(*filename); }private: /* * pointer to the VA/VR server working space */ static AM_APP_VA_VR_SERVER *am_app_va_vr_info; /* * object of AM_VR_Playback_Record class which is used to manipulate * playback info data structure */ AM_VR_Playback_Record am_vr_playback_info; /* * object of AM_VR_Playback_Record class which is used to manipulate * capture info data structure */ AM_SDVR_Capture_Record am_sdvr_capture_info; /* * object of AM_VR_Playback_Record class which is used to manipulate * deletion info data structure */ TD_VR_VOICE_TAG* am_sdvr_delete_info; /* * object of AM_VR_Playback_Record class which is used to manipulate * recognition info data structure */ AM_SDVR_Recog_Record am_sdvr_recog_info; /* * object of AM_VR_Playback_Record class which is used to manipulate * training info data structure */ AM_SDVR_Train_Record am_sdvr_train_info; /* * object of AM_VA_Info class which is used to manipulate VA info * data structure */ AM_VA_Info am_va_data_info;};#endif //end of AM_APP_VA_VR_SERVER_CLASS_INCLUDE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -