slotGotProxy(path);
return;
}
-
- ProxyJob *job = new ProxyJob(item->clipType(), id, QStringList() << path << item->clipUrl().path() << item->referencedClip()->producerProperty("_exif_orientation") << m_doc->getDocumentProperty("proxyparams").simplified() << QString::number(m_render->frameRenderWidth()) << QString::number(m_render->renderHeight()));
+ QString sourcePath = item->clipUrl().path();
+ if (item->clipType() == PLAYLIST) {
+ // Special case: playlists use the special 'consumer' producer to support resizing
+ sourcePath.prepend("consumer:");
+ }
+ ProxyJob *job = new ProxyJob(item->clipType(), id, QStringList() << path << sourcePath << item->referencedClip()->producerProperty("_exif_orientation") << m_doc->getDocumentProperty("proxyparams").simplified() << QString::number(m_render->frameRenderWidth()) << QString::number(m_render->renderHeight()));
if (job->isExclusive() && hasPendingJob(item, job->jobType)) {
delete job;
return;
foreach(const QString&id, ids) {
ProjectItem *item = getItemById(id);
if (!item) continue;
+ QStringList jobArgs;
+ jobArgs << preParams;
if (ids.count() == 1) {
- consumer += ':' + destination;
+ jobArgs << consumer + ':' + destination;
}
else {
- consumer += ':' + destination + item->clipUrl().fileName() + ".mlt";
+ jobArgs << consumer + ':' + destination + item->clipUrl().fileName() + ".mlt";
}
- preParams << consumer << jobParams;
+ jobArgs << jobParams;
- MeltJob *job = new MeltJob(item->clipType(), id, preParams);
+ MeltJob *job = new MeltJob(item->clipType(), id, jobArgs);
if (autoAdd) {
job->setAddClipToProject(true);
kDebug()<<"// ADDING TRUE";