diff options
Diffstat (limited to 'src/engine/SMFReader.cpp')
-rw-r--r-- | src/engine/SMFReader.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/engine/SMFReader.cpp b/src/engine/SMFReader.cpp index 5df636d..d71dca4 100644 --- a/src/engine/SMFReader.cpp +++ b/src/engine/SMFReader.cpp @@ -14,13 +14,12 @@ along with Raul. If not, see <http://www.gnu.org/licenses/>. */ +#include <arpa/inet.h> #include <cassert> #include <cstdio> #include <cstring> #include <string> -#include <glib.h> - #include "lv2/lv2plug.in/ns/ext/midi/midi.h" #include "SMFReader.hpp" @@ -118,17 +117,17 @@ SMFReader::open(const std::string& filename) fseek(_fd, 8, SEEK_SET); uint16_t type_be = 0; fread(&type_be, 2, 1, _fd); - _type = GUINT16_FROM_BE(type_be); + _type = ntohs(type_be); // Read number of tracks (bytes 10..11) uint16_t num_tracks_be = 0; fread(&num_tracks_be, 2, 1, _fd); - _num_tracks = GUINT16_FROM_BE(num_tracks_be); + _num_tracks = ntohs(num_tracks_be); // Read PPQN (bytes 12..13) uint16_t ppqn_be = 0; fread(&ppqn_be, 2, 1, _fd); - _ppqn = GUINT16_FROM_BE(ppqn_be); + _ppqn = ntohs(ppqn_be); // TODO: Absolute (SMPTE seconds) time support if ((_ppqn & 0x8000) != 0) { @@ -175,7 +174,7 @@ SMFReader::seek_to_track(unsigned track) throw (std::logic_error) uint32_t chunk_size_be; fread(&chunk_size_be, 4, 1, _fd); - chunk_size = GUINT32_FROM_BE(chunk_size_be); + chunk_size = ntohl(chunk_size_be); if (track_pos == track) { break; |