|
|
|
@@ -18,83 +18,17 @@ |
|
|
|
|
|
|
|
#include "b2Timer.h"
|
|
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
|
|
|
|
|
float64 b2Timer::s_invFrequency = 0.0f;
|
|
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
|
|
|
b2Timer::b2Timer()
|
|
|
|
{
|
|
|
|
LARGE_INTEGER largeInteger;
|
|
|
|
|
|
|
|
if (s_invFrequency == 0.0f)
|
|
|
|
{
|
|
|
|
QueryPerformanceFrequency(&largeInteger);
|
|
|
|
s_invFrequency = float64(largeInteger.QuadPart);
|
|
|
|
if (s_invFrequency > 0.0f)
|
|
|
|
{
|
|
|
|
s_invFrequency = 1000.0f / s_invFrequency;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
QueryPerformanceCounter(&largeInteger);
|
|
|
|
m_start = float64(largeInteger.QuadPart);
|
|
|
|
}
|
|
|
|
|
|
|
|
void b2Timer::Reset()
|
|
|
|
{
|
|
|
|
LARGE_INTEGER largeInteger;
|
|
|
|
QueryPerformanceCounter(&largeInteger);
|
|
|
|
m_start = float64(largeInteger.QuadPart);
|
|
|
|
}
|
|
|
|
|
|
|
|
float32 b2Timer::GetMilliseconds() const
|
|
|
|
{
|
|
|
|
LARGE_INTEGER largeInteger;
|
|
|
|
QueryPerformanceCounter(&largeInteger);
|
|
|
|
float64 count = float64(largeInteger.QuadPart);
|
|
|
|
float32 ms = float32(s_invFrequency * (count - m_start));
|
|
|
|
return ms;
|
|
|
|
}
|
|
|
|
|
|
|
|
#elif defined(__linux__) || defined (__APPLE__)
|
|
|
|
|
|
|
|
#include <sys/time.h>
|
|
|
|
|
|
|
|
b2Timer::b2Timer()
|
|
|
|
b2Timer::b2Timer()
|
|
|
|
{
|
|
|
|
Reset();
|
|
|
|
}
|
|
|
|
|
|
|
|
void b2Timer::Reset()
|
|
|
|
{
|
|
|
|
timeval t;
|
|
|
|
gettimeofday(&t, 0);
|
|
|
|
m_start_sec = t.tv_sec;
|
|
|
|
m_start_msec = t.tv_usec * 0.001f;
|
|
|
|
juceStartTime = juce::Time::getCurrentTime();
|
|
|
|
}
|
|
|
|
|
|
|
|
float32 b2Timer::GetMilliseconds() const
|
|
|
|
{
|
|
|
|
timeval t;
|
|
|
|
gettimeofday(&t, 0);
|
|
|
|
return (t.tv_sec - m_start_sec) * 1000 + t.tv_usec * 0.001f - m_start_msec;
|
|
|
|
}
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
b2Timer::b2Timer()
|
|
|
|
{
|
|
|
|
return static_cast<float32> ((juce::Time::getCurrentTime() - juceStartTime).inMilliseconds());
|
|
|
|
}
|
|
|
|
|
|
|
|
void b2Timer::Reset()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
float32 b2Timer::GetMilliseconds() const
|
|
|
|
{
|
|
|
|
return 0.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|