diff options
Diffstat (limited to 'src/plugins/Input/wildmidi/decoderwildmidifactory.cpp')
| -rw-r--r-- | src/plugins/Input/wildmidi/decoderwildmidifactory.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp index 02a060ea9..3ea14b670 100644 --- a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp +++ b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp @@ -19,7 +19,6 @@ ***************************************************************************/ #include <QtGui> - #include "wildmidihelper.h" #include "decoder_wildmidi.h" #include "settingsdialog.h" @@ -27,14 +26,20 @@ // DecoderWildMidiFactory +DecoderWildMidiFactory::DecoderWildMidiFactory() +{ + new WildMidiHelper(qApp); +} + bool DecoderWildMidiFactory::supports(const QString &source) const { - return (source.right(4).toLower() == ".mid"); + return source.endsWith(".mid", Qt::CaseInsensitive); } -bool DecoderWildMidiFactory::canDecode(QIODevice *) const +bool DecoderWildMidiFactory::canDecode(QIODevice *input) const { - return false; + char buf[4]; + return (input->peek(buf, 4) == 4 && !memcmp(buf, "MThd", 4)); } const DecoderProperties DecoderWildMidiFactory::properties() const @@ -49,7 +54,6 @@ const DecoderProperties DecoderWildMidiFactory::properties() const properties.hasSettings = true; properties.noInput = true; properties.protocols << "file"; - WildMidiHelper::instance()->initialize(); return properties; } |
