diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-05-30 20:59:19 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-05-30 20:59:19 +0000 |
| commit | 7071ac694b8325f0ddd9ed6318c513171f40dbd5 (patch) | |
| tree | 999bcb5ce59b1672c8957554fe5e24ea943d22e5 /src | |
| parent | fd3ae434ba13221b49d0ddbeba6f4d63f1a27c62 (diff) | |
| download | qmmp-7071ac694b8325f0ddd9ed6318c513171f40dbd5.tar.gz qmmp-7071ac694b8325f0ddd9ed6318c513171f40dbd5.tar.bz2 qmmp-7071ac694b8325f0ddd9ed6318c513171f40dbd5.zip | |
fixed mplayer plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7984 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Engines/Engines.pro | 2 | ||||
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerengine.cpp | 22 | ||||
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerengine.h | 6 | ||||
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerenginefactory.cpp | 10 | ||||
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerenginefactory.h | 12 |
5 files changed, 22 insertions, 30 deletions
diff --git a/src/plugins/Engines/Engines.pro b/src/plugins/Engines/Engines.pro index abd780457..1dddcfd5d 100644 --- a/src/plugins/Engines/Engines.pro +++ b/src/plugins/Engines/Engines.pro @@ -1,4 +1,4 @@ include(../../../qmmp.pri) -#SUBDIRS += mplayer +SUBDIRS += mplayer TEMPLATE = subdirs diff --git a/src/plugins/Engines/mplayer/mplayerengine.cpp b/src/plugins/Engines/mplayer/mplayerengine.cpp index 4de93fb96..b6e9f53de 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.cpp +++ b/src/plugins/Engines/mplayer/mplayerengine.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2015 by Ilya Kotov * + * Copyright (C) 2008-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -26,7 +26,7 @@ #include <QMenu> #include <QRegExp> #include <QSettings> -#include <qmmp/fileinfo.h> +#include <qmmp/trackinfo.h> #include <qmmp/inputsource.h> #include "mplayerengine.h" @@ -39,7 +39,7 @@ static QRegExp rx_quit("^(.*)Quit(.*)"); static QRegExp rx_audio("^AUDIO: *([0-9,.]+) *Hz.*([0-9,.]+) *ch.*([0-9]+).* ([0-9,.]+) *kbit.*"); -FileInfo *MplayerInfo::createFileInfo(const QString &path) +TrackInfo *MplayerInfo::createTrackInfo(const QString &path) { QRegExp rx_id_length("^ID_LENGTH=([0-9,.]+)*"); QStringList args; @@ -57,12 +57,12 @@ FileInfo *MplayerInfo::createFileInfo(const QString &path) mplayer_process.waitForFinished(1500); mplayer_process.kill(); QString str = QString::fromLocal8Bit(mplayer_process.readAll()).trimmed(); - FileInfo *info = new FileInfo(path); + TrackInfo *info = new TrackInfo(path); QStringList lines = str.split("\n"); foreach(QString line, lines) { if (rx_id_length.indexIn(line) > -1) - info->setLength((qint64) rx_id_length.cap(1).toDouble()); + info->setDuration((qint64) rx_id_length.cap(1).toDouble() * 1000); } #ifdef MPLAYER_DEBUG qDebug("%s",qPrintable(str)); @@ -118,7 +118,7 @@ bool MplayerEngine::enqueue(InputSource *source) foreach(QString filter, filters) { QRegExp regexp(filter, Qt::CaseInsensitive, QRegExp::Wildcard); - supports = regexp.exactMatch(source->url()); + supports = regexp.exactMatch(source->path()); if(supports) break; } @@ -134,8 +134,8 @@ bool MplayerEngine::enqueue(InputSource *source) bool MplayerEngine::initialize() { - FileInfo *info = MplayerInfo::createFileInfo(m_source->url()); - m_length = info->length(); + TrackInfo *info = MplayerInfo::createTrackInfo(m_source->path()); + m_length = info->duration(); delete info; m_args.clear(); m_args << "-slave"; @@ -154,7 +154,7 @@ bool MplayerEngine::initialize() if(m_source->offset() > 0) m_args << "-ss" << QString("%1").arg(m_source->offset()/1000); - m_args << m_source->url(); + m_args << m_source->path(); return true; } @@ -268,8 +268,8 @@ void MplayerEngine::startMplayerProcess() m_process->start ("mplayer", m_args); StateHandler::instance()->dispatch(Qmmp::Playing); StateHandler::instance()->dispatch(m_length * 1000); - FileInfo *info = MplayerInfo::createFileInfo(m_source->url()); - StateHandler::instance()->dispatch(info->metaData()); + TrackInfo *info = MplayerInfo::createTrackInfo(m_source->path()); + StateHandler::instance()->dispatch(*info); delete info; m_source->deleteLater(); m_source = 0; diff --git a/src/plugins/Engines/mplayer/mplayerengine.h b/src/plugins/Engines/mplayer/mplayerengine.h index 5470a597d..c7c16cad9 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.h +++ b/src/plugins/Engines/mplayer/mplayerengine.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2017 by Ilya Kotov * + * Copyright (C) 2008-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,13 +31,13 @@ class Output; class QIDevice; class QMenu; class QProcess; -class FileInfo; +class TrackInfo; class InputSource; class MplayerInfo { public: - static FileInfo *createFileInfo(const QString &path); + static TrackInfo *createTrackInfo(const QString &path); static QStringList filters(); }; diff --git a/src/plugins/Engines/mplayer/mplayerenginefactory.cpp b/src/plugins/Engines/mplayer/mplayerenginefactory.cpp index 3e90dba9c..c145aabe1 100644 --- a/src/plugins/Engines/mplayer/mplayerenginefactory.cpp +++ b/src/plugins/Engines/mplayer/mplayerenginefactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2015 by Ilya Kotov * + * Copyright (C) 2008-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -59,11 +59,11 @@ AbstractEngine *MplayerEngineFactory::create(QObject *parent) return new MplayerEngine(parent); } -QList<FileInfo *> MplayerEngineFactory::createPlayList(const QString &fileName, bool useMetaData, QStringList *) +QList<TrackInfo *> MplayerEngineFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { - Q_UNUSED(useMetaData); - QList<FileInfo *> info; - info << MplayerInfo::createFileInfo(fileName); + Q_UNUSED(parts); + QList<TrackInfo *> info; + info << MplayerInfo::createTrackInfo(path); return info; } diff --git a/src/plugins/Engines/mplayer/mplayerenginefactory.h b/src/plugins/Engines/mplayer/mplayerenginefactory.h index 30857e63a..c87fdf28e 100644 --- a/src/plugins/Engines/mplayer/mplayerenginefactory.h +++ b/src/plugins/Engines/mplayer/mplayerenginefactory.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2015 by Ilya Kotov * + * Copyright (C) 2006-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -20,15 +20,7 @@ #ifndef MPLAYERENGINEFACTORY_H #define MPLAYERENGINEFACTORY_H -#include <QObject> -#include <QString> -#include <QIODevice> -#include <QWidget> - -#include <qmmp/abstractengine.h> #include <qmmp/enginefactory.h> -#include <qmmp/fileinfo.h> -#include <qmmp/metadatamodel.h> class MplayerEngineFactory : public QObject, EngineFactory { @@ -40,7 +32,7 @@ public: const EngineProperties properties() const; bool supports(const QString &source) const; AbstractEngine *create(QObject *parent = 0); - QList<FileInfo *> createPlayList(const QString &fileName, bool useMetaData, QStringList *); + QList<TrackInfo *> createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *); MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); |
