aboutsummaryrefslogtreecommitdiff
path: root/utils/midiplay
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-11-10 14:45:52 +0100
committerJP Cimalando <jpcima@users.noreply.github.com>2018-11-10 14:45:59 +0100
commitd7f75ffd97d691a176d67187f7ccf9f2a7d5c831 (patch)
tree6b1bbecbebe11b47ac1c9c8a43066ca22d14d060 /utils/midiplay
parenta83a1fc30bc7331880460f4ef75471d4ef1b99e6 (diff)
downloadlibADLMIDI-d7f75ffd97d691a176d67187f7ccf9f2a7d5c831.tar.gz
libADLMIDI-d7f75ffd97d691a176d67187f7ccf9f2a7d5c831.tar.bz2
libADLMIDI-d7f75ffd97d691a176d67187f7ccf9f2a7d5c831.zip
fix minute display on 1+ hour tracks
Diffstat (limited to 'utils/midiplay')
-rw-r--r--utils/midiplay/adlmidiplay.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/utils/midiplay/adlmidiplay.cpp b/utils/midiplay/adlmidiplay.cpp
index 39d80ff..74289a0 100644
--- a/utils/midiplay/adlmidiplay.cpp
+++ b/utils/midiplay/adlmidiplay.cpp
@@ -210,10 +210,10 @@ static inline void secondsToHMSM(double seconds_full, char *hmsm_buffer, size_t
{
double seconds_integral;
double seconds_fractional = std::modf(seconds_full, &seconds_integral);
- unsigned int milliseconds = static_cast<unsigned int>(std::floor(seconds_fractional * 1000.0));
+ unsigned int milliseconds = static_cast<unsigned int>(seconds_fractional * 1000.0);
unsigned int seconds = static_cast<unsigned int>(std::fmod(seconds_full, 60.0));
- unsigned int minutes = static_cast<unsigned int>(std::floor(seconds_full / 60));
- unsigned int hours = static_cast<unsigned int>(std::floor(seconds_full / 3600));
+ unsigned int minutes = static_cast<unsigned int>(std::fmod(seconds_full / 60, 60.0));
+ unsigned int hours = static_cast<unsigned int>(seconds_full / 3600);
std::memset(hmsm_buffer, 0, hmsm_buffer_size);
if (hours > 0)
snprintf(hmsm_buffer, hmsm_buffer_size, "%02u:%02u:%02u,%03u", hours, minutes, seconds, milliseconds);