diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-06-07 06:21:53 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-06-07 06:21:53 +0000 |
| commit | c8488b0a00f62504667eb9d3a6f4074e1f424980 (patch) | |
| tree | 3a1aca5b8e504da85b27f2886cdff2a751c3a2f6 /src/plugins | |
| parent | f082aa3101d3d8f000bca54a61a04c9c2927f85f (diff) | |
| download | qmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.tar.gz qmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.tar.bz2 qmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.zip | |
optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8006 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 9 | ||||
| -rw-r--r-- | src/plugins/Input/wildmidi/decoderwildmidifactory.cpp | 12 |
2 files changed, 10 insertions, 11 deletions
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<TrackInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, { TrackInfo *info = new TrackInfo(fileName); + if(parts == TrackInfo::NoParts) + return QList<TrackInfo*>() << 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<TrackInfo *> 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<TrackInfo *> DecoderWildMidiFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { - Q_UNUSED(parts); - QList<TrackInfo*> 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<TrackInfo *>() << info; } MetaDataModel* DecoderWildMidiFactory::createMetaDataModel(const QString &path, QObject *parent) |
