From 96b1a721867aeb82b013d5b363a0283d3a5b3d9b Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Wed, 2 Nov 2016 18:03:25 -0400 Subject: [PATCH] Bug fix in MidiFileIn.cpp for timing with time-code formats. --- src/MidiFileIn.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/MidiFileIn.cpp b/src/MidiFileIn.cpp index 6c94b29..0fb5d21 100644 --- a/src/MidiFileIn.cpp +++ b/src/MidiFileIn.cpp @@ -79,7 +79,8 @@ MidiFileIn :: MidiFileIn( std::string fileName ) usingTimeCode_ = false; if ( *data & 0x8000 ) { // Determine ticks per second from time-code formats. - tickrate = (double) -(*data & 0x7F00); + signed char tmp = -(*data & 0xFF00)>>8; + tickrate = (double) tmp; // If frames per second value is 29, it really should be 29.97. if ( tickrate == 29.0 ) tickrate = 29.97; tickrate *= (*data & 0x00FF);