From 38c5ae4237c7f2a45c85790d95c0afef481b73fe Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 11 Sep 2022 00:49:21 +0200 Subject: [PATCH] Reread MIDI region when time-domain changes This effectively triggers a Session::request_overwrite_buffer via Playlist::notify_contents_changed when the time-domain of a Region changes. When the time domain of a MIDI region changes, Region boundaries and events positions change ever so slightly. The playlist has to be rendered again to take this into account. When MIDI regions with different time-domains are layered, notes may not be resolved in correct order. Previously changing time-domains to address this did not result in the playlist being reread. --- libs/ardour/playlist.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index dff0ffa5db..c10d2d8cf3 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -1656,6 +1656,7 @@ Playlist::region_changed (const PropertyChange& what_changed, boost::shared_ptr< our_interests.add (Properties::layer); our_interests.add (Properties::opaque); our_interests.add (Properties::contents); + our_interests.add (Properties::time_domain); bounds.add (Properties::start); bounds.add (Properties::length);