//virtual
bool MainWindow::queryClose() {
saveOptions();
+ if (m_monitorManager) m_monitorManager->stopActiveMonitor();
if (m_activeDocument && m_activeDocument->isModified()) {
switch (KMessageBox::warningYesNoCancel(this, i18n("Save changes to document ?"))) {
case KMessageBox::Yes :
}
}
+void Monitor::pause() {
+ if (render == NULL) return;
+ if (!m_isActive) m_monitorManager->activateMonitor(m_name);
+ render->pause();
+ //m_playAction->setChecked(true);
+ //m_playAction->setIcon(m_pauseIcon);
+}
+
void Monitor::slotPlay() {
if (render == NULL) return;
if (!m_isActive) m_monitorManager->activateMonitor(m_name);
QString name() const;
void resetSize();
bool isActive() const;
+ void pause();
protected:
virtual void mousePressEvent(QMouseEvent * event);
}
}
+void MonitorManager::stopActiveMonitor() {
+ if (m_clipMonitor->isActive()) m_clipMonitor->pause();
+ else m_projectMonitor->pause();
+}
+
void MonitorManager::slotPlay() {
if (m_clipMonitor->isActive()) m_clipMonitor->slotPlay();
else m_projectMonitor->slotPlay();
Timecode timecode();
void switchMonitors();
void resetProfiles(Timecode tc);
+ void stopActiveMonitor();
public slots:
void activateMonitor(QString name = QString::null);
m_mltConsumer->purge();
}
+void Render::pause() {
+ if (!m_mltProducer || !m_mltConsumer)
+ return;
+ if (m_isZoneMode) resetZoneMode();
+ m_isBlocked = true;
+ m_mltConsumer->set("refresh", 0);
+ m_mltProducer->set_speed(0.0);
+ emit rendererPosition(m_framePosition);
+ m_mltProducer->seek(m_framePosition);
+ m_mltConsumer->purge();
+}
+
void Render::switchPlay() {
if (!m_mltProducer || !m_mltConsumer)
return;
backwards. Does not specify start/stop times for playback.*/
void play(double speed);
void switchPlay();
+ void pause();
/** stop playing */
void stop(const GenTime & startTime);
void setVolume(double volume);