aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2012-09-05 22:57:10 -0400
committerMatthew Hoops2012-09-05 22:57:10 -0400
commitbbf0bbcd646873bf89516ec13fc8c671531e3c00 (patch)
tree23769c81d10bf5a60d446d0418d772882c51cdfd
parent1f11ce6df2491e51c713278b6bfc6464a9aef965 (diff)
downloadscummvm-rg350-bbf0bbcd646873bf89516ec13fc8c671531e3c00.tar.gz
scummvm-rg350-bbf0bbcd646873bf89516ec13fc8c671531e3c00.tar.bz2
scummvm-rg350-bbf0bbcd646873bf89516ec13fc8c671531e3c00.zip
COMMON: Allow for parsing QuickTime MIDI files
-rw-r--r--common/quicktime.cpp4
-rw-r--r--common/quicktime.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/common/quicktime.cpp b/common/quicktime.cpp
index 173d3c6a97..5ac9bee40f 100644
--- a/common/quicktime.cpp
+++ b/common/quicktime.cpp
@@ -165,6 +165,8 @@ void QuickTimeParser::initParseTable() {
{ &QuickTimeParser::readWAVE, MKTAG('w', 'a', 'v', 'e') },
{ &QuickTimeParser::readESDS, MKTAG('e', 's', 'd', 's') },
{ &QuickTimeParser::readSMI, MKTAG('S', 'M', 'I', ' ') },
+ { &QuickTimeParser::readDefault, MKTAG('g', 'm', 'h', 'd') },
+ { &QuickTimeParser::readLeaf, MKTAG('g', 'm', 'i', 'n') },
{ 0, 0 }
};
@@ -477,6 +479,8 @@ int QuickTimeParser::readHDLR(Atom atom) {
track->codecType = CODEC_TYPE_VIDEO;
else if (type == MKTAG('s', 'o', 'u', 'n'))
track->codecType = CODEC_TYPE_AUDIO;
+ else if (type == MKTAG('m', 'u', 's', 'i'))
+ track->codecType = CODEC_TYPE_MIDI;
_fd->readUint32BE(); // component manufacture
_fd->readUint32BE(); // component flags
diff --git a/common/quicktime.h b/common/quicktime.h
index 08ca35ad51..5a02fc8afb 100644
--- a/common/quicktime.h
+++ b/common/quicktime.h
@@ -120,7 +120,8 @@ protected:
enum CodecType {
CODEC_TYPE_MOV_OTHER,
CODEC_TYPE_VIDEO,
- CODEC_TYPE_AUDIO
+ CODEC_TYPE_AUDIO,
+ CODEC_TYPE_MIDI
};
struct Track {