diff --git a/modules/juce_audio_devices/native/juce_win32_Midi.cpp b/modules/juce_audio_devices/native/juce_win32_Midi.cpp index ca5a43cec6..bec10c4939 100644 --- a/modules/juce_audio_devices/native/juce_win32_Midi.cpp +++ b/modules/juce_audio_devices/native/juce_win32_Midi.cpp @@ -83,7 +83,7 @@ public: for (int i = 0; i < (int) numHeaders; ++i) headers[i].write (deviceHandle); - startTime = Time::getMillisecondCounter(); + startTime = Time::getMillisecondCounterHiRes(); MMRESULT res = midiInStart (deviceHandle); if (res == MMSYSERR_NOERROR) @@ -134,7 +134,7 @@ private: MidiInputCallback& callback; MidiDataConcatenator concatenator; bool volatile isStarted; - uint32 startTime; + double startTime; class MidiHeader { @@ -201,11 +201,11 @@ private: { timeStamp += startTime; - const uint32 now = Time::getMillisecondCounter(); + const double now = Time::getMillisecondCounterHiRes(); if (timeStamp > now) { - if (timeStamp > now + 2) - --startTime; + if (timeStamp > now + 2.0) + startTime -= 1.0; timeStamp = now; }