#include "ardour/region_sorters.h"
#include "ardour/session.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace ARDOUR;
using namespace std;
: Playlist (session, node, DataType::AUDIO, hidden)
{
#ifndef NDEBUG
- const XMLProperty* prop = node.property("type");
+ XMLProperty const * prop = node.property("type");
assert(!prop || DataType(prop->value()) == DataType::AUDIO);
#endif
return false;
}
+ PropertyChange bounds;
+ bounds.add (Properties::start);
+ bounds.add (Properties::position);
+ bounds.add (Properties::length);
+
PropertyChange our_interests;
our_interests.add (Properties::fade_in_active);
bool parent_wants_notify;
parent_wants_notify = Playlist::region_changed (what_changed, region);
-
- if (parent_wants_notify || (what_changed.contains (our_interests))) {
+ /* if bounds changed, we have already done notify_contents_changed ()*/
+ if ((parent_wants_notify || what_changed.contains (our_interests)) && !what_changed.contains (bounds)) {
notify_contents_changed ();
}
for (XMLNodeConstIterator i = children.begin(); i != children.end(); ++i) {
if ((*i)->name() == X_("Crossfade")) {
- XMLProperty* p = (*i)->property (X_("active"));
+ XMLProperty const * p = (*i)->property (X_("active"));
assert (p);
if (!string_is_affirmative (p->value())) {