Skip to content

Commit

Permalink
Fix fade out not working after trim in
Browse files Browse the repository at this point in the history
  • Loading branch information
bmatherly authored and ddennedy committed Oct 2, 2022
1 parent 997ebc5 commit 03a154c
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/mltcontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1253,6 +1253,28 @@ void Controller::adjustFilter(Mlt::Filter *filter, int in, int out, int inDelta,
}
filter->set_in_and_out(in + inDelta, filter->get_out());
emit MAIN.serviceInChanged(inDelta, filter);
} else if (filterName.startsWith("fadeOut")) {
if (!filter->get(kShotcutAnimOutProperty)) {
// Convert legacy fadeOut filters.
filter->set(kShotcutAnimOutProperty, filter->get_length());
}
filter->set_in_and_out(in + inDelta, filter->get_out());
if (filterName == "fadeOutBrightness") {
const char *key = filter->get_int("alpha") != 1 ? "alpha" : "level";
filter->clear(key);
filter->anim_set(key, 1, filter->get_length() - filter->get_int(kShotcutAnimOutProperty));
filter->anim_set(key, 0, filter->get_length() - 1);
} else if (filterName == "fadeOutMovit") {
filter->clear("opacity");
filter->anim_set("opacity", 1, filter->get_length() - filter->get_int(kShotcutAnimOutProperty), 0,
mlt_keyframe_smooth);
filter->anim_set("opacity", 0, filter->get_length() - 1);
} else if (filterName == "fadeOutVolume") {
filter->clear("level");
filter->anim_set("level", 0, filter->get_length() - filter->get_int(kShotcutAnimOutProperty));
filter->anim_set("level", -60, filter->get_length() - 1);
}
emit MAIN.serviceInChanged(inDelta, filter);
} else if (!filter->get_int("_loader") && filter->get_in() <= in) {
filter->set_in_and_out(in + inDelta, filter->get_out());
emit MAIN.serviceInChanged(inDelta, filter);
Expand Down

0 comments on commit 03a154c

Please sign in to comment.