aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/sid/decoder_sid.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-04-28 06:18:14 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-04-28 06:18:14 +0000
commita8ca945c11589553f6550d26c40d7d82f8f38421 (patch)
tree041ac64869173ef30d187d0a23feebde37ccde3a /src/plugins/Input/sid/decoder_sid.cpp
parent9eded5482f3ede2d0fa26437c395bd1c2cf3f1a8 (diff)
downloadqmmp-a8ca945c11589553f6550d26c40d7d82f8f38421.tar.gz
qmmp-a8ca945c11589553f6550d26c40d7d82f8f38421.tar.bz2
qmmp-a8ca945c11589553f6550d26c40d7d82f8f38421.zip
sid plugin: added song length database support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3421 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/sid/decoder_sid.cpp')
-rw-r--r--src/plugins/Input/sid/decoder_sid.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/Input/sid/decoder_sid.cpp b/src/plugins/Input/sid/decoder_sid.cpp
index 320fba03d..89e05feac 100644
--- a/src/plugins/Input/sid/decoder_sid.cpp
+++ b/src/plugins/Input/sid/decoder_sid.cpp
@@ -26,6 +26,7 @@
#include <sidplayfp/builders/residfp.h>
#include <sidplayfp/SidInfo.h>
#include <sidplayfp/SidTuneInfo.h>
+#include <sidplayfp/SidDatabase.h>
#include "decoder_sid.h"
// Decoder class
@@ -106,6 +107,21 @@ bool DecoderSID::initialize()
configure(44100, 2);
qDebug("DecoderSID: initialize succes");
+
+
+ char md5[SidTune::MD5_LENGTH];
+ tune->createMD5(md5);
+
+ SidDatabase database;
+
+ database.open("/home/user/.qmmp/Songlengths.txt");
+
+
+
+ qDebug("length = %d", database.length(md5, track));
+ m_length = database.length(md5, track);
+
+
return true;
}
@@ -126,5 +142,7 @@ int DecoderSID::bitrate()
qint64 DecoderSID::read(char *data, qint64 size)
{
+ if(m_player->time() > m_length)
+ return 0;
return m_player->play((short *)data, size/2) * 2;
}