aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-07 06:21:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-07 06:21:53 +0000
commitc8488b0a00f62504667eb9d3a6f4074e1f424980 (patch)
tree3a1aca5b8e504da85b27f2886cdff2a751c3a2f6 /src/plugins
parentf082aa3101d3d8f000bca54a61a04c9c2927f85f (diff)
downloadqmmp-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.cpp9
-rw-r--r--src/plugins/Input/wildmidi/decoderwildmidifactory.cpp12
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)