diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index c89981aba5..00af5f1e06 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -519,10 +519,11 @@ AudioRegion::set_fade_before_fx (bool yn) if (!has_region_fx ()) { return; } + PropertyChange pc (Properties::region_fx_changed); if (!_invalidated.exchange (true)) { - send_change (PropertyChange (Properties::region_fx)); // trigger DiskReader overwrite + pc.add (Properties::region_fx); // trigger DiskReader overwrite } - send_change (PropertyChange (Properties::region_fx_changed)); /* EMIT SIGNAL */ + send_change (pc); } } @@ -2588,10 +2589,11 @@ AudioRegion::_add_plugin (std::shared_ptr rfx, std::shared_ptr fx) fx_latency_changed (true); fx_tail_changed (true); + PropertyChange pc (Properties::region_fx_changed); if (!_invalidated.exchange (true)) { - send_change (PropertyChange (Properties::region_fx)); // trigger DiskReader overwrite + pc.add (Properties::region_fx); // trigger DiskReader overwrite } - send_change (PropertyChange (Properties::region_fx_changed)); /* EMIT SIGNAL */ + send_change (pc); _session.set_dirty (); return true; } @@ -2630,10 +2633,11 @@ void AudioRegion::reorder_plugins (RegionFxList const& new_order) { Region::reorder_plugins (new_order); + PropertyChange pc (Properties::region_fx_changed); if (!_invalidated.exchange (true)) { - send_change (PropertyChange (Properties::region_fx)); // trigger DiskReader overwrite + pc.add (Properties::region_fx); // trigger DiskReader overwrite } - send_change (PropertyChange (Properties::region_fx_changed)); /* EMIT SIGNAL */ + send_change (pc); } void diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 7eeeb8554f..3aa5f2025d 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -1638,8 +1638,9 @@ Region::_set_state (const XMLNode& node, int version, PropertyChange& what_chang if (changed) { fx_latency_changed (true); fx_tail_changed (true); - send_change (PropertyChange (Properties::region_fx)); // trigger DiskReader overwrite - send_change (PropertyChange (Properties::region_fx_changed)); + PropertyChange pc (Properties::region_fx_changed); + pc.add (Properties::region_fx); // trigger DiskReader overwrite + send_change (pc); } }