}
void CustomTrackView::updateTransition(int track, GenTime pos, QDomElement oldTransition, QDomElement transition) {
+ QString s;
+ QTextStream tx(&s);
+ transition.save(tx,2);
+ kDebug() << "in" << s;
QMap < QString, QString> map;
QDomNamedNodeMap attribs = transition.attributes();
for (int i = 0;i < attribs.count();i++) {
QString resource = doc.toString();
kDebug() << "/////// ADDING CLIP TMLNE: " << resource << " ON TRACK: " << track;
- Mlt::Tractor *tractor = getTractor();
- if (tractor) {
- Mlt::Playlist *trackPlaylist = getPlaylist(track);
- if (trackPlaylist) {
- char *tmp = decodedString(resource);
- Mlt::Producer clip(*m_mltProfile, "westley-xml", tmp);
- //clip.set_in_and_out(in.frames(m_fps), out.frames(m_fps));
- delete[] tmp;
-
- trackPlaylist->insert_at((int)position.frames(m_fps), clip, 1);
- tractor->multitrack()->refresh();
- tractor->refresh();
- if (track != 0) mltCheckLength();
+ //Mlt::Tractor *tractor = getTractor();
+ //if (tractor) {
+ Mlt::Playlist *trackPlaylist = getPlaylist(track);
+ if (trackPlaylist) {
+ char *tmp = decodedString(resource);
+ Mlt::Producer clip(*m_mltProfile, "westley-xml", tmp);
+ //clip.set_in_and_out(in.frames(m_fps), out.frames(m_fps));
+ delete[] tmp;
+
+ trackPlaylist->insert_at((int)position.frames(m_fps), clip, 1);
+ //tractor->multitrack()->refresh();
+ //tractor->refresh();
+ if (track != 0) mltCheckLength();
- delete trackPlaylist;
- mltSavePlaylist();
- }
- delete tractor;
+ delete trackPlaylist;
+ mltSavePlaylist();
}
+ //delete tractor;
+ //}
m_isBlocked = false;
}
Mlt::Playlist *trackPlaylist = getPlaylist(track);
if (trackPlaylist) {
- Mlt::Tractor *tractor = getTractor();
+ //Mlt::Tractor *tractor = getTractor();
if (trackPlaylist->is_blank_at((int)pos.frames(m_fps) + 1))
kDebug() << "//////// ERROR RSIZING BLANK CLIP!!!!!!!!!!!";
int clipIndex = trackPlaylist->get_clip_index_at((int)pos.frames(m_fps) + 1);
} else trackPlaylist->insert_blank(clipIndex + 1, previousDuration - newDuration - 1);
trackPlaylist->consolidate_blanks(0);
- tractor->multitrack()->refresh();
- tractor->refresh();
+ //tractor->multitrack()->refresh();
+ //tractor->refresh();
if (track != 0) mltCheckLength();
- if (tractor)
- delete tractor;
+ //if (tractor)
+ // delete tractor;
m_isBlocked = false;
delete trackPlaylist;
}
Mlt::Tractor *tractor = getTractor();
if (tractor) {
Mlt::Producer trackProducer(tractor->track(track));
- Mlt::Playlist trackPlaylist((mlt_playlist) trackProducer.get_service());
if (mute) {
if (blind) trackProducer.set("hide", 3);
else trackProducer.set("hide", 2);
} else {
trackProducer.set("hide", 0);
}
- tractor->multitrack()->refresh();
- tractor->refresh();
- delete tractor;
+ //tractor->multitrack()->refresh();
+ //tractor->refresh();
+ //delete tractor;
refresh();
+ delete tractor;
+
}
}
#include "transition.h"
#include <KDebug>
#include "effectslist.h"
+#include "effectstackedit.h"
TransitionSettings::TransitionSettings(EffectsList *transitions, QWidget* parent): QWidget(parent) {
ui.setupUi(this);
+ effectEdit = new EffectStackEdit(ui.frame, this);
setEnabled(false);
m_transitions = transitions;
ui.listWidget->addItems(transitions->effectNames());
kDebug() << transitions->effectNames().size() << " -" << transitions->size();
connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(slotTransitionChanged()));
+ connect(this, SIGNAL(transferParamDesc(const QDomElement&, int , int)), effectEdit , SLOT(transferParamDesc(const QDomElement&, int , int)));
+ connect(effectEdit, SIGNAL(parameterChanged(const QDomElement&, const QDomElement&)), this , SLOT(slotUpdateEffectParams(const QDomElement&, const QDomElement&)));
}
+
void TransitionSettings::slotTransitionChanged() {
QDomElement e = m_usedTransition->toXML();
QDomElement newElement = e.cloneNode().toElement();
QDomElement desc = m_transitions->getEffectByName(ui.listWidget->currentItem()->text());
newElement.setAttribute("type", desc.attribute("tag"));
+ newElement.setAttribute("invert", "1");
+
emit transitionUpdated(e, newElement);
+ emit transferParamDesc(desc, 0, 0);
}
void TransitionSettings::slotTransitionItemSelected(Transition* t) {
m_usedTransition = t;
}
+void TransitionSettings::slotUpdateEffectParams(const QDomElement& oldparam, const QDomElement& param) {
+
+ //emit transitionUpdated(oldparam, param);
+}
\ No newline at end of file
class Transition;
class EffectsList;
+class EffectStackEdit;
class TransitionSettings : public QWidget {
Q_OBJECT
private:
Ui::TransitionSettings_UI ui;
EffectsList *m_transitions;
+ EffectStackEdit *effectEdit;
Transition* m_usedTransition;
public slots:
void slotTransitionItemSelected(Transition*);
void slotTransitionChanged();
+ void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
signals:
void transitionUpdated(QDomElement, QDomElement);
+ void transferParamDesc(const QDomElement&, int , int);
};
#endif
<enum>Qt::Horizontal</enum>
</property>
<widget class="QListWidget" name="listWidget" />
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>GroupBox</string>
+ <widget class="QFrame" name="frame" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
</property>
</widget>
</widget>