X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frecmonitor.cpp;h=d2e78941dbd737bf81e21c44971a476885f1b4c3;hb=38b7b398fd4def21b589115691a7bb4254c96b02;hp=474cf1146ff78b3ae8940916b488e0179f6c8946;hpb=fb460899af4f72c9d4c328d9a6a2253e4a35b173;p=kdenlive diff --git a/src/recmonitor.cpp b/src/recmonitor.cpp index 474cf114..d2e78941 100644 --- a/src/recmonitor.cpp +++ b/src/recmonitor.cpp @@ -137,8 +137,7 @@ RecMonitor::RecMonitor(Kdenlive::MONITORID name, MonitorManager *manager, QWidge connect(m_captureProcess, SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(slotProcessStatus(QProcess::ProcessState))); connect(m_captureProcess, SIGNAL(readyReadStandardError()), this, SLOT(slotReadDvgrabInfo())); - - + QString videoDriver = KdenliveSettings::videodrivername(); #if QT_VERSION >= 0x040600 QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); @@ -161,6 +160,7 @@ RecMonitor::RecMonitor(Kdenlive::MONITORID name, MonitorManager *manager, QWidge } m_displayProcess->setEnvironment(env); #endif + setenv("SDL_VIDEO_ALLOW_SCREENSAVER", "1", 1); kDebug() << "/////// BUILDING MONITOR, ID: " << videoSurface->winId(); @@ -267,7 +267,7 @@ void RecMonitor::slotVideoDeviceChanged(int ix) m_stopAction->setEnabled(false); m_playAction->setEnabled(true); capturefile = m_capturePath; - if (!capturefile.endsWith("/")) capturefile.append("/"); + if (!capturefile.endsWith('/')) capturefile.append('/'); capturename = KdenliveSettings::decklink_filename(); capturename.append("xxx."); capturename.append(KdenliveSettings::decklink_extension()); @@ -289,7 +289,7 @@ void RecMonitor::slotVideoDeviceChanged(int ix) } else { // Show capture info capturefile = m_capturePath; - if (!capturefile.endsWith("/")) capturefile.append("/"); + if (!capturefile.endsWith('/')) capturefile.append('/'); capturename = KdenliveSettings::dvgrabfilename(); if (capturename.isEmpty()) capturename = "capture"; QString extension; @@ -352,7 +352,7 @@ void RecMonitor::slotDisconnect() { if (m_captureProcess->state() == QProcess::NotRunning) { m_captureTime = KDateTime::currentLocalDateTime(); - kDebug() << "CURRENT TIME: " << m_captureTime.toString(); + kDebug() << "CURRENT TIME: " << m_captureTime.toString(); m_didCapture = false; slotStartPreview(false); m_discAction->setIcon(KIcon("network-disconnect")); @@ -427,6 +427,7 @@ void RecMonitor::slotStartPreview(bool play) { if (m_captureProcess->state() != QProcess::NotRunning) { if (device_selector->currentIndex() == FIREWIRE) { + videoBox->setHidden(false); if (m_isPlaying) { m_captureProcess->write("k", 1); //captureProcess->write("\e", 2); @@ -449,9 +450,9 @@ void RecMonitor::slotStartPreview(bool play) QString path; MltVideoProfile profile; QString producer; - QStringList dvargs = KdenliveSettings::dvgrabextra().simplified().split(" ", QString::SkipEmptyParts); + QStringList dvargs = KdenliveSettings::dvgrabextra().simplified().split(' ', QString::SkipEmptyParts); int ix = device_selector->currentIndex(); - videoBox->setHidden(ix != VIDEO4LINUX && ix != BLACKMAGIC); + videoBox->setHidden(ix != VIDEO4LINUX && ix != BLACKMAGIC && ix != FIREWIRE); switch (ix) { case FIREWIRE: switch (KdenliveSettings::firewireformat()) { @@ -485,7 +486,7 @@ void RecMonitor::slotStartPreview(bool play) if (capturename.isEmpty()) capturename = "capture"; m_captureArgs << capturename << "-"; - m_displayArgs << "-x" << QString::number(video_frame->width()) << "-y" << QString::number(video_frame->height()) << "-"; + m_displayArgs << "-x" << QString::number(video_frame->width()) << "-y" << QString::number(video_frame->height()) << "-noframedrop" << "-"; m_captureProcess->setStandardOutputProcess(m_displayProcess); m_captureProcess->setWorkingDirectory(m_capturePath); @@ -539,8 +540,8 @@ void RecMonitor::slotStartPreview(bool play) if (device_selector->currentIndex() == FIREWIRE) { kDebug() << "Capture: Running ffplay " << m_displayArgs.join(" "); - m_displayProcess->start("ffplay", m_displayArgs); - video_frame->setText(i18n("Initialising...")); + m_displayProcess->start(KdenliveSettings::ffplaypath(), m_displayArgs); + //video_frame->setText(i18n("Initialising...")); } else { // do something when starting screen grab } @@ -703,7 +704,7 @@ void RecMonitor::slotRecord() m_captureArgs << "--channels" << QString::number(KdenliveSettings::rmd_audio_channels()); if (KdenliveSettings::rmd_use_jack()) { m_captureArgs << "--use-jack"; - QStringList ports = KdenliveSettings::rmd_jackports().split(" ", QString::SkipEmptyParts); + QStringList ports = KdenliveSettings::rmd_jackports().split(' ', QString::SkipEmptyParts); for (int i = 0; i < ports.count(); ++i) { m_captureArgs << ports.at(i); } @@ -733,7 +734,7 @@ void RecMonitor::slotRecord() if (device_selector->currentIndex() == FIREWIRE) { m_isCapturing = true; kDebug() << "Capture: Running ffplay " << m_displayArgs.join(" "); - m_displayProcess->start("ffplay", m_displayArgs); + m_displayProcess->start(KdenliveSettings::ffplaypath(), m_displayArgs); video_frame->setText(i18n("Initialising...")); } } else { @@ -789,7 +790,7 @@ void RecMonitor::slotStartGrab(const QRect &rect) { alsaProcess->start("arecord", alsaArgs); } kDebug() << "Capture: Running ffmpeg " << m_captureArgs.join(" "); - captureProcess->start("ffmpeg", m_captureArgs); + captureProcess->start(KdenliveSettings::ffmpegpath(), m_captureArgs); }*/ void RecMonitor::slotProcessStatus(QProcess::ProcessState status) @@ -857,7 +858,7 @@ void RecMonitor::manageCapturedFiles() QStringList filters; QString capturename = KdenliveSettings::dvgrabfilename(); if (capturename.isEmpty()) capturename = "capture"; - filters << capturename + "*" + extension; + filters << capturename + '*' + extension; const QStringList result = dir.entryList(filters, QDir::Files, QDir::Time); KUrl::List capturedFiles; foreach(const QString & name, result) { @@ -883,7 +884,7 @@ void RecMonitor::manageCapturedFiles() kDebug() << capturedFiles; if (capturedFiles.count() > 0) { - ManageCapturesDialog *d = new ManageCapturesDialog(capturedFiles, this); + QPointer d = new ManageCapturesDialog(capturedFiles, this); if (d->exec() == QDialog::Accepted) { emit addProjectClipList(d->importFiles()); }