Consolidate RegionFX signal emission

This commit is contained in:
Robin Gareus 2026-01-19 17:17:07 +01:00
parent 37e8bf2545
commit 789cab2bb3
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 15 additions and 10 deletions

View file

@ -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<RegionFxPlugin> rfx, std::shared_ptr<R
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);
return true;
}
@ -2618,10 +2620,11 @@ AudioRegion::remove_plugin (std::shared_ptr<RegionFxPlugin> 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

View file

@ -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);
}
}