summaryrefslogtreecommitdiff
path: root/libs/ardour/crossfade.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/crossfade.cc')
-rw-r--r--libs/ardour/crossfade.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc
index 67b6a182b4..8aed204d71 100644
--- a/libs/ardour/crossfade.cc
+++ b/libs/ardour/crossfade.cc
@@ -146,17 +146,19 @@ Crossfade::Crossfade (const Playlist& playlist, XMLNode& node)
<< endmsg;
throw failed_constructor();
}
-
+
if ((_out = dynamic_cast<AudioRegion*> (r)) == 0) {
throw failed_constructor();
}
_length = 0;
- initialize();
+ initialize(false);
if (set_state (node)) {
throw failed_constructor();
}
+
+ save_state ("initial");
}
Crossfade::~Crossfade ()
@@ -167,7 +169,7 @@ Crossfade::~Crossfade ()
}
void
-Crossfade::initialize ()
+Crossfade::initialize (bool savestate)
{
_in_update = false;
@@ -198,8 +200,10 @@ Crossfade::initialize ()
// _out->StateChanged.connect (slot (*this, &Crossfade::member_changed));
overlap_type = _in->coverage (_out->position(), _out->last_frame());
-
- save_state ("initial");
+
+ if (savestate) {
+ save_state ("initial");
+ }
}
int