summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-28 12:57:45 +0200
committerRobin Gareus <robin@gareus.org>2015-04-28 16:08:19 +0200
commite3a2bc6a365ef2307066ebd798924db0101e89bb (patch)
tree0cb55fecc81b1cd47241cb98d6dddb6feb9e7d48 /libs/ardour/audio_track.cc
parentba0f7482c3a7f734326ea7b95e4d2fcf3fe1a0e5 (diff)
Track mode needs to be set before loading Track state
parent Track::set_state() sets the diskstream and ::set_diskstream() depends on the track mode. fixes Tape tracks on session load
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 33a5ba8f37..c056763efc 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -187,16 +187,16 @@ AudioTrack::set_state (const XMLNode& node, int version)
{
const XMLProperty *prop;
- if (Track::set_state (node, version)) {
- return -1;
- }
-
if ((prop = node.property (X_("mode"))) != 0) {
_mode = TrackMode (string_2_enum (prop->value(), _mode));
} else {
_mode = Normal;
}
+ if (Track::set_state (node, version)) {
+ return -1;
+ }
+
pending_state = const_cast<XMLNode*> (&node);
if (_session.state_of_the_state() & Session::Loading) {