+++ /dev/null
-#include "stdafx.h"\r
-/*\r
-* Copyright (c) 2007-2010 SlimDX Group\r
-* \r
-* Permission is hereby granted, free of charge, to any person obtaining a copy\r
-* of this software and associated documentation files (the "Software"), to deal\r
-* in the Software without restriction, including without limitation the rights\r
-* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
-* copies of the Software, and to permit persons to whom the Software is\r
-* furnished to do so, subject to the following conditions:\r
-* \r
-* The above copyright notice and this permission notice shall be included in\r
-* all copies or substantial portions of the Software.\r
-* \r
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-* THE SOFTWARE.\r
-*/\r
-\r
-#include <xaudio2.h>\r
-\r
-#include "PerformanceData.h"\r
-\r
-namespace SlimDX\r
-{\r
-namespace XAudio2\r
-{\r
- PerformanceData::PerformanceData( const XAUDIO2_PERFORMANCE_DATA &data )\r
- {\r
- AudioCyclesSinceLastQuery = static_cast<long>( data.AudioCyclesSinceLastQuery );\r
- TotalCyclesSinceLastQuery = static_cast<long>( data.TotalCyclesSinceLastQuery );\r
- MinimumCyclesPerQuantum = data.MinimumCyclesPerQuantum;\r
- MaximumCyclesPerQuantum = data.MaximumCyclesPerQuantum;\r
- MemoryUsageInBytes = data.MemoryUsageInBytes;\r
- CurrentLatencyInSamples = data.CurrentLatencyInSamples;\r
- GlitchesSinceEngineStarted = data.GlitchesSinceEngineStarted;\r
- ActiveSourceVoiceCount = data.ActiveSourceVoiceCount;\r
- TotalSourceVoiceCount = data.TotalSourceVoiceCount;\r
- ActiveSubmixVoiceCount = data.ActiveSubmixVoiceCount;\r
-\r
-#if SLIMDX_XAUDIO2_VERSION < 23\r
- TotalSubmixVoiceCount = data.TotalSubmixVoiceCount;\r
-#else\r
- ActiveResamplerCount = data.ActiveResamplerCount;\r
- ActiveMatrixMixCount = data.ActiveMatrixMixCount;\r
-#endif\r
-\r
- ActiveXmaSourceVoices = data.ActiveXmaSourceVoices;\r
- ActiveXmaStreams = data.ActiveXmaStreams;\r
- }\r
-\r
- PerformanceData^ PerformanceData::Clone()\r
- {\r
- PerformanceData^ result = gcnew PerformanceData();\r
-\r
- result->AudioCyclesSinceLastQuery = AudioCyclesSinceLastQuery;\r
- result->TotalCyclesSinceLastQuery = TotalCyclesSinceLastQuery;\r
- result->MinimumCyclesPerQuantum = MinimumCyclesPerQuantum;\r
- result->MaximumCyclesPerQuantum = MaximumCyclesPerQuantum;\r
- result->MemoryUsageInBytes = MemoryUsageInBytes;\r
- result->CurrentLatencyInSamples = CurrentLatencyInSamples;\r
- result->GlitchesSinceEngineStarted = GlitchesSinceEngineStarted;\r
- result->ActiveSourceVoiceCount = ActiveSourceVoiceCount;\r
- result->TotalSourceVoiceCount = TotalSourceVoiceCount;\r
- result->ActiveSubmixVoiceCount = ActiveSubmixVoiceCount;\r
-\r
-#if SLIMDX_XAUDIO2_VERSION < 23\r
- result->TotalSubmixVoiceCount = TotalSubmixVoiceCount;\r
-#else\r
- result->ActiveResamplerCount = ActiveResamplerCount;\r
- result->ActiveMatrixMixCount = ActiveMatrixMixCount;\r
-#endif\r
-\r
- result->ActiveXmaSourceVoices = ActiveXmaSourceVoices;\r
- result->ActiveXmaStreams = ActiveXmaStreams;\r
-\r
- return result;\r
- }\r
-\r
- bool PerformanceData::operator == ( PerformanceData^ left, PerformanceData^ right )\r
- {\r
- if( ReferenceEquals( left, nullptr ) )\r
- return ReferenceEquals( right, nullptr );\r
-\r
- return PerformanceData::Equals( left, right );\r
- }\r
-\r
- bool PerformanceData::operator != ( PerformanceData^ left, PerformanceData^ right )\r
- {\r
- return !( left == right );\r
- }\r
-\r
- int PerformanceData::GetHashCode()\r
- { \r
- return AudioCyclesSinceLastQuery.GetHashCode() + TotalCyclesSinceLastQuery.GetHashCode() + MinimumCyclesPerQuantum.GetHashCode() +\r
- MaximumCyclesPerQuantum.GetHashCode() + MemoryUsageInBytes.GetHashCode() + CurrentLatencyInSamples.GetHashCode() +\r
- GlitchesSinceEngineStarted.GetHashCode() + ActiveSubmixVoiceCount.GetHashCode() + \r
-#if SLIMDX_XAUDIO2_VERSION < 23\r
- TotalSubmixVoiceCount.GetHashCode() +\r
-#else\r
- ActiveResamplerCount.GetHashCode() + ActiveMatrixMixCount.GetHashCode() +\r
-#endif\r
- ActiveSourceVoiceCount.GetHashCode() + TotalSourceVoiceCount.GetHashCode() + ActiveXmaSourceVoices.GetHashCode() + ActiveXmaStreams.GetHashCode();\r
- }\r
-\r
- bool PerformanceData::Equals( Object^ value )\r
- {\r
- if( value == nullptr )\r
- return false;\r
-\r
- if( value->GetType() != GetType() )\r
- return false;\r
-\r
- return Equals( safe_cast<PerformanceData^>( value ) );\r
- }\r
-\r
- bool PerformanceData::Equals( PerformanceData^ value )\r
- {\r
- if( value == nullptr )\r
- return false;\r
-\r
- if( ReferenceEquals( this, value ) )\r
- return true;\r
-\r
- return ( value->AudioCyclesSinceLastQuery == AudioCyclesSinceLastQuery && value->TotalCyclesSinceLastQuery == TotalCyclesSinceLastQuery && value->MinimumCyclesPerQuantum == MinimumCyclesPerQuantum &&\r
- value->MaximumCyclesPerQuantum == MaximumCyclesPerQuantum && value->MemoryUsageInBytes == MemoryUsageInBytes && value->CurrentLatencyInSamples == CurrentLatencyInSamples &&\r
- value->GlitchesSinceEngineStarted == GlitchesSinceEngineStarted && value->ActiveSubmixVoiceCount == ActiveSubmixVoiceCount &&\r
-#if SLIMDX_XAUDIO2_VERSION < 23\r
- value->TotalSubmixVoiceCount == TotalSubmixVoiceCount &&\r
-#else\r
- value->ActiveResamplerCount == ActiveResamplerCount && value->ActiveMatrixMixCount == ActiveMatrixMixCount &&\r
-#endif\r
- value->ActiveSourceVoiceCount == ActiveSourceVoiceCount && value->TotalSourceVoiceCount == TotalSourceVoiceCount && value->ActiveXmaSourceVoices == ActiveXmaSourceVoices &&\r
- value->ActiveXmaStreams == ActiveXmaStreams);\r
- }\r
-\r
- bool PerformanceData::Equals( PerformanceData^ value1, PerformanceData^ value2 )\r
- {\r
- return value1->Equals( value2 );\r
- }\r
-}\r
-}
\ No newline at end of file