- meetDependency(paramName, type, EffectsList::parameter(e, depends));
- } else if (type == "corners") {
- CornersWidget *corners = new CornersWidget(m_monitor, pos, isEffect, pa.attribute("factor").toInt(), this);
- connect(corners, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
- if (minFrame == maxFrame)
- corners->setRange(m_in, m_out);
- else
- corners->setRange(minFrame, maxFrame);
-
- QString xName = pa.attribute("xpoints");
- QString yName = pa.attribute("ypoints");
- QPolygon points;
- int x, y;
- for (int j = 1; j <= 4; ++j) {
- x = EffectsList::parameter(e, QString(xName).replace("%i", QString::number(j))).toInt();
- y = EffectsList::parameter(e, QString(yName).replace("%i", QString::number(j))).toInt();
- points << QPoint(x, y);
- }
- corners->setValue(points);
-
- m_vbox->addWidget(corners);
- connect(corners, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
- m_valueItems[paramName] = corners;
+ meetDependency(paramName, type, EffectsList::parameter(d, depends));
+ } else if (type == "bezier_spline") {
+ BezierSplineWidget *widget = new BezierSplineWidget(value, this);
+ stretch = false;
+ m_vbox->addWidget(widget);
+ m_valueItems[paramName] = widget;
+ connect(widget, SIGNAL(modified()), this, SLOT(collectAllParameters()));
+ QString depends = pa.attribute("depends");
+ if (!depends.isEmpty())
+ meetDependency(paramName, type, EffectsList::parameter(d, depends));
+#ifdef USE_QJSON
+ } else if (type == "roto-spline") {
+ RotoWidget *roto = new RotoWidget(value, m_monitor, info, m_timecode, this);
+ roto->slotShowScene(!disable);
+ connect(roto, SIGNAL(valueChanged()), this, SLOT(collectAllParameters()));
+ connect(roto, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
+ connect(roto, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
+ connect(this, SIGNAL(syncEffectsPos(int)), roto, SLOT(slotSyncPosition(int)));
+ connect(this, SIGNAL(effectStateChanged(bool)), roto, SLOT(slotShowScene(bool)));
+ m_vbox->addWidget(roto);
+ m_valueItems[paramName] = roto;
+#endif