diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-08-05 08:21:43 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-08-05 08:21:43 +0000 |
| commit | 8d146b246e3da5d26b9501ca509a43ef4112e27d (patch) | |
| tree | c2f6afa22262a836e2178786fdd43b6b269c21c0 /src/plugins/Input/wavpack/wavpackmetadatamodel.cpp | |
| parent | b662d3c4f6c525f401d08ec710f4a76b0c30b0b7 (diff) | |
| download | qmmp-8d146b246e3da5d26b9501ca509a43ef4112e27d.tar.gz qmmp-8d146b246e3da5d26b9501ca509a43ef4112e27d.tar.bz2 qmmp-8d146b246e3da5d26b9501ca509a43ef4112e27d.zip | |
fixed remaing plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8229 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/wavpack/wavpackmetadatamodel.cpp')
| -rw-r--r-- | src/plugins/Input/wavpack/wavpackmetadatamodel.cpp | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp index 756d7e859..8d9e9ac22 100644 --- a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp +++ b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2016 by Ilya Kotov * + * Copyright (C) 2009-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -22,7 +22,8 @@ #include <qmmp/metadatamanager.h> #include "wavpackmetadatamodel.h" -WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, bool readOnly, QObject *parent) + : MetaDataModel(readOnly, parent) { if(path.contains("://")) { @@ -34,13 +35,16 @@ WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, QObject *parent) else m_path = path; - char err[80]; + char err[80] = {0}; + int flags = OPEN_WVC | OPEN_TAGS; + if(!readOnly) + flags |= OPEN_EDIT_TAGS; #if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) m_ctx = WavpackOpenFileInput (m_path.toUtf8().constData(), - err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); + err, flags | OPEN_FILE_UTF8, 0); #else m_ctx = WavpackOpenFileInput (m_path.toLocal8Bit().constData(), err, - OPEN_WVC | OPEN_EDIT_TAGS, 0); + flags, 0); #endif if (!m_ctx) { @@ -59,31 +63,24 @@ WavPackMetaDataModel::~WavPackMetaDataModel() WavpackCloseFile (m_ctx); } -QHash<QString, QString> WavPackMetaDataModel::audioProperties() +QList<MetaDataItem> WavPackMetaDataModel::extraProperties() const { - QHash<QString, QString> ap; + QList<MetaDataItem> ep; + if(!m_ctx) - return ap; - int length = (int) WavpackGetNumSamples(m_ctx)/WavpackGetSampleRate(m_ctx); - QString text = QString("%1").arg(length/60); - text +=":"+QString("%1").arg(length % 60, 2, 10, QChar('0')); - ap.insert(tr("Length"), text); - ap.insert(tr("Sample rate"), QString("%1 " + tr("Hz")).arg((int) WavpackGetSampleRate(m_ctx))); - ap.insert(tr("Channels"), QString("%1").arg((int) WavpackGetNumChannels(m_ctx))); - ap.insert(tr("Bitrate"), QString("%1 " + tr("kbps")) - .arg((int) WavpackGetAverageBitrate(m_ctx, WavpackGetNumChannels(m_ctx))/1000)); - ap.insert(tr("File size"), QString("%1 "+tr("KB")).arg(WavpackGetFileSize(m_ctx)/1024)); - ap.insert(tr("Ratio"), QString("%1").arg(WavpackGetRatio(m_ctx))); - ap.insert(tr("Version"), QString("%1").arg(WavpackGetVersion(m_ctx))); - return ap; + return ep; + + ep << MetaDataItem(tr("Ratio"), WavpackGetRatio(m_ctx)); + ep << MetaDataItem(tr("Version"), WavpackGetVersion(m_ctx)); + return ep; } -QList<TagModel* > WavPackMetaDataModel::tags() +QList<TagModel* > WavPackMetaDataModel::tags() const { return m_tags; } -QString WavPackMetaDataModel::coverPath() +QString WavPackMetaDataModel::coverPath() const { return MetaDataManager::instance()->findCoverFile(m_path); } |
