aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-05-30 20:59:19 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-05-30 20:59:19 +0000
commit7071ac694b8325f0ddd9ed6318c513171f40dbd5 (patch)
tree999bcb5ce59b1672c8957554fe5e24ea943d22e5 /src/plugins
parentfd3ae434ba13221b49d0ddbeba6f4d63f1a27c62 (diff)
downloadqmmp-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/plugins')
-rw-r--r--src/plugins/Engines/Engines.pro2
-rw-r--r--src/plugins/Engines/mplayer/mplayerengine.cpp22
-rw-r--r--src/plugins/Engines/mplayer/mplayerengine.h6
-rw-r--r--src/plugins/Engines/mplayer/mplayerenginefactory.cpp10
-rw-r--r--src/plugins/Engines/mplayer/mplayerenginefactory.h12
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);