X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fdiskstream.cc;h=ebd11a1887d1e9c71991908e0fa23ee23561ffb8;hb=cf52d6e4b40111eb04b244ec054055a4ec15dbe0;hp=d6ccf5c9eabde488e73aa16ec788b63ca8105490;hpb=3dc7728038860bda6eb4b0de1f4a3e14ec9e86cc;p=ardour.git diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc index d6ccf5c9ea..ebd11a1887 100644 --- a/libs/ardour/diskstream.cc +++ b/libs/ardour/diskstream.cc @@ -46,7 +46,7 @@ #include "ardour/session.h" #include "ardour/track.h" -#include "i18n.h" +#include "pbd/i18n.h" #include using namespace std; @@ -380,7 +380,7 @@ Diskstream::use_playlist (boost::shared_ptr playlist) _playlist = playlist; _playlist->use(); - if (!in_set_state && recordable()) { + if (!in_set_state && destructive() && recordable()) { reset_write_sources (false); } @@ -461,7 +461,7 @@ Diskstream::get_state () { XMLNode* node = new XMLNode ("Diskstream"); char buf[64]; - LocaleGuard lg (); + LocaleGuard lg; node->add_property ("flags", enum_2_string (_flags)); node->add_property ("playlist", _playlist->name()); @@ -568,7 +568,9 @@ Diskstream::playlist_ranges_moved (list< Evoral::RangeMove > const & continue; } boost::shared_ptr alist = ac->alist(); - + if (!alist->size()) { + continue; + } XMLNode & before = alist->get_state (); bool const things_moved = alist->move_ranges (movements); if (things_moved) { @@ -598,6 +600,9 @@ Diskstream::move_processor_automation (boost::weak_ptr p, list< Evora for (set::const_iterator i = a.begin (); i != a.end (); ++i) { boost::shared_ptr al = processor->automation_control(*i)->alist(); + if (!al->size()) { + continue; + } XMLNode & before = al->get_state (); bool const things_moved = al->move_ranges (movements); if (things_moved) {