return;
}
EffectsParameterList params = clip->addEffect(effect);
- if (effect.attribute("disabled") == "1") {
- // Effect is disabled, don't add it to MLT playlist
- if (clip->isSelected()) emit clipItemSelected(clip);
- return;
- }
if (!m_document->renderer()->mltAddEffect(track, pos, params))
emit displayMessage(i18n("Problem adding effect to clip"), ErrorMessage);
if (clip->isSelected()) emit clipItemSelected(clip);
return;
}
}
- if (!m_document->renderer()->mltRemoveEffect(track, pos, index, true) && effect.attribute("disabled") != "1") {
- kDebug() << "// ERROR REMOV EFFECT: " << index << ", DISABLE: " << effect.attribute("disabled");
+ if (!m_document->renderer()->mltRemoveEffect(track, pos, index, true)) {
+ kDebug() << "// ERROR REMOV EFFECT: " << index << ", DISABLE: " << effect.attribute("disable");
emit displayMessage(i18n("Problem deleting effect"), ErrorMessage);
return;
}
if (clip) {
// Special case: speed effect
if (effect.attribute("id") == "speed") {
- if (effect.attribute("disabled") == "1") doChangeClipSpeed(clip->info(), clip->speedIndependantInfo(), 1.0, clip->speed(), 1, clip->baseClip()->getId());
+ if (effect.attribute("disable") == "1") doChangeClipSpeed(clip->info(), clip->speedIndependantInfo(), 1.0, clip->speed(), 1, clip->baseClip()->getId());
else {
double speed = EffectsList::parameter(effect, "speed").toDouble() / 100.0;
int strobe = EffectsList::parameter(effect, "strobe").toInt();
clip->initEffect(effect);
effectParams = clip->getEffectArgs(effect);
}
- if (effectParams.paramValue("disabled") == "1") {
- if (m_document->renderer()->mltRemoveEffect(track, pos, effectParams.paramValue("kdenlive_ix"), false)) {
- kDebug() << "////// DISABLING EFFECT: " << ix << ", CURRENTLA: " << clip->selectedEffectIndex();
- } else emit displayMessage(i18n("Problem deleting effect"), ErrorMessage);
- } else if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams))
+ if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams))
emit displayMessage(i18n("Problem editing effect"), ErrorMessage);
clip->setEffectAt(ix, effect);
QDomElement effect = clip->effectAt(effectPos);
QDomElement oldEffect = effect.cloneNode().toElement();
- effect.setAttribute("disabled", (int) disable);
+ effect.setAttribute("disable", (int) disable);
EditEffectCommand *command = new EditEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), oldEffect, effect, effectPos, true);
m_commandStack->push(command);
setDocumentModified();;
dupInfo.cropStart += diff;
dupInfo.cropDuration = clipInfo.endPos - info.startPos;
new RazorClipCommand(this, clipInfo, info.startPos, false, command);
- ClipItem *dup = cutClip(clipInfo, info.startPos, true, false);
+ // Commented out; variable dup unused. --granjow
+ //ClipItem *dup = cutClip(clipInfo, info.startPos, true, false);
+ cutClip(clipInfo, info.startPos, true, false);
}
}
// TODO: add insertspacecommand
paste->setText("Paste effects");
QList<QGraphicsItem *> clips = scene()->selectedItems();
+
+ // expand groups
+ for (int i = 0; i < clips.count(); ++i) {
+ if (clips.at(i)->type() == GROUPWIDGET) {
+ QList<QGraphicsItem *> children = clips.at(i)->childItems();
+ for (int j = 0; j < children.count(); j++) {
+ if (children.at(j)->type() == AVWIDGET && !clips.contains(children.at(j))) {
+ clips.append(children.at(j));
+ }
+ }
+ }
+ }
+
+
for (int i = 0; i < clips.count(); ++i) {
if (clips.at(i)->type() == AVWIDGET) {
ClipItem *item = static_cast < ClipItem *>(clips.at(i));
}
}
}
- m_commandStack->push(paste);
+ if (paste->childCount() > 0) m_commandStack->push(paste);
+ else delete paste;
- //Â adjust effects (fades, ...)
+ // adjust effects (fades, ...)
for (int i = 0; i < clips.count(); ++i) {
- ClipItem *item = static_cast < ClipItem *>(clips.at(i));
- updatePositionEffects(item, item->info());
+ if (clips.at(i)->type() == AVWIDGET) {
+ ClipItem *item = static_cast < ClipItem *>(clips.at(i));
+ updatePositionEffects(item, item->info());
+ }
}
}