[Summary] Blocked redundant skip marker (during skip ranges consolidation) updates which used to lead to unnecessary overhead and redundant session events
Conflicts: libs/ardour/ardour/session.h libs/ardour/session.cc
This commit is contained in:
parent
48fdb28153
commit
297ebd33bb
@ -1196,9 +1196,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
|
||||
void sync_locations_to_skips ();
|
||||
void _sync_locations_to_skips ();
|
||||
|
||||
PBD::ScopedConnectionList loop_update_connections;
|
||||
PBD::ScopedConnectionList mark_update_connections;
|
||||
PBD::ScopedConnectionList skip_update_connections;
|
||||
bool _ignore_skips_updates;
|
||||
|
||||
PBD::ScopedConnectionList punch_connections;
|
||||
void auto_punch_start_changed (Location *);
|
||||
|
@ -208,6 +208,7 @@ Session::Session (AudioEngine &eng,
|
||||
, _post_transport_work (0)
|
||||
, cumulative_rf_motion (0)
|
||||
, rf_scale (1.0)
|
||||
, _ignore_skips_updates (false)
|
||||
, _locations (new Locations (*this))
|
||||
, step_speed (0)
|
||||
, outbound_mtc_timecode_frame (0)
|
||||
@ -1325,11 +1326,16 @@ Session::update_marks (Location*)
|
||||
void
|
||||
Session::update_skips (Location* loc, bool consolidate)
|
||||
{
|
||||
if (_ignore_skips_updates) {
|
||||
return;
|
||||
}
|
||||
|
||||
Locations::LocationList skips;
|
||||
|
||||
if (consolidate) {
|
||||
consolidate_skips (loc);
|
||||
}
|
||||
if (consolidate) {
|
||||
PBD::Unwinder<bool> uw (_ignore_skips_updates, true);
|
||||
consolidate_skips (loc);
|
||||
}
|
||||
|
||||
sync_locations_to_skips ();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user