connect(m_listView, SIGNAL(projectModified()), this, SIGNAL(projectModified()));
connect(m_listView, SIGNAL(itemSelectionChanged()), this, SLOT(slotClipSelected()));
connect(m_listView, SIGNAL(focusMonitor()), this, SIGNAL(raiseClipMonitor()));
- connect(m_listView, SIGNAL(pauseMonitor()), this, SLOT(slotPauseMonitor()));
+ connect(m_listView, SIGNAL(pauseMonitor()), this, SIGNAL(pauseMonitor()));
connect(m_listView, SIGNAL(requestMenu(const QPoint &, QTreeWidgetItem *)), this, SLOT(slotContextMenu(const QPoint &, QTreeWidgetItem *)));
+ connect(m_listView, SIGNAL(addClip()), this, SIGNAL(pauseMonitor()));
connect(m_listView, SIGNAL(addClip()), this, SLOT(slotAddClip()));
connect(m_listView, SIGNAL(addClip(const QList <QUrl>, const QString &, const QString &)), this, SLOT(slotAddClip(const QList <QUrl>, const QString &, const QString &)));
connect(this, SIGNAL(addClip(const QString, const QString &, const QString &)), this, SLOT(slotAddClip(const QString, const QString &, const QString &)));
QStringList mimeTypes = QStringList() << "application/x-kdenlive" << "application/x-kdenlivetitle" << "video/mlt-playlist" << "text/plain";
// Video mimes
- mimeTypes << "video/x-flv" << "application/vnd.rn-realmedia" << "video/x-dv" << "video/dv" << "video/x-msvideo" << "video/x-matroska" << "video/mpeg" << "video/ogg" << "video/x-ms-wmv" << "video/mp4" << "video/quicktime" << "video/webm" << "video/3gpp";
+ mimeTypes << "video/x-flv" << "application/vnd.rn-realmedia" << "video/x-dv" << "video/dv" << "video/x-msvideo" << "video/x-matroska" << "video/mpeg" << "video/ogg" << "video/x-ms-wmv" << "video/mp4" << "video/quicktime" << "video/webm" << "video/3gpp" << "video/mp2t";
// Audio mimes
mimeTypes << "audio/x-flac" << "audio/x-matroska" << "audio/mp4" << "audio/mpeg" << "audio/x-mp3" << "audio/ogg" << "audio/x-wav" << "audio/x-aiff" << "audio/aiff" << "application/ogg" << "application/mxf" << "application/x-shockwave-flash" << "audio/ac3";
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;
Ui::CutJobDialog_UI ui;
ui.setupUi(d);
ui.extra_params->setVisible(false);
- ui.add_clip->setChecked(KdenliveSettings::add_clip_cut());
+ ui.add_clip->setChecked(KdenliveSettings::add_new_clip());
ui.file_url->fileDialog()->setOperationMode(KFileDialog::Saving);
ui.extra_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5);
ui.file_url->setUrl(KUrl(dest));
}
}
QString extraParams = ui.extra_params->toPlainText().simplified();
- KdenliveSettings::setAdd_clip_cut(ui.add_clip->isChecked());
+ KdenliveSettings::setAdd_new_clip(ui.add_clip->isChecked());
delete d;
QStringList jobParams;
- jobParams << dest << item->clipUrl().path() << timeIn << timeOut << QString::number(duration) << QString::number(KdenliveSettings::add_clip_cut());
+ jobParams << dest << item->clipUrl().path() << timeIn << timeOut << QString::number(duration) << QString::number(KdenliveSettings::add_new_clip());
if (!extraParams.isEmpty()) jobParams << extraParams;
CutClipJob *job = new CutClipJob(item->clipType(), id, jobParams);
if (job->isExclusive() && hasPendingJob(item, job->jobType)) {
ui.extra_params->setVisible(false);
d->adjustSize();
ui.button_more->setIcon(KIcon("configure"));
- ui.add_clip->setChecked(KdenliveSettings::add_clip_cut());
+ ui.add_clip->setChecked(KdenliveSettings::add_new_clip());
ui.extra_params->setPlainText(params.simplified().section(' ', 0, -2));
QString mess = desc;
mess.append(' ' + i18np("(%1 clip)", "(%1 clips)", ids.count()));
return;
}
params = ui.extra_params->toPlainText().simplified();
- KdenliveSettings::setAdd_clip_cut(ui.add_clip->isChecked());
+ KdenliveSettings::setAdd_new_clip(ui.add_clip->isChecked());
int index = 0;
foreach(const QString &id, ids) {
ProjectItem *item = getItemById(id);
int max = item->clipMaxDuration();
QString duration = QString::number(max);
jobParams << duration;
- jobParams << QString::number(KdenliveSettings::add_clip_cut());
+ jobParams << QString::number(KdenliveSettings::add_new_clip());
jobParams << params;
CutClipJob *job = new CutClipJob(item->clipType(), id, jobParams);
if (job->isExclusive() && hasPendingJob(item, job->jobType)) {
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";