Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
386983a8
Commit
386983a8
authored
Mar 23, 2021
by
Jean-Baptiste Mardelle
Browse files
Now that we have effect zone, allow multiple unique effects (like fades) on tracks / master
parent
5c3fad4a
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/effects/effectstack/model/effectstackmodel.cpp
View file @
386983a8
...
...
@@ -332,7 +332,7 @@ bool EffectStackModel::fromXml(const QDomElement &effectsXml, Fun &undo, Fun &re
}
else
if
(
state
!=
PlaylistState
::
VideoOnly
)
{
continue
;
}
if
(
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
if
(
m_ownerId
.
first
==
ObjectType
::
TimelineClip
&&
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
pCore
->
displayMessage
(
i18n
(
"Effect %1 cannot be added twice."
,
EffectsRepository
::
get
()
->
getName
(
effectId
)),
ErrorMessage
);
return
false
;
}
...
...
@@ -418,7 +418,7 @@ bool EffectStackModel::copyEffect(const std::shared_ptr<AbstractEffectItem> &sou
}
std
::
shared_ptr
<
EffectItemModel
>
sourceEffect
=
std
::
static_pointer_cast
<
EffectItemModel
>
(
sourceItem
);
const
QString
effectId
=
sourceEffect
->
getAssetId
();
if
(
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
if
(
m_ownerId
.
first
==
ObjectType
::
TimelineClip
&&
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
pCore
->
displayMessage
(
i18n
(
"Effect %1 cannot be added twice."
,
EffectsRepository
::
get
()
->
getName
(
effectId
)),
ErrorMessage
);
return
false
;
}
...
...
@@ -472,7 +472,7 @@ bool EffectStackModel::copyEffect(const std::shared_ptr<AbstractEffectItem> &sou
bool
EffectStackModel
::
appendEffect
(
const
QString
&
effectId
,
bool
makeCurrent
)
{
QWriteLocker
locker
(
&
m_lock
);
if
(
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
if
(
m_ownerId
.
first
==
ObjectType
::
TimelineClip
&&
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
pCore
->
displayMessage
(
i18n
(
"Effect %1 cannot be added twice."
,
EffectsRepository
::
get
()
->
getName
(
effectId
)),
ErrorMessage
);
return
false
;
}
...
...
@@ -487,10 +487,12 @@ bool EffectStackModel::appendEffect(const QString &effectId, bool makeCurrent)
if
(
effect
->
isAudio
())
{
if
(
state
==
PlaylistState
::
VideoOnly
)
{
// Cannot add effect to this clip
pCore
->
displayMessage
(
i18n
(
"Cannot add effect to clip"
),
ErrorMessage
);
return
false
;
}
}
else
if
(
state
==
PlaylistState
::
AudioOnly
)
{
// Cannot add effect to this clip
pCore
->
displayMessage
(
i18n
(
"Cannot add effect to clip"
),
ErrorMessage
);
return
false
;
}
Fun
undo
=
removeItem_lambda
(
effect
->
getId
());
...
...
@@ -988,7 +990,7 @@ void EffectStackModel::importEffects(const std::weak_ptr<Mlt::Service> &service,
continue
;
}
const
QString
effectId
=
qstrdup
(
filter
->
get
(
"kdenlive_id"
));
if
(
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
if
(
m_ownerId
.
first
==
ObjectType
::
TimelineClip
&&
EffectsRepository
::
get
()
->
isUnique
(
effectId
)
&&
hasEffect
(
effectId
))
{
pCore
->
displayMessage
(
i18n
(
"Effect %1 cannot be added twice."
,
EffectsRepository
::
get
()
->
getName
(
effectId
)),
ErrorMessage
);
continue
;
}
...
...
src/effects/effectstack/view/effectstackview.cpp
View file @
386983a8
...
...
@@ -173,9 +173,7 @@ void EffectStackView::dropEvent(QDropEvent *event)
m_model
->
setActiveEffect
(
m_model
->
rowCount
()
-
1
);
}
}
if
(
!
added
)
{
pCore
->
displayMessage
(
i18n
(
"Cannot add effect to clip"
),
ErrorMessage
);
}
else
{
if
(
added
)
{
m_scrollTimer
.
start
();
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment