From: <j-...@us...> - 2009-06-12 23:22:16
|
Revision: 3526 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=3526&view=rev Author: j-b-m Date: 2009-06-12 23:22:14 +0000 (Fri, 12 Jun 2009) Log Message: ----------- * Allow editing keyframable effects in groups: http://kdenlive.org/mantis/view.php?id=814 * Don't add audio effects on video only clips nor video effects on sound clips Modified Paths: -------------- trunk/kdenlive/src/abstractclipitem.cpp trunk/kdenlive/src/clipitem.cpp trunk/kdenlive/src/customtrackview.cpp Modified: trunk/kdenlive/src/abstractclipitem.cpp =================================================================== --- trunk/kdenlive/src/abstractclipitem.cpp 2009-06-12 23:02:07 UTC (rev 3525) +++ trunk/kdenlive/src/abstractclipitem.cpp 2009-06-12 23:22:14 UTC (rev 3526) @@ -255,7 +255,8 @@ double y2; // draw line showing default value - if (isSelected()) { + bool active = isSelected() || (parentItem() && parentItem()->isSelected()); + if (active) { x1 = br.x(); x2 = br.right(); y1 = br.bottom() - m_keyframeDefault * maxh; @@ -285,13 +286,13 @@ QLineF l(x1, y1, x2, y2); l2 = painter->matrix().map(l); painter->drawLine(l2); - if (isSelected()) { + if (active) { painter->fillRect(l2.x1() - 3, l2.y1() - 3, 6, 6, QBrush(color)); } x1 = x2; y1 = y2; } - if (isSelected()) painter->fillRect(l2.x2() - 3, l2.y2() - 3, 6, 6, QBrush(color)); + if (active) painter->fillRect(l2.x2() - 3, l2.y2() - 3, 6, 6, QBrush(color)); } int AbstractClipItem::mouseOverKeyFrames(QPointF pos) Modified: trunk/kdenlive/src/clipitem.cpp =================================================================== --- trunk/kdenlive/src/clipitem.cpp 2009-06-12 23:02:07 UTC (rev 3525) +++ trunk/kdenlive/src/clipitem.cpp 2009-06-12 23:22:14 UTC (rev 3526) @@ -851,7 +851,7 @@ { if (isItemLocked()) return NONE; - if (isSelected()) { + if (isSelected() || (parentItem() && parentItem()->isSelected())) { m_editedKeyframe = mouseOverKeyFrames(pos); if (m_editedKeyframe != -1) return KEYFRAME; } Modified: trunk/kdenlive/src/customtrackview.cpp =================================================================== --- trunk/kdenlive/src/customtrackview.cpp 2009-06-12 23:02:07 UTC (rev 3525) +++ trunk/kdenlive/src/customtrackview.cpp 2009-06-12 23:22:14 UTC (rev 3526) @@ -1262,6 +1262,14 @@ for (int i = 0; i < itemList.count(); i++) { if (itemList.at(i)->type() == AVWIDGET) { ClipItem *item = static_cast <ClipItem *>(itemList.at(i)); + if (effect.attribute("type") == "audio") { + // Don't add audio effects on video clips + if (item->isVideoOnly() || (item->clipType() != AUDIO && item->clipType() != AV && item->clipType() != PLAYLIST)) continue; + } else if (effect.hasAttribute("type") == false) { + // Don't add video effect on audio clips + if (item->isAudioOnly() || item->clipType() == AUDIO) continue; + } + if (item->hasEffect(effect.attribute("tag"), effect.attribute("id")) != -1 && effect.attribute("unique", "0") != "0") { emit displayMessage(i18n("Effect already present in clip"), ErrorMessage); continue; @@ -1305,6 +1313,13 @@ for (int i = 0; i < itemList.count(); i++) { if (itemList.at(i)->type() == AVWIDGET) { ClipItem *item = (ClipItem *)itemList.at(i); + if (effect.attribute("type") == "audio") { + // Don't add audio effects on video clips + if (item->isVideoOnly() || (item->clipType() != AUDIO && item->clipType() != AV && item->clipType() != PLAYLIST)) continue; + } else if (effect.hasAttribute("type") == false) { + // Don't add video effect on audio clips + if (item->isAudioOnly() || item->clipType() == AUDIO) continue; + } if (item->hasEffect(effect.attribute("tag"), effect.attribute("id")) != -1 && effect.attribute("unique", "0") != "0") { emit displayMessage(i18n("Effect already present in clip"), ErrorMessage); continue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |