From 8d146b246e3da5d26b9501ca509a43ef4112e27d Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 5 Aug 2018 08:21:43 +0000 Subject: fixed remaing plugins git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8229 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/wavpack/wavpackmetadatamodel.cpp | 41 ++++++++++------------ 1 file changed, 19 insertions(+), 22 deletions(-) (limited to 'src/plugins/Input/wavpack/wavpackmetadatamodel.cpp') 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 #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 WavPackMetaDataModel::audioProperties() +QList WavPackMetaDataModel::extraProperties() const { - QHash ap; + QList 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 WavPackMetaDataModel::tags() +QList WavPackMetaDataModel::tags() const { return m_tags; } -QString WavPackMetaDataModel::coverPath() +QString WavPackMetaDataModel::coverPath() const { return MetaDataManager::instance()->findCoverFile(m_path); } -- cgit v1.2.3-13-gbd6f