effectslist.cpp
initeffects.cpp
effectslistview.cpp
+ addeffectcommand.cpp
)
kde4_add_kcfg_files(kdenlive_SRCS GENERATE_MOC kdenlivesettings.kcfgc )
for (int i = 0; i < collisionList.size(); ++i) {
QGraphicsItem *item = collisionList.at(i);
if (item->type() == 70000) {
+ // select item
+ if (!item->isSelected()) {
+ QList<QGraphicsItem *> itemList = items();
+ for (int i = 0; i < itemList.count(); i++)
+ itemList.at(i)->setSelected(false);
+ item->setSelected(true);
+ update();
+ }
m_dragItem = (ClipItem *) item;
m_clickPoint = mapToScene(event->pos()).x() - m_dragItem->startPos() * m_scale;
m_operationMode = m_dragItem->operationMode(item->mapFromScene(mapToScene(event->pos())), m_scale);
}
updateSnapPoints(m_dragItem);
//kDebug()<<pos;
- QGraphicsView::mousePressEvent(event);
+ //QGraphicsView::mousePressEvent(event);
}
void CustomTrackView::dragEnterEvent ( QDragEnterEvent * event )
setDragMode(QGraphicsView::NoDrag);
if (m_dragItem == NULL) return;
//kDebug()<<"/// MOVING CLIP: "<<m_startPos<<", END: "<<QPoint(m_dragItem->rect().x(),m_dragItem->rect().y());
- if (m_operationMode == MOVE) {
+ if (m_operationMode == MOVE && m_startPos.x() != m_dragItem->startPos()) {
// move clip
MoveClipCommand *command = new MoveClipCommand(this, m_startPos, QPointF(m_dragItem->startPos(), m_dragItem->track()), false);
m_commandStack->push(command);
connect(clipMonitorDock, SIGNAL(visibilityChanged (bool)), m_clipMonitor, SLOT(refreshMonitor(bool)));
connect(m_monitorManager, SIGNAL(connectMonitors ()), this, SLOT(slotConnectMonitors()));
connect(m_monitorManager, SIGNAL(raiseClipMonitor (bool)), this, SLOT(slotRaiseMonitor(bool)));
+ connect(m_effectList, SIGNAL(addEffect(int, const QString&)), this, SLOT(slotAddEffect(int, const QString &)));
m_monitorManager->initMonitors(m_clipMonitor, m_projectMonitor);
setAutoSaveSettings();
}
}
+void MainWindow::slotAddEffect(int effectType, const QString &effectName)
+{
+ if (!m_activeDocument) return;
+ QMap <QString, QString> filter;
+ if (effectType == 0)
+ filter = m_videoEffects.effect(effectName);
+ else if (effectType == 1)
+ filter = m_audioEffects.effect(effectName);
+ else
+ filter = m_customEffects.effect(effectName);
+ TrackView *currentTimeLine = (TrackView *) m_timelineArea->currentWidget();
+ currentTimeLine->projectView()->slotAddEffect(filter);
+}
+
void MainWindow::slotRaiseMonitor(bool clipMonitor)
{
if (clipMonitor) clipMonitorDock->raise();
void slotRaiseMonitor(bool clipMonitor);
void slotSetClipDuration(int id, int duration);
void slotUpdateMousePosition(int pos);
+ void slotAddEffect(int effectType, const QString &effectName);
};
#endif
Mlt::Playlist trackPlaylist(( mlt_playlist ) trackProducer.get_service());
//int clipIndex = trackPlaylist.get_clip_index_at(position.frames(m_fps));
Mlt::Producer *clip = trackPlaylist.get_clip_at(position.frames(m_fps));
+ if (!clip) {
+ kDebug()<<"WARINIG, CANNOT FIND CLIP ON track: "<<track<<", AT POS: "<<position.frames(m_fps);
+ m_isBlocked = false;
+ return;
+ }
Mlt::Service clipService(clip->get_service());
Mlt::Filter *filter = clipService.filter( index );
Mlt::Producer trackProducer(tractor.track(startTrack));
Mlt::Playlist trackPlaylist(( mlt_playlist ) trackProducer.get_service());
int clipIndex = trackPlaylist.get_clip_index_at(moveStart + 1);
-
-
mlt_field field = mlt_tractor_field(tractor.get_tractor());
-
mlt_multitrack multitrack = mlt_field_multitrack(field); //mlt_tractor_multitrack(tractor.get_tractor());
kDebug()<<" -- CURRENT MULTIOTRACK HAS: "<<mlt_multitrack_count(multitrack)<<" tracks";;
mlt_service multiprod = mlt_multitrack_service( multitrack );