- nframes_t xfade_length = min ((nframes_t) 720, top->length());
-
- /* in, out */
- xfade = new Crossfade (top, bottom, xfade_length, top->first_frame(), StartOfIn);
- add_crossfade (*xfade);
-
- if (top_region_at (top->last_frame() - 1) == top) {
- /*
- only add a fade out if there is no region on top of the end of 'top' (which
- would cover it).
- */
- xfade = new Crossfade (bottom, top, xfade_length, top->last_frame() - xfade_length, EndOfOut);
- add_crossfade (*xfade);
- }
-
- } else {
-
- xfade = new Crossfade (other, region, Config->get_xfade_model(), Config->get_xfades_active());
- add_crossfade (*xfade);
+ xfade = boost::shared_ptr<Crossfade> (new Crossfade (bottom, top, xfade_length, top->last_frame() - xfade_length, EndOfOut));
+ add_crossfade (xfade);