#include "kdenlivedoc.h"
#include <KDebug>
-#include <KLocale>
+#include <KLocalizedString>
-CutClipJob::CutClipJob(CLIPTYPE cType, const QString &id, QStringList parameters) : AbstractClipJob(CUTJOB, cType, id, parameters)
+CutClipJob::CutClipJob(ClipType cType, const QString &id, const QStringList ¶meters) : AbstractClipJob(CUTJOB, cType, id, parameters)
{
- jobStatus = JOBWAITING;
+ m_jobStatus = JobWaiting;
m_dest = parameters.at(0);
m_src = parameters.at(1);
m_start = parameters.at(2);
description = i18n("Cut clip");
}
m_jobDuration = parameters.at(4).toInt();
- addClipToProject = parameters.at(5).toInt();
+ m_addClipToProject = parameters.at(5).toInt();
replaceClip = false;
if (parameters.count() == 7) m_cutExtraParams = parameters.at(6).simplified();
}
void CutClipJob::startJob()
{
// Special case: playlist clips (.mlt or .kdenlive project files)
- if (clipType == AV || clipType == AUDIO || clipType == VIDEO) {
+ if (clipType == AV || clipType == Audio || clipType == Video) {
QStringList parameters;
parameters << "-i" << m_src;
if (!m_start.isEmpty())
parameters << m_dest;
m_jobProcess = new QProcess;
m_jobProcess->setProcessChannelMode(QProcess::MergedChannels);
- // kDebug()<<"// STARTING CUT JOB: "<<parameters;
- m_jobProcess->start("ffmpeg", parameters);
+ m_jobProcess->start(KdenliveSettings::ffmpegpath(), parameters);
m_jobProcess->waitForStarted();
while (m_jobProcess->state() != QProcess::NotRunning) {
processLogInfo();
- if (jobStatus == JOBABORTED) {
+ if (m_jobStatus == JobAborted) {
m_jobProcess->close();
m_jobProcess->waitForFinished();
QFile::remove(m_dest);
m_jobProcess->waitForFinished(400);
}
- if (jobStatus != JOBABORTED) {
+ if (m_jobStatus != JobAborted) {
int result = m_jobProcess->exitStatus();
if (result == QProcess::NormalExit) {
if (QFileInfo(m_dest).size() == 0) {
// File was not created
processLogInfo();
m_errorMessage.append(i18n("Failed to create file."));
- setStatus(JOBCRASHED);
+ setStatus(JobCrashed);
} else {
- setStatus(JOBDONE);
+ setStatus(JobDone);
}
} else if (result == QProcess::CrashExit) {
// Proxy process crashed
QFile::remove(m_dest);
- setStatus(JOBCRASHED);
+ setStatus(JobCrashed);
}
}
delete m_jobProcess;
} else {
m_errorMessage = i18n("Cannot process this clip type.");
}
- setStatus(JOBCRASHED);
+ setStatus(JobCrashed);
return;
}
void CutClipJob::processLogInfo()
{
- if (!m_jobProcess || m_jobDuration == 0 || jobStatus == JOBABORTED) return;
+ if (!m_jobProcess || m_jobDuration == 0 || m_jobStatus == JobAborted) return;
QString log = m_jobProcess->readAll();
- if (!log.isEmpty()) m_errorMessage.append(log + '\n');
+ if (!log.isEmpty()) m_logDetails.append(log + '\n');
int progress;
// Parse FFmpeg output
if (log.contains("frame=")) {
const QString CutClipJob::statusMessage()
{
QString statusInfo;
- switch (jobStatus) {
- case JOBWORKING:
+ switch (m_jobStatus) {
+ case JobWorking:
if (m_start.isEmpty()) statusInfo = i18n("Transcoding clip");
else statusInfo = i18n("Extracting clip cut");
break;
- case JOBWAITING:
+ case JobWaiting:
if (m_start.isEmpty()) statusInfo = i18n("Waiting - transcode clip");
else statusInfo = i18n("Waiting - cut clip");
break;
return false;
}
+
+#include "cutclipjob.moc"