#include <QGridLayout>
-DvdWizard::DvdWizard(const QString &url, QWidget *parent) :
+DvdWizard::DvdWizard(MonitorManager *manager, const QString &url, QWidget *parent) :
QWizard(parent),
m_dvdauthor(NULL),
m_mkiso(NULL),
if (!url.isEmpty()) m_pageVob->setUrl(url);
- m_pageChapters = new DvdWizardChapters(m_pageVob->dvdFormat(), this);
+ m_pageChapters = new DvdWizardChapters(manager, m_pageVob->dvdFormat(), this);
m_pageChapters->setTitle(i18n("DVD Chapters"));
addPage(m_pageChapters);
{
Q_OBJECT
public:
- explicit DvdWizard(const QString &url = QString(), QWidget * parent = 0);
+ explicit DvdWizard(MonitorManager *manager, const QString &url = QString(), QWidget * parent = 0);
virtual ~DvdWizard();
void processSpumux();
#include <QFile>
-DvdWizardChapters::DvdWizardChapters(DVDFORMAT format, QWidget *parent) :
+DvdWizardChapters::DvdWizardChapters(MonitorManager *manager, DVDFORMAT format, QWidget *parent) :
QWizardPage(parent),
m_format(format),
- m_monitor(NULL)
+ m_monitor(NULL),
+ m_manager(manager)
{
m_view.setupUi(this);
if (m_format == PAL || m_format == PAL_WIDE) m_tc.setFormat(25);
else m_tc.setFormat(30000.0 / 1001);
+ show();
+ setVobFiles(format, QStringList(), QStringList(), QStringList());
- m_manager = new MonitorManager(this);
- m_manager->resetProfiles(m_tc);
//m_view.monitor_frame->setVisible(false);
}
m_monitor->stop();
delete m_monitor;
}
- delete m_manager;
}
// virtual
} else {
m_tc.setFormat(30000.0 / 1001);
}
- m_manager->resetProfiles(m_tc);
if (m_monitor == NULL) {
m_monitor = new Monitor(Kdenlive::dvdMonitor, m_manager, profile, this);
//m_monitor->start();
- QVBoxLayout *vbox = new QVBoxLayout;
+ /*QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(m_monitor);
- m_view.monitor_frame->setLayout(vbox);
- /*updateGeometry();
- m_view.monitor_frame->adjustSize();*/
+ m_view.monitor_frame->setLayout(vbox);*/
+ QVBoxLayout *lay = static_cast<QVBoxLayout *> (layout());
+ m_monitor->setSizePolicy(QSizePolicy ( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
+ lay->insertWidget(0, m_monitor, 10);
} else m_monitor->resetProfile(profile);
+ m_manager->activateMonitor(Kdenlive::dvdMonitor);
m_view.vob_list->blockSignals(true);
m_view.vob_list->clear();
Q_OBJECT
public:
- explicit DvdWizardChapters(DVDFORMAT format, QWidget * parent = 0);
+ explicit DvdWizardChapters(MonitorManager *manager, DVDFORMAT format, QWidget * parent = 0);
virtual ~DvdWizardChapters();
virtual bool isComplete() const;
void changeProfile(DVDFORMAT format);
private:
Ui::DvdWizardChapters_UI m_view;
DVDFORMAT m_format;
- MonitorManager *m_manager;
Monitor *m_monitor;
+ MonitorManager *m_manager;
Timecode m_tc;
void MainWindow::slotDvdWizard(const QString &url)
{
// We must stop the monitors since we create a new on in the dvd wizard
- m_clipMonitor->stop();
- m_projectMonitor->stop();
- QPointer<DvdWizard> w = new DvdWizard(url, this);
+ m_monitorManager->activateMonitor(Kdenlive::dvdMonitor);
+ QPointer<DvdWizard> w = new DvdWizard(m_monitorManager, url, this);
w->exec();
- m_projectMonitor->start();
delete w;
}
{
if (render == NULL) return;
slotActivateMonitor();
- QDomDocument doc;
- QDomElement mlt = doc.createElement("mlt");
- doc.appendChild(mlt);
- QDomElement prod = doc.createElement("producer");
- mlt.appendChild(prod);
- prod.setAttribute("mlt_service", "avformat");
- prod.setAttribute("resource", file);
- render->setSceneList(doc, 0);
+ render->loadUrl(file);
}
void Monitor::slotSaveZone()
}
#endif
+void Render::loadUrl(const QString &url)
+{
+ Mlt::Producer *producer = new Mlt::Producer(*m_mltProfile, url.toUtf8().constData());
+ setProducer(producer, 0);
+}
+
int Render::setProducer(Mlt::Producer *producer, int position)
{
m_refreshTimer.stop();
int requestedSeekPosition;
/** @brief Get current seek pos requested of current producer pos if not seeking */
int getCurrentSeekPosition() const;
+ /** @brief Create a producer from url and load it in the monitor */
+ void loadUrl(const QString &url);
+
QSemaphore showFrameSemaphore;
bool externalConsumer;
<rect>
<x>0</x>
<y>0</y>
- <width>254</width>
- <height>283</height>
+ <width>247</width>
+ <height>182</height>
</rect>
</property>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>-1</number>
+ </property>
<property name="margin">
<number>0</number>
</property>
- <item row="1" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Movie file</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="4">
- <widget class="KComboBox" name="vob_list"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QPushButton" name="button_add">
- <property name="text">
- <string>Add chapter</string>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QPushButton" name="button_delete">
- <property name="text">
- <string>Remove chapter</string>
- </property>
- </widget>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Movie file</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="KComboBox" name="vob_list"/>
+ </item>
+ </layout>
</item>
- <item row="3" column="3">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>79</width>
- <height>22</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="0" colspan="4">
- <widget class="QFrame" name="monitor_frame">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="5">
+ <item>
<widget class="QListWidget" name="chapters_list">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
</property>
</widget>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="button_add">
+ <property name="text">
+ <string>Add chapter</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="button_delete">
+ <property name="text">
+ <string>Remove chapter</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>79</width>
+ <height>22</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
<customwidgets>