summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-04-21 21:44:10 +0000
committerCarl Hetherington <carl@carlh.net>2010-04-21 21:44:10 +0000
commitb32efee4b3baaf306273a085416fbb79167a1858 (patch)
treed81f314d1419f83d595e616b2ed7a8ccc25f63d1
parent950ac6ef2b08b460adb16a1a3690077ecf55314c (diff)
Fix loading of MIDI tracks.
git-svn-id: svn://localhost/ardour2/branches/3.0@6947 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/midi_track.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 9fc2755a16..745fa75688 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -80,7 +80,7 @@ MidiTrack::use_new_diskstream ()
ds->do_refill_with_alloc ();
ds->set_block_size (_session.get_block_size ());
- set_diskstream (boost::dynamic_pointer_cast<MidiDiskstream> (ds));
+ set_diskstream (ds);
}
void
@@ -150,6 +150,14 @@ MidiTrack::_set_state (const XMLNode& node, int version, bool call_base)
}
}
+ if (version >= 3000) {
+ if ((child = find_named_node (node, X_("Diskstream"))) != 0) {
+ boost::shared_ptr<MidiDiskstream> ds (new MidiDiskstream (_session, *child));
+ ds->do_refill_with_alloc ();
+ set_diskstream (ds);
+ }
+ }
+
pending_state = const_cast<XMLNode*> (&node);
if (_session.state_of_the_state() & Session::Loading) {