* *
***************************************************************************/
-#include <QVBoxLayout>
-#include <QSlider>
-#include <QLabel>
-#include <QPushButton>
-#include <QCheckBox>
-#include <QScrollArea>
-
-#include <KDebug>
-#include <KLocale>
-
+#include "effectstackedit.h"
#include "ui_constval_ui.h"
#include "ui_listval_ui.h"
#include "ui_boolval_ui.h"
#include "ui_positionval_ui.h"
#include "ui_wipeval_ui.h"
#include "complexparameter.h"
-#include "effectstackedit.h"
#include "geometryval.h"
-
#include "kdenlivesettings.h"
+#include <KDebug>
+#include <KLocale>
+
+#include <QVBoxLayout>
+#include <QSlider>
+#include <QLabel>
+#include <QPushButton>
+#include <QCheckBox>
+#include <QScrollArea>
+
QMap<QString, QImage> EffectStackEdit::iconCache;
EffectStackEdit::EffectStackEdit(QWidget *parent): QWidget(parent), m_in(0), m_out(0) {
m_timecode = t;
}
+void EffectStackEdit::updateParameter(const QString &name, const QString &value) {
+ params.setAttribute(name, value);
+}
+
void EffectStackEdit::transferParamDesc(const QDomElement& d, int in, int out) {
kDebug() << "in";
params = d;
QDomDocument doc;
doc.appendChild(doc.importNode(params, true));
- kDebug() << "IMPORTED TRANS: " << doc.toString();
+ //kDebug() << "IMPORTED TRANS: " << doc.toString();
QDomNodeList namenode = params.elementsByTagName("parameter");
QDomElement e = params.toElement();
const int minFrame = e.attribute("start").toInt();
} else if (type == "list") {
Ui::Listval_UI *lsval = new Ui::Listval_UI;
lsval->setupUi(toFillin);
- QStringList listitems = pa.attribute("paramlist").split(",");
- QStringList listitemsdisplay = pa.attribute("paramlistdisplay").split(",");
+ QStringList listitems = pa.attribute("paramlist").split(',');
+ QStringList listitemsdisplay = pa.attribute("paramlistdisplay").split(',');
if (listitemsdisplay.count() != listitems.count()) listitemsdisplay = listitems;
//lsval->list->addItems(listitems);
for (int i = 0;i < listitems.count();i++) {
valueItems[paramName] = bval;
uiItems.append(bval);
} else if (type == "complex") {
- /*QStringList names=nodeAtts.namedItem("name").nodeValue().split(";");
- QStringList max=nodeAtts.namedItem("max").nodeValue().split(";");
- QStringList min=nodeAtts.namedItem("min").nodeValue().split(";");
- QStringList val=value.split(";");
+ /*QStringList names=nodeAtts.namedItem("name").nodeValue().split(';');
+ QStringList max=nodeAtts.namedItem("max").nodeValue().split(';');
+ QStringList min=nodeAtts.namedItem("min").nodeValue().split(';');
+ QStringList val=value.split(';');
kDebug() << "in complex"<<names.size() << " " << max.size() << " " << min.size() << " " << val.size() ;
if ( (names.size() == max.size() ) &&
(names.size()== min.size()) &&
Ui::Positionval_UI *pval = new Ui::Positionval_UI;
pval->setupUi(toFillin);
int pos = value.toInt();
- if (d.attribute("id") == "fadein") {
+ if (d.attribute("id") == "fadein" || d.attribute("id") == "fade_from_black") {
pos = pos - m_in;
- } else if (d.attribute("id") == "fadeout") {
+ } else if (d.attribute("id") == "fadeout" || d.attribute("id") == "fade_to_black") {
// fadeout position starts from clip end
pos = m_out - (pos - m_in);
}
wipeInfo EffectStackEdit::getWipeInfo(QString value) {
wipeInfo info;
- QString start = value.section(";", 0, 0);
- QString end = value.section(";", 1, 1).section("=", 1, 1);
+ QString start = value.section(';', 0, 0);
+ QString end = value.section(';', 1, 1).section('=', 1, 1);
if (start.startsWith("-100%,0")) info.start = LEFT;
else if (start.startsWith("100%,0")) info.start = RIGHT;
else if (start.startsWith("0%,100%")) info.start = DOWN;
else if (start.startsWith("0%,-100%")) info.start = UP;
- else if (start.startsWith("0%,0%")) info.start = CENTER;
+ else info.start = CENTER;
if (start.count(':') == 2) info.startTransparency = start.section(':', -1).toInt();
else info.startTransparency = 100;
else if (end.startsWith("100%,0")) info.end = RIGHT;
else if (end.startsWith("0%,100%")) info.end = DOWN;
else if (end.startsWith("0%,-100%")) info.end = UP;
- else if (end.startsWith("0%,0%")) info.end = CENTER;
+ else info.end = CENTER;
if (end.count(':') == 2) info.endTransparency = end.section(':', -1).toInt();
else info.endTransparency = 100;
return info;
start = "0%,0%:100%x100%";
break;
}
- start.append(":" + QString::number(info.startTransparency));
+ start.append(':' + QString::number(info.startTransparency));
switch (info.end) {
case LEFT:
end = "0%,0%:100%x100%";
break;
}
- end.append(":" + QString::number(info.endTransparency));
+ end.append(':' + QString::number(info.endTransparency));
return QString(start + ";-1=" + end);
}
} else if (type == "color") {
KColorButton *color = ((Ui::Colorval_UI*)valueItems[paramName])->kcolorbutton;
setValue = color->color().name();
- setValue.replace('#', "0x");
} else if (type == "complex") {
ComplexParameter *complex = ((ComplexParameter*)valueItems[paramName+"complex"]);
namenode.item(i) = complex->getParamDesc();
} else if (type == "position") {
KRestrictedLine *line = ((Ui::Positionval_UI*)valueItems[paramName+"position"])->krestrictedline;
int pos = m_timecode.getFrameCount(line->text(), KdenliveSettings::project_fps());
- if (params.attribute("id") == "fadein") {
+ if (params.attribute("id") == "fadein" || params.attribute("id") == "fade_from_black") {
pos += m_in;
if (pos > m_out) {
pos = m_out;
line->setText(m_timecode.getTimecodeFromFrames(pos));
}
- } else if (params.attribute("id") == "fadeout") {
+ } else if (params.attribute("id") == "fadeout" || params.attribute("id") == "fade_to_black") {
pos = m_out - (pos - m_in);
if (pos > m_out - m_in) {
pos = m_out - m_in;
else if (wp->start_up->isChecked()) info.start = UP;
else if (wp->start_down->isChecked()) info.start = DOWN;
else if (wp->start_center->isChecked()) info.start = CENTER;
+ else info.start = LEFT;
info.startTransparency = wp->start_transp->value();
if (wp->end_left->isChecked()) info.end = LEFT;
else if (wp->end_right->isChecked()) info.end = RIGHT;
else if (wp->end_up->isChecked()) info.end = UP;
else if (wp->end_down->isChecked()) info.end = DOWN;
else if (wp->end_center->isChecked()) info.end = CENTER;
+ else info.end = RIGHT;
info.endTransparency = wp->end_transp->value();
setValue = getWipeString(info);
}