#include <qxml.h>
#include <QImage>
#include <QApplication>
-#include <QCryptographicHash>
#include <kio/netaccess.h>
#include <kdebug.h>
}
void MyThread::run() {
-
if (!f.open(QIODevice::WriteOnly)) {
kDebug() << "++++++++ ERROR WRITING TO FILE: " << f.fileName() << endl;
kDebug() << "++++++++ DISABLING AUDIO THUMBS" << endl;
}
-KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, QObject * parent, const char *name): QObject(parent), m_clipManager(clipManager), m_url(url), m_id(id), m_producer(NULL), m_dar(1), m_mainFrame(-1) {
- QCryptographicHash context(QCryptographicHash::Sha1);
- context.addData((KFileItem(m_url, "text/plain", S_IFREG).timeString() + m_url.fileName()).toAscii().data());
- m_thumbFile = KGlobal::dirs()->saveLocation("tmp" , "kdenlive") + context.result().toHex() + ".thumb";
- //kDebug() << "thumbfile=" << m_thumbFile;
+KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QString &hash, QObject * parent, const char *name): QObject(parent), m_clipManager(clipManager), m_url(url), m_id(id), m_producer(NULL), m_dar(1), m_mainFrame(-1) {
+ m_thumbFile = clipManager->projectFolder() + "/thumbs/" + hash + ".thumb";
connect(&audioThumbProducer, SIGNAL(audioThumbProgress(const int)), this, SLOT(slotAudioThumbProgress(const int)));
connect(&audioThumbProducer, SIGNAL(audioThumbOver()), this, SLOT(slotAudioThumbOver()));
}
KThumb::~KThumb() {
- if (audioThumbProducer.isRunning()) audioThumbProducer.exit();
+ if (audioThumbProducer.isRunning()) {
+ slotAudioThumbOver();
+ audioThumbProducer.stop_me = true;
+ audioThumbProducer.wait(300);
+ }
}
void KThumb::setProducer(Mlt::Producer *producer) {
return m_producer != NULL;
}
-void KThumb::updateClipUrl(KUrl url) {
+void KThumb::updateThumbUrl(const QString &hash) {
+ m_thumbFile = m_clipManager->projectFolder() + "/thumbs/" + hash + ".thumb";
+}
+
+void KThumb::updateClipUrl(KUrl url, const QString &hash) {
m_url = url;
if (m_producer) {
char *tmp = Render::decodedString(url.path());
m_producer->set("resource", tmp);
delete[] tmp;
}
+ m_thumbFile = m_clipManager->projectFolder() + "/thumbs/" + hash + ".thumb";
}
//static