aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-08-04 21:28:03 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-08-04 21:28:03 +0000
commitc40c1ba38df9efce07a9f8372e6d357ff3c5d9b6 (patch)
treef26a179cd319f4ac19c3c65de069d17c9e1c2646 /src/plugins/Input/vorbis/vorbismetadatamodel.cpp
parent0ab8a1f1aa6b2064d5d97becbb7b2ad40cfe4501 (diff)
downloadqmmp-c40c1ba38df9efce07a9f8372e6d357ff3c5d9b6.tar.gz
qmmp-c40c1ba38df9efce07a9f8372e6d357ff3c5d9b6.tar.bz2
qmmp-c40c1ba38df9efce07a9f8372e6d357ff3c5d9b6.zip
changed MetaDataModel API, disabled broken plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8223 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/vorbis/vorbismetadatamodel.cpp')
-rw-r--r--src/plugins/Input/vorbis/vorbismetadatamodel.cpp35
1 files changed, 9 insertions, 26 deletions
diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
index b00ad9bd7..67b7d0fb5 100644
--- a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
+++ b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
@@ -26,10 +26,12 @@
#include <taglib/tmap.h>
#include "vorbismetadatamodel.h"
-VorbisMetaDataModel::VorbisMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent)
+VorbisMetaDataModel::VorbisMetaDataModel(const QString &path, bool readOnly, QObject *parent)
+ : MetaDataModel(readOnly, parent)
{
m_path = path;
- m_file = new TagLib::Ogg::Vorbis::File(QStringToFileName(path));
+ m_stream = new TagLib::FileStream(QStringToFileName(path), readOnly);
+ m_file = new TagLib::Ogg::Vorbis::File(m_stream);
m_tag = m_file->tag();
m_tags << new VorbisCommentModel(this);
}
@@ -39,35 +41,16 @@ VorbisMetaDataModel::~VorbisMetaDataModel()
while(!m_tags.isEmpty())
delete m_tags.takeFirst();
- if(m_file)
- {
- delete m_file;
- m_file = 0;
- }
-}
-
-QHash<QString, QString> VorbisMetaDataModel::audioProperties()
-{
- QHash<QString, QString> ap;
- if(m_file->audioProperties())
- {
- QString text = QString("%1").arg(m_file->audioProperties()->length()/60);
- text +=":"+QString("%1").arg(m_file->audioProperties()->length()%60,2,10,QChar('0'));
- ap.insert(tr("Length"), text);
- ap.insert(tr("Sample rate"), QString("%1 " + tr("Hz")).arg(m_file->audioProperties()->sampleRate()));
- ap.insert(tr("Channels"), QString("%1").arg(m_file->audioProperties()->channels()));
- ap.insert(tr("Bitrate"), QString("%1 " + tr("kbps")).arg(m_file->audioProperties()->bitrate()));
- ap.insert(tr("File size"), QString("%1 "+tr("KB")).arg(m_file->length()/1024));
- }
- return ap;
+ delete m_file;
+ delete m_stream;
}
-QList<TagModel* > VorbisMetaDataModel::tags()
+QList<TagModel* > VorbisMetaDataModel::tags() const
{
return m_tags;
}
-QPixmap VorbisMetaDataModel::cover()
+QPixmap VorbisMetaDataModel::cover() const
{
if(!m_tag || m_tag->isEmpty())
return QPixmap();
@@ -103,7 +86,7 @@ QPixmap VorbisMetaDataModel::cover()
return QPixmap();
}
-ulong VorbisMetaDataModel::readPictureBlockField(QByteArray data, int offset)
+ulong VorbisMetaDataModel::readPictureBlockField(QByteArray data, int offset) const
{
return (((uchar)data.data()[offset] & 0xff) << 24) |
(((uchar)data.data()[offset+1] & 0xff) << 16) |