aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-10-25 04:58:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-10-25 04:58:01 +0000
commitd2f101da03aa58c354f42d217685019474329b44 (patch)
tree0b471c5c905a5ab97b942260a5b33ef9c921117d /src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
parent78015dd4f074f53bd08bedd877b0f0737539ccc9 (diff)
downloadqmmp-d2f101da03aa58c354f42d217685019474329b44.tar.gz
qmmp-d2f101da03aa58c354f42d217685019474329b44.tar.bz2
qmmp-d2f101da03aa58c354f42d217685019474329b44.zip
wildmidi: added delayed initialization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3824 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/wildmidi/decoderwildmidifactory.cpp')
-rw-r--r--src/plugins/Input/wildmidi/decoderwildmidifactory.cpp14
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;
}