<rect>
<x>0</x>
<y>0</y>
- <width>288</width>
- <height>98</height>
+ <width>384</width>
+ <height>139</height>
</rect>
</property>
<property name="windowTitle" >
</property>
</widget>
</item>
- <item row="0" column="2" >
+ <item row="0" column="1" >
<widget class="KUrlRequester" name="path" />
</item>
<item row="1" column="0" >
- <widget class="QLabel" name="label_2" >
+ <widget class="QLabel" name="duration_label" >
<property name="text" >
<string>Duration (seconds)</string>
</property>
</widget>
</item>
- <item row="3" column="0" colspan="3" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
+ <item row="1" column="1" >
+ <widget class="KIntSpinBox" name="duration" >
+ <property name="maximum" >
+ <number>10000</number>
</property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ <property name="value" >
+ <number>10</number>
</property>
</widget>
</item>
<item row="2" column="0" >
+ <widget class="QLabel" name="font_label" >
+ <property name="text" >
+ <string>Font</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="KIntSpinBox" name="font" >
+ <property name="maximum" >
+ <number>10000</number>
+ </property>
+ <property name="value" >
+ <number>500</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="1" column="2" >
- <widget class="KIntSpinBox" name="duration" >
- <property name="maximum" >
- <number>10000</number>
+ <item row="4" column="0" colspan="2" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="value" >
- <number>10</number>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
#include <QDomDocument>
#include <QInputDialog>
-QStringList SamplePlugin::generators() const
+QStringList SamplePlugin::generators(const QStringList producers) const
{
- return QStringList() << i18n("Countdown") << i18n("Noise");
+ QStringList result;
+ if (producers.contains("pango")) result << i18n("Countdown");
+ if (producers.contains("noise")) result << i18n("Noise");
+ return result;
}
-KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFolder, const QStringList &/*lumaNames*/, const QStringList &/*lumaFiles*/, const double fps, const int /*width*/, const int /*height*/)
+KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFolder, const QStringList &/*lumaNames*/, const QStringList &/*lumaFiles*/, const double fps, const int /*width*/, const int height)
{
QString prePath;
if (generator == i18n("Noise")) {
counter = QString::number(ct).rightJustified(5, '0', false);
}
QDialog d;
- if (generator == i18n("Noise")) d.setWindowTitle(tr("Create Noise Clip"));
- else d.setWindowTitle(tr("Create Countdown Clip"));
Ui::CountDown_UI view;
view.setupUi(&d);
+ if (generator == i18n("Noise")) {
+ d.setWindowTitle(tr("Create Noise Clip"));
+ view.font_label->setHidden(true);
+ view.font->setHidden(true);
+ } else {
+ d.setWindowTitle(tr("Create Countdown Clip"));
+ view.font->setValue(height);
+ }
+
QString clipFile = prePath + counter + ".westley";
view.path->setPath(clipFile);
if (d.exec() == QDialog::Accepted) {
prod.setAttribute("mlt_service", "pango");
prod.setAttribute("in", "0");
prod.setAttribute("out", QString::number((int) fps));
- prod.setAttribute("markup", QString::number(view.duration->value() - i));
+ prod.setAttribute("text", QString::number(view.duration->value() - i));
+ //FIXME: the font and pad values are approximate, the pango producer seems unable
+ // to produce a predictable frame size.
+ prod.setAttribute("font", QString::number(view.font->value()) + "px");
+ //prod.setAttribute("pad", 50);
playlist.appendChild(prod);
}
}
Q_INTERFACES(ClipGenerator)
public:
- QStringList generators() const;
+ QStringList generators(const QStringList producers = QStringList()) const;
KUrl generatedClip(const QString &generator, const KUrl &projectFolder, const QStringList &lumaNames, const QStringList &lumaFiles, const double fps, const int width, const int height);
};