ATLEntities.cpp 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <ATLEntities.h>
  9. #include <AzCore/IO/Streamer/FileRequest.h>
  10. namespace Audio
  11. {
  12. #if !defined(AUDIO_RELEASE)
  13. ///////////////////////////////////////////////////////////////////////////////////////////////////
  14. bool CATLDebugNameStore::AddAudioObject(const TAudioObjectID nObjectID, const char* const sName)
  15. {
  16. return (m_cATLObjectNames.insert(AZStd::make_pair(nObjectID, sName)).second);
  17. }
  18. ///////////////////////////////////////////////////////////////////////////////////////////////////
  19. bool CATLDebugNameStore::AddAudioTrigger(const TAudioControlID nTriggerID, const char* const sName)
  20. {
  21. return (m_cATLTriggerNames.insert(AZStd::make_pair(nTriggerID, sName)).second);
  22. }
  23. ///////////////////////////////////////////////////////////////////////////////////////////////////
  24. bool CATLDebugNameStore::AddAudioRtpc(const TAudioControlID nRtpcID, const char* const sName)
  25. {
  26. return (m_cATLRtpcNames.insert(AZStd::make_pair(nRtpcID, sName)).second);
  27. }
  28. ///////////////////////////////////////////////////////////////////////////////////////////////////
  29. bool CATLDebugNameStore::AddAudioSwitch(const TAudioControlID nSwitchID, const char* const sName)
  30. {
  31. return (m_cATLSwitchNames.insert(AZStd::make_pair(nSwitchID, AZStd::make_pair(sName, TAudioSwitchStateMap()))).second);
  32. }
  33. ///////////////////////////////////////////////////////////////////////////////////////////////////
  34. bool CATLDebugNameStore::AddAudioSwitchState(const TAudioControlID nSwitchID, const TAudioSwitchStateID nStateID, const char* const sName)
  35. {
  36. auto iter = m_cATLSwitchNames.find(nSwitchID);
  37. if (iter != m_cATLSwitchNames.end())
  38. {
  39. return (iter->second.second.insert(AZStd::make_pair(nStateID, sName)).second);
  40. }
  41. return false;
  42. }
  43. ///////////////////////////////////////////////////////////////////////////////////////////////////
  44. bool CATLDebugNameStore::AddAudioPreloadRequest(const TAudioPreloadRequestID nRequestID, const char* const sName)
  45. {
  46. return (m_cATLPreloadRequestNames.insert({ nRequestID, sName }).second);
  47. }
  48. ///////////////////////////////////////////////////////////////////////////////////////////////////
  49. bool CATLDebugNameStore::AddAudioEnvironment(const TAudioEnvironmentID nEnvironmentID, const char* const sName)
  50. {
  51. return (m_cATLEnvironmentNames.insert({ nEnvironmentID, sName }).second);
  52. }
  53. ///////////////////////////////////////////////////////////////////////////////////////////////////
  54. bool CATLDebugNameStore::RemoveAudioObject(const TAudioObjectID nObjectID)
  55. {
  56. return (m_cATLObjectNames.erase(nObjectID) > 0);
  57. }
  58. ///////////////////////////////////////////////////////////////////////////////////////////////////
  59. bool CATLDebugNameStore::RemoveAudioTrigger(const TAudioControlID nTriggerID)
  60. {
  61. return (m_cATLTriggerNames.erase(nTriggerID) > 0);
  62. }
  63. ///////////////////////////////////////////////////////////////////////////////////////////////////
  64. bool CATLDebugNameStore::RemoveAudioRtpc(const TAudioControlID nRtpcID)
  65. {
  66. return (m_cATLRtpcNames.erase(nRtpcID) > 0);
  67. }
  68. ///////////////////////////////////////////////////////////////////////////////////////////////////
  69. bool CATLDebugNameStore::RemoveAudioSwitch(const TAudioControlID nSwitchID)
  70. {
  71. return (m_cATLSwitchNames.erase(nSwitchID) > 0);
  72. }
  73. ///////////////////////////////////////////////////////////////////////////////////////////////////
  74. bool CATLDebugNameStore::RemoveAudioSwitchState(const TAudioControlID nSwitchID, const TAudioSwitchStateID nStateID)
  75. {
  76. TAudioSwitchMap::iterator iPlace = m_cATLSwitchNames.begin();
  77. if (FindPlace(m_cATLSwitchNames, nSwitchID, iPlace))
  78. {
  79. return (iPlace->second.second.erase(nStateID) > 0);
  80. }
  81. return false;
  82. }
  83. ///////////////////////////////////////////////////////////////////////////////////////////////////
  84. bool CATLDebugNameStore::RemoveAudioPreloadRequest(const TAudioPreloadRequestID nRequestID)
  85. {
  86. return (m_cATLPreloadRequestNames.erase(nRequestID) > 0);
  87. }
  88. ///////////////////////////////////////////////////////////////////////////////////////////////////
  89. bool CATLDebugNameStore::RemoveAudioEnvironment(const TAudioEnvironmentID nEnvironmentID)
  90. {
  91. return (m_cATLEnvironmentNames.erase(nEnvironmentID) > 0);
  92. }
  93. ///////////////////////////////////////////////////////////////////////////////////////////////////
  94. const char* CATLDebugNameStore::LookupAudioObjectName(const TAudioObjectID nObjectID) const
  95. {
  96. TAudioObjectMap::const_iterator iterObject(m_cATLObjectNames.begin());
  97. const char* sResult = nullptr;
  98. if (FindPlaceConst(m_cATLObjectNames, nObjectID, iterObject))
  99. {
  100. sResult = iterObject->second.c_str();
  101. }
  102. else if (nObjectID == GLOBAL_AUDIO_OBJECT_ID)
  103. {
  104. sResult = "GlobalAudioObject";
  105. }
  106. return sResult;
  107. }
  108. ///////////////////////////////////////////////////////////////////////////////////////////////////
  109. const char* CATLDebugNameStore::LookupAudioTriggerName(const TAudioControlID nTriggerID) const
  110. {
  111. TAudioControlMap::const_iterator iterTrigger(m_cATLTriggerNames.begin());
  112. const char* sResult = nullptr;
  113. if (FindPlaceConst(m_cATLTriggerNames, nTriggerID, iterTrigger))
  114. {
  115. sResult = iterTrigger->second.c_str();
  116. }
  117. return sResult;
  118. }
  119. ///////////////////////////////////////////////////////////////////////////////////////////////////
  120. const char* CATLDebugNameStore::LookupAudioRtpcName(const TAudioControlID nRtpcID) const
  121. {
  122. TAudioControlMap::const_iterator iterRtpc(m_cATLRtpcNames.begin());
  123. char const* sResult = nullptr;
  124. if (FindPlaceConst(m_cATLRtpcNames, nRtpcID, iterRtpc))
  125. {
  126. sResult = iterRtpc->second.c_str();
  127. }
  128. return sResult;
  129. }
  130. ///////////////////////////////////////////////////////////////////////////////////////////////////
  131. const char* CATLDebugNameStore::LookupAudioSwitchName(const TAudioControlID nSwitchID) const
  132. {
  133. TAudioSwitchMap::const_iterator iterSwitch(m_cATLSwitchNames.begin());
  134. const char* sResult = nullptr;
  135. if (FindPlaceConst(m_cATLSwitchNames, nSwitchID, iterSwitch))
  136. {
  137. sResult = iterSwitch->second.first.c_str();
  138. }
  139. return sResult;
  140. }
  141. ///////////////////////////////////////////////////////////////////////////////////////////////////
  142. const char* CATLDebugNameStore::LookupAudioSwitchStateName(const TAudioControlID nSwitchID, const TAudioSwitchStateID nStateID) const
  143. {
  144. TAudioSwitchMap::const_iterator iterSwitch(m_cATLSwitchNames.begin());
  145. const char* sResult = nullptr;
  146. if (FindPlaceConst(m_cATLSwitchNames, nSwitchID, iterSwitch))
  147. {
  148. const TAudioSwitchStateMap& cStates = iterSwitch->second.second;
  149. TAudioSwitchStateMap::const_iterator iterState = cStates.begin();
  150. if (FindPlaceConst(cStates, nStateID, iterState))
  151. {
  152. sResult = iterState->second.c_str();
  153. }
  154. }
  155. return sResult;
  156. }
  157. ///////////////////////////////////////////////////////////////////////////////////////////////////
  158. const char* CATLDebugNameStore::LookupAudioPreloadRequestName(const TAudioPreloadRequestID nRequestID) const
  159. {
  160. TAudioPreloadRequestsMap::const_iterator iterPreload(m_cATLPreloadRequestNames.begin());
  161. const char* sResult = nullptr;
  162. if (FindPlaceConst(m_cATLPreloadRequestNames, nRequestID, iterPreload))
  163. {
  164. sResult = iterPreload->second.c_str();
  165. }
  166. return sResult;
  167. }
  168. ///////////////////////////////////////////////////////////////////////////////////////////////////
  169. const char* CATLDebugNameStore::LookupAudioEnvironmentName(const TAudioEnvironmentID nEnvironmentID) const
  170. {
  171. TAudioEnvironmentMap::const_iterator iterEnvironment(m_cATLEnvironmentNames.begin());
  172. const char* sResult = nullptr;
  173. if (FindPlaceConst(m_cATLEnvironmentNames, nEnvironmentID, iterEnvironment))
  174. {
  175. sResult = iterEnvironment->second.c_str();
  176. }
  177. return sResult;
  178. }
  179. #endif // !AUDIO_RELEASE
  180. CATLAudioFileEntry::CATLAudioFileEntry(const char* const filePath, IATLAudioFileEntryData* const implData)
  181. : m_filePath(filePath)
  182. , m_fileSize(0)
  183. , m_useCount(0)
  184. , m_memoryBlockAlignment(AUDIO_MEMORY_ALIGNMENT)
  185. , m_flags(0)
  186. , m_dataScope(eADS_ALL)
  187. , m_memoryBlock(nullptr)
  188. , m_implData(implData)
  189. {
  190. }
  191. CATLAudioFileEntry::~CATLAudioFileEntry() = default;
  192. } // namespace Audio