Turn Summary into a horizontal scrollbar (drop y-axis sensitivity)
[ardour.git] / libs / ardour / audio_playlist.cc
index b70771fc150745ea835c427cc493d7964e16a06d..4f95bbdc8a08f4b2bb54800c1798be3b56c70f08 100644 (file)
@@ -28,7 +28,7 @@
 #include "ardour/region_sorters.h"
 #include "ardour/session.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace ARDOUR;
 using namespace std;
@@ -335,6 +335,11 @@ AudioPlaylist::region_changed (const PropertyChange& what_changed, boost::shared
                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);
@@ -348,8 +353,8 @@ AudioPlaylist::region_changed (const PropertyChange& what_changed, boost::shared
        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 ();
        }
 
@@ -490,7 +495,7 @@ AudioPlaylist::load_legacy_crossfades (const XMLNode& node, int version)
                        XMLProperty const * p = (*i)->property (X_("active"));
                        assert (p);
 
-                       if (!string_is_affirmative (p->value())) {
+                       if (!string_to<bool> (p->value())) {
                                continue;
                        }