diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-08-04 19:15:41 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-08-04 19:15:41 +0000 |
| commit | c878d3ca598a611cc066b027a4d4a317eed7c081 (patch) | |
| tree | c9a4e468ec0bf27abf1674fbbbe4b6bfc836d399 /src/plugins/Input/wildmidi/decoderwildmidifactory.cpp | |
| parent | b9cc3f286ceae3972afd918b04474b162032c100 (diff) | |
| download | qmmp-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.cpp | 38 |
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) { |
