From 1710dfd2c5e684287bd5274fb32d7fb6ecb5df2c Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 17 Sep 2016 19:23:29 +0000 Subject: archive plugin: optimization git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6732 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/archive/archivemetadatamodel.cpp | 11 ++++++++--- src/plugins/Input/archive/archivemetadatamodel.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/Input/archive/archivemetadatamodel.cpp b/src/plugins/Input/archive/archivemetadatamodel.cpp index 02ee77770..e460ba344 100644 --- a/src/plugins/Input/archive/archivemetadatamodel.cpp +++ b/src/plugins/Input/archive/archivemetadatamodel.cpp @@ -27,9 +27,7 @@ ArchiveMetaDataModel::ArchiveMetaDataModel(const QString &url, QObject *parent) { m_reader = 0; m_input = 0; - m_input = new ArchiveInputDevice(url); - if(m_input->isOpen()) - m_reader = new ArchiveTagReader(m_input, url); + m_url = url; } ArchiveMetaDataModel::~ArchiveMetaDataModel() @@ -42,6 +40,13 @@ ArchiveMetaDataModel::~ArchiveMetaDataModel() QHash ArchiveMetaDataModel::audioProperties() { + if(!m_input) + { + m_input = new ArchiveInputDevice(m_url); + if(m_input->isOpen()) + m_reader = new ArchiveTagReader(m_input, m_url); + } + QHash ap; if(m_reader && m_reader->audioProperties()) { diff --git a/src/plugins/Input/archive/archivemetadatamodel.h b/src/plugins/Input/archive/archivemetadatamodel.h index 309c3b671..771106844 100644 --- a/src/plugins/Input/archive/archivemetadatamodel.h +++ b/src/plugins/Input/archive/archivemetadatamodel.h @@ -39,6 +39,7 @@ public: private: ArchiveInputDevice *m_input; ArchiveTagReader *m_reader; + QString m_url; }; -- cgit v1.2.3-13-gbd6f