Skip to content
GitLab
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
6b8b07fb
Commit
6b8b07fb
authored
Mar 10, 2020
by
Jean-Baptiste Mardelle
Browse files
Fix track compositing duplicated on track insert/delete
parent
5d566844
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/timeline2/model/timelinefunctions.cpp
View file @
6b8b07fb
...
...
@@ -1073,6 +1073,7 @@ void TimelineFunctions::saveTimelineSelection(const std::shared_ptr<TimelineItem
}
t
.
set
(
"always_active"
,
1
);
t
.
set
(
"internal_added"
,
237
);
t
.
set_tracks
(
isAudio
?
lowerAudioTrack
:
lowerVideoTrack
,
ix
);
field
->
plant_transition
(
t
,
isAudio
?
lowerAudioTrack
:
lowerVideoTrack
,
ix
);
}
ix
++
;
...
...
src/timeline2/model/timelineitemmodel.cpp
View file @
6b8b07fb
...
...
@@ -567,13 +567,15 @@ void TimelineItemModel::buildTrackCompositing(bool rebuild)
while
(
service
!=
nullptr
&&
service
->
is_valid
())
{
if
(
service
->
type
()
==
transition_type
)
{
Mlt
::
Transition
t
((
mlt_transition
)
service
->
get_service
());
service
.
reset
(
service
->
producer
());
if
(
t
.
get_int
(
"internal_added"
)
==
237
)
{
// remove all compositing transitions
field
->
disconnect_service
(
t
);
t
.
disconnect_all_producers
();
}
}
else
{
service
.
reset
(
service
->
producer
());
}
service
.
reset
(
service
->
producer
());
}
}
QString
composite
=
TransitionsRepository
::
get
()
->
getCompositingTransition
();
...
...
src/timeline2/view/timelinecontroller.cpp
View file @
6b8b07fb
...
...
@@ -1704,14 +1704,16 @@ void TimelineController::switchCompositing(int mode)
while
((
service
!=
nullptr
)
&&
service
->
is_valid
())
{
if
(
service
->
type
()
==
transition_type
)
{
Mlt
::
Transition
t
((
mlt_transition
)
service
->
get_service
());
service
.
reset
(
service
->
producer
());
QString
serviceName
=
t
.
get
(
"mlt_service"
);
if
(
t
.
get_int
(
"internal_added"
)
==
237
&&
serviceName
!=
QLatin1String
(
"mix"
))
{
// remove all compositing transitions
field
->
disconnect_service
(
t
);
t
.
disconnect_all_producers
();
}
}
else
{
service
.
reset
(
service
->
producer
());
}
service
.
reset
(
service
->
producer
());
}
if
(
mode
>
0
)
{
const
QString
compositeGeometry
=
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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