aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-08-04 19:15:41 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-08-04 19:15:41 +0000
commitc878d3ca598a611cc066b027a4d4a317eed7c081 (patch)
treec9a4e468ec0bf27abf1674fbbbe4b6bfc836d399 /src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
parentb9cc3f286ceae3972afd918b04474b162032c100 (diff)
downloadqmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.tar.gz
qmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.tar.bz2
qmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.zip
midi plugin: added some improvements (still disabled)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1817 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/wildmidi/decoderwildmidifactory.cpp')
-rw-r--r--src/plugins/Input/wildmidi/decoderwildmidifactory.cpp38
1 files changed, 25 insertions, 13 deletions
diff --git a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
index 13b3b2e06..d33f0cc7d 100644
--- a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
+++ b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
@@ -22,20 +22,19 @@
#include "wildmidihelper.h"
#include "decoder_wildmidi.h"
+#include "settingsdialog.h"
#include "decoderwildmidifactory.h"
-
// DecoderWildMidiFactory
bool DecoderWildMidiFactory::supports(const QString &source) const
{
-
return (source.right(4).toLower() == ".mid");
}
bool DecoderWildMidiFactory::canDecode(QIODevice *) const
{
- return FALSE;
+ return false;
}
const DecoderProperties DecoderWildMidiFactory::properties() const
@@ -45,9 +44,10 @@ const DecoderProperties DecoderWildMidiFactory::properties() const
properties.filter = "*.mid";
properties.description = tr("Midi Files");
//properties.contentType = ;
- properties.hasAbout = FALSE;
- properties.hasSettings = FALSE;
- properties.noInput = TRUE;
+ properties.shortName = "wildmidi";
+ properties.hasAbout = true;
+ properties.hasSettings = true;
+ properties.noInput = true;
properties.protocols = "file";
return properties;
}
@@ -60,17 +60,21 @@ Decoder *DecoderWildMidiFactory::create(const QString &path, QIODevice *input)
QList<FileInfo *> DecoderWildMidiFactory::createPlayList(const QString &fileName, bool useMetaData)
{
+ Q_UNUSED(useMetaData);
QList <FileInfo*> list;
FileInfo *info = new FileInfo(fileName);
- if(WildMidiHelper::instance()->initialize())
+ if(WildMidiHelper::instance()->initialize() && WildMidiHelper::instance()->sampleRate())
{
void *midi_ptr = WildMidi_Open (fileName.toLocal8Bit());
if(midi_ptr)
{
+ WildMidiHelper::instance()->addPtr(midi_ptr);
_WM_Info *wm_info = WildMidi_GetInfo(midi_ptr);
- info->setLength((qint64)wm_info->approx_total_samples / 48000);
+ info->setLength((qint64)wm_info->approx_total_samples
+ / WildMidiHelper::instance()->sampleRate());
WildMidi_Close(midi_ptr);
+ WildMidiHelper::instance()->removePtr(midi_ptr);
}
}
list << info;
@@ -79,16 +83,24 @@ QList<FileInfo *> DecoderWildMidiFactory::createPlayList(const QString &fileName
MetaDataModel* DecoderWildMidiFactory::createMetaDataModel(const QString &path, QObject *parent)
{
- /*DetailsDialog *d = new DetailsDialog(parent, path);
- d -> show();*/
+ Q_UNUSED(path);
+ Q_UNUSED(parent);
return 0;
}
-void DecoderWildMidiFactory::showSettings(QWidget *)
-{}
+void DecoderWildMidiFactory::showSettings(QWidget *parent)
+{
+ SettingsDialog *d = new SettingsDialog(parent);
+ d->show();
+}
void DecoderWildMidiFactory::showAbout(QWidget *parent)
-{}
+{
+ QMessageBox::about (parent, tr("About WildMidi Audio Plugin"),
+ tr("Qmmp WildMidi Audio Plugin")+"\n"+
+ tr("This plugin uses WildMidi library to play midi files")+"\n"+
+ tr("Writen by: Ilya Kotov <forkotov02@hotmail.ru>"));
+}
QTranslator *DecoderWildMidiFactory::createTranslator(QObject *parent)
{