Detect MIDI files

This commit is contained in:
Martchus 2018-08-29 22:32:11 +02:00
parent 270aee1d55
commit f99f22f270
2 changed files with 10 additions and 0 deletions

View File

@ -46,6 +46,7 @@ enum Sig32 : uint32 {
Ivf = 0x444B4946u, Ivf = 0x444B4946u,
JavaClassFile = 0xCAFEBABEu, JavaClassFile = 0xCAFEBABEu,
Ebml = 0x1A45DFA3u, Ebml = 0x1A45DFA3u,
Midi = 0x4D546864u,
MonkeysAudio = 0x4D414320u, MonkeysAudio = 0x4D414320u,
Mp4 = 0x66747970u, Mp4 = 0x66747970u,
Ogg = 0x4F676753u, Ogg = 0x4F676753u,
@ -166,6 +167,8 @@ ContainerFormat parseSignature(const char *buffer, int bufferSize)
return ContainerFormat::JavaClassFile; return ContainerFormat::JavaClassFile;
case Ebml: case Ebml:
return ContainerFormat::Ebml; return ContainerFormat::Ebml;
case Midi:
return ContainerFormat::Midi;
case MonkeysAudio: case MonkeysAudio:
return ContainerFormat::MonkeysAudio; return ContainerFormat::MonkeysAudio;
case Ogg: case Ogg:
@ -353,6 +356,8 @@ const char *containerFormatAbbreviation(ContainerFormat containerFormat, MediaTy
return "wv"; return "wv";
case ContainerFormat::MonkeysAudio: case ContainerFormat::MonkeysAudio:
return "ape"; return "ape";
case ContainerFormat::Midi:
return "mid";
default: default:
return ""; return "";
} }
@ -456,6 +461,8 @@ const char *containerFormatName(ContainerFormat containerFormat)
return "ZIP archive"; return "ZIP archive";
case ContainerFormat::MonkeysAudio: case ContainerFormat::MonkeysAudio:
return "Monkey's Audio"; return "Monkey's Audio";
case ContainerFormat::Midi:
return "MIDI";
default: default:
return "unknown"; return "unknown";
} }
@ -528,6 +535,8 @@ const char *containerMimeType(ContainerFormat containerFormat, MediaType mediaTy
default: default:
return "video/x-matroska"; return "video/x-matroska";
} }
case ContainerFormat::Midi:
return "audio/midi";
case ContainerFormat::Bzip2: case ContainerFormat::Bzip2:
return "application/x-bzip"; return "application/x-bzip";
case ContainerFormat::Gzip: case ContainerFormat::Gzip:

View File

@ -37,6 +37,7 @@ enum class ContainerFormat : unsigned int {
Lzip, /**< lz compressed file */ Lzip, /**< lz compressed file */
Lzw, /**< LZW */ Lzw, /**< LZW */
Matroska, /**< Matroska (subset of EBML) */ Matroska, /**< Matroska (subset of EBML) */
Midi, /**< Musical Instrument Digital Interface (MIDI) */
MonkeysAudio, /**< Monkey's Audio */ MonkeysAudio, /**< Monkey's Audio */
Mp4, /**< MPEG-4 Part 14 (subset of QuickTime container) */ Mp4, /**< MPEG-4 Part 14 (subset of QuickTime container) */
MpegAudioFrames, /**< MPEG-1 Layer 1/2/3 frames */ MpegAudioFrames, /**< MPEG-1 Layer 1/2/3 frames */