ProjectItem *item = getItemById(id);
if (item) {
slotUpdateClipProperties(item, properties);
- if (properties.contains("out") || properties.contains("force_fps") || properties.contains("resource") || properties.contains("video_index") || properties.contains("audio_index") || properties.contains("full_luma")) {
+ if (properties.contains("out") || properties.contains("force_fps") || properties.contains("resource") || properties.contains("video_index") || properties.contains("audio_index") || properties.contains("full_luma") || properties.contains("force_progressive") || properties.contains("force_tff") || properties.contains("force_colorspace")) {
slotReloadClip(id);
} else if (properties.contains("colour") ||
properties.contains("xmldata") ||
properties.contains("templatetext")) {
slotRefreshClipThumbnail(item);
emit refreshClip(id, true);
- } else if (properties.contains("force_colorspace") || properties.contains("loop")) {
+ } else if (properties.contains("loop")) {
emit refreshClip(id, false);
}
}
if (item->type() == PROJECTFOLDERTYPE) {
if (column == 0) {
FolderProjectItem *folder = static_cast <FolderProjectItem*>(item);
+ if (item->text(0) == folder->groupName()) return;
editFolder(item->text(0), folder->groupName(), folder->clipId());
folder->setGroupName(item->text(0));
m_doc->clipManager()->addFolder(folder->clipId(), item->text(0));
clip->setProperty("exiftool", "1");
if (!meta.isEmpty()) {
clip->setMetadata(meta);
+ //checkCamcorderFilters(clip, meta);
}
}
}
void ProjectList::slotReplyGetFileProperties(const QString &clipId, Mlt::Producer *producer, const stringMap &properties, const stringMap &metadata, bool replace)
{
+ QMutexLocker lock(&m_processMutex);
QString toReload;
ProjectItem *item = getItemById(clipId);
if (item && producer) {
m_listView->scrollToItem(sub);
m_listView->editItem(sub, 1);
}
- m_doc->clipManager()->requestThumbs(QString('#' + id), QList <int>() << in);
+ m_doc->clipManager()->slotRequestThumbs(QString('#' + id), QList <int>() << in);
monitorItemEditing(true);
}
emit projectModified();
}
+/*
+// Work in progress: apply filter based on clip's camcorder
+void ProjectList::checkCamcorderFilters(DocClipBase *clip, QMap <QString, QString> meta)
+{
+ KConfig conf("camcorderfilters.rc", KConfig::CascadeConfig, "appdata");
+ QStringList groups = conf.groupList();
+ foreach(QString grp, groups) {
+ if (!meta.contains(grp)) continue;
+ KConfigGroup group(&conf, grp);
+ QString value = group.readEntry(meta.value(grp));
+ if (value.isEmpty()) continue;
+ clip->setProperty(value.section(' ', 0, 0), value.section(' ', 1));
+ break;
+ }
+}*/
+
#include "projectlist.moc"