From c8488b0a00f62504667eb9d3a6f4074e1f424980 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 7 Jun 2018 06:21:53 +0000 Subject: optimization git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8006 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/vorbis/decodervorbisfactory.cpp | 9 +++++---- src/plugins/Input/wildmidi/decoderwildmidifactory.cpp | 12 +++++------- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 0ea5264eb..359347d1e 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -67,12 +67,12 @@ QList DecoderVorbisFactory::createPlayList(const QString &fileName, { TrackInfo *info = new TrackInfo(fileName); + if(parts == TrackInfo::NoParts) + return QList() << info; + TagLib::FileStream stream(QStringToFileName(fileName), true); TagLib::Ogg::Vorbis::File fileRef(&stream); - if(fileRef.audioProperties()) - info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); - if((parts & TrackInfo::MetaData) && fileRef.tag() && !fileRef.tag()->isEmpty()) { TagLib::Ogg::XiphComment *tag = fileRef.tag(); @@ -90,8 +90,9 @@ QList DecoderVorbisFactory::createPlayList(const QString &fileName, info->setValue(Qmmp::BITRATE, fileRef.audioProperties()->bitrate()); info->setValue(Qmmp::SAMPLERATE, fileRef.audioProperties()->sampleRate()); info->setValue(Qmmp::CHANNELS, fileRef.audioProperties()->channels()); - info->setValue(Qmmp::BITS_PER_SAMPLE, 16); + info->setValue(Qmmp::BITS_PER_SAMPLE, 32); //float info->setValue(Qmmp::FORMAT_NAME, "Ogg Vorbis"); + info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); } if((parts & TrackInfo::ReplayGainInfo) && fileRef.tag() && !fileRef.tag()->isEmpty()) diff --git a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp index 1bbbbf8ca..0a12aa75f 100644 --- a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp +++ b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp @@ -70,25 +70,23 @@ Decoder *DecoderWildMidiFactory::create(const QString &path, QIODevice *input) QList DecoderWildMidiFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { - Q_UNUSED(parts); - QList list; TrackInfo *info = new TrackInfo(path); + WildMidiHelper *helper = WildMidiHelper::instance(); - if(WildMidiHelper::instance()->initialize() && WildMidiHelper::instance()->sampleRate()) + if((parts & TrackInfo::Properties) && helper->initialize() && helper->sampleRate()) { void *midi_ptr = WildMidi_Open (path.toLocal8Bit().constData()); if(midi_ptr) { WildMidiHelper::instance()->addPtr(midi_ptr); _WM_Info *wm_info = WildMidi_GetInfo(midi_ptr); - info->setDuration((qint64)wm_info->approx_total_samples * 1000 - / WildMidiHelper::instance()->sampleRate()); + info->setValue(Qmmp::SAMPLERATE, helper->sampleRate()); + info->setDuration((qint64)wm_info->approx_total_samples * 1000 / helper->sampleRate()); WildMidi_Close(midi_ptr); WildMidiHelper::instance()->removePtr(midi_ptr); } } - list << info; - return list; + return QList() << info; } MetaDataModel* DecoderWildMidiFactory::createMetaDataModel(const QString &path, QObject *parent) -- cgit v1.2.3-13-gbd6f