m_modifiedTimer.setInterval(1500);
connect(&m_fileWatcher, SIGNAL(dirty(const QString &)), this, SLOT(slotClipModified(const QString &)));
connect(&m_fileWatcher, SIGNAL(deleted(const QString &)), this, SLOT(slotClipMissing(const QString &)));
- connect(&m_fileWatcher, SIGNAL(created(const QString &)), this, SLOT(slotClipAvailable(const QString &)));
+
+ // Seems like a dirty signal is emitted anyways when a watched file is created, so don't react twice.
+ //connect(&m_fileWatcher, SIGNAL(created(const QString &)), this, SLOT(slotClipAvailable(const QString &)));
connect(&m_modifiedTimer, SIGNAL(timeout()), this, SLOT(slotProcessModifiedClips()));
#if KDE_IS_VERSION(4,5,0)
{
if (m_thumbProd) m_thumbProd->clearProducer();
- if (numReferences() > 0) {
+ if (numReferences() > 0 && (!m_baseTrackProducers.isEmpty() || m_videoOnlyProducer || !m_audioTrackProducers.isEmpty())) {
// Clip is used in timeline, delay producers deletion
if (m_videoOnlyProducer) m_toDeleteProducers.append(m_videoOnlyProducer);
for (int i = 0; i < m_baseTrackProducers.count(); i++) {
return prod;
}
+
Mlt::Producer *DocClipBase::getProducer(int track)
{
QMutexLocker locker(&m_producerMutex);
item->referencedClip()->setPlaceHolder(true);
item->setProperty("file_hash", QString());
} else if (t == IMAGE) {
- clip->getProducer()->set("force_reload", 1);
+ //clip->getProducer() clip->getProducer()->set("force_reload", 1);
}
QDomElement e = item->toXml();