if (!m_properties.contains("name")) m_properties.insert("name", url.fileName());
m_thumbProd = new KThumb(clipManager, url, m_id, m_properties.value("file_hash"));
- if (m_clipType & (AV | AUDIO | PLAYLIST)) getAudioThumbs();
}
DocClipBase::~DocClipBase()
}
+bool DocClipBase::hasAudioThumb() const
+{
+ if (m_clipType == AUDIO || m_clipType == AV || m_clipType == PLAYLIST) return true;
+ return false;
+}
+
void DocClipBase::slotClearAudioCache()
{
m_audioFrameCache.clear();
m_thumbProd->setProducer(producer);
}
else m_thumbProd->setProducer(producer);
+ getAudioThumbs();
}
bool updated = false;
if (id.contains('_')) {
return m_properties;
}
+ QMap <QString, QString> DocClipBase::currentProperties(QMap <QString, QString> props)
+ {
+ QMap <QString, QString> currentProps;
+ QMap<QString, QString>::const_iterator i = props.constBegin();
+ while (i != props.constEnd()) {
+ currentProps.insert(i.key(), m_properties.value(i.key()));
+ ++i;
+ }
+ return currentProps;
+ }
+
bool DocClipBase::getAudioThumbs()
{
if (m_thumbProd == NULL || isPlaceHolder() || !KdenliveSettings::audiothumbnails()) return false;
/** Returns the internal unique id of the clip. */
const QString &getId() const;
+ bool hasAudioThumb() const;
//KThumb *thumbCreator;
bool audioThumbCreated() const;
/*void getClipMainThumb();*/
uint getClipThumbFrame() const;
void setProperties(QMap <QString, QString> properties);
void setMetadata(QMap <QString, QString> properties);
+ /** Returns all current properties for this clip */
QMap <QString, QString> properties() const;
+ /** Return the current values for a set of properties */
+ QMap <QString, QString> currentProperties(QMap <QString, QString> props);
QMap <QString, QString> metadata() const;
void slotExtractImage(QList <int> frames);
properties.contains("templatetext")) {
slotRefreshClipThumbnail(item);
emit refreshClip(id, true);
- emit clipSelected(item->referencedClip(), item->referencedClip()->zone(), true);
} else if (properties.contains("full_luma") || properties.contains("force_colorspace") || properties.contains("loop")) {
emit refreshClip(id, false);
}
}
item->setProperties(properties, metadata);
clip->setProducer(producer, replace);
- clip->getAudioThumbs();
// Proxy stuff
QString size = properties.value("frame_size");
newProps.insert("replace", "1");
// insert required duration for proxy
newProps.insert("proxy_out", item->referencedClip()->producerProperty("out"));
- new EditClipCommand(this, item->clipId(), item->referencedClip()->properties(), newProps, true, command);
+ new EditClipCommand(this, item->clipId(), item->referencedClip()->currentProperties(newProps), newProps, true, command);
}
}
else if (t == IMAGE && item->referencedClip() != NULL) {
if (item->referencedClip()->getProperty("proxy") == proxyPath) {
QMap <QString, QString> props;
props.insert("proxy", QString());
- new EditClipCommand(this, item->clipId(), item->referencedClip()->properties(), props, true, proxyCommand);
+ new EditClipCommand(this, item->clipId(), item->referencedClip()->currentProperties(props), props, true, proxyCommand);
}
}