Mark session as modified when stripable order chanes
Previously this was handled by the Editor/Mixer Treeviews, centralizing it in Session makes more sense.
This commit is contained in:
parent
5b3eacd421
commit
729ff35faf
@ -355,7 +355,7 @@ public:
|
||||
return _bundles.reader ();
|
||||
}
|
||||
|
||||
void notify_presentation_info_change ();
|
||||
void notify_presentation_info_change (PBD::PropertyChange const&);
|
||||
|
||||
template<class T> void foreach_route (T *obj, void (T::*func)(Route&), bool sort = true);
|
||||
template<class T> void foreach_route (T *obj, void (T::*func)(boost::shared_ptr<Route>), bool sort = true);
|
||||
@ -1906,6 +1906,7 @@ private:
|
||||
bool _adding_routes_in_progress;
|
||||
bool _reconnecting_routes_in_progress;
|
||||
bool _route_deletion_in_progress;
|
||||
bool _route_reorder_in_progress;
|
||||
|
||||
void load_and_connect_instruments (RouteList&,
|
||||
bool strict_io,
|
||||
|
@ -281,6 +281,7 @@ Session::Session (AudioEngine &eng,
|
||||
, _adding_routes_in_progress (false)
|
||||
, _reconnecting_routes_in_progress (false)
|
||||
, _route_deletion_in_progress (false)
|
||||
, _route_reorder_in_progress (false)
|
||||
, _track_number_decimals(1)
|
||||
, default_fade_steepness (0)
|
||||
, default_fade_msecs (0)
|
||||
@ -468,7 +469,7 @@ Session::Session (AudioEngine &eng,
|
||||
bool was_dirty = dirty();
|
||||
unset_dirty ();
|
||||
|
||||
PresentationInfo::Change.connect_same_thread (*this, boost::bind (&Session::notify_presentation_info_change, this));
|
||||
PresentationInfo::Change.connect_same_thread (*this, boost::bind (&Session::notify_presentation_info_change, this, _1));
|
||||
|
||||
Config->ParameterChanged.connect_same_thread (*this, boost::bind (&Session::config_changed, this, _1, false));
|
||||
config.ParameterChanged.connect_same_thread (*this, boost::bind (&Session::config_changed, this, _1, true));
|
||||
@ -6968,13 +6969,18 @@ Session::session_name_is_legal (const string& path)
|
||||
}
|
||||
|
||||
void
|
||||
Session::notify_presentation_info_change ()
|
||||
Session::notify_presentation_info_change (PropertyChange const& what_changed)
|
||||
{
|
||||
if (deletion_in_progress()) {
|
||||
if (deletion_in_progress() || _route_reorder_in_progress) {
|
||||
return;
|
||||
}
|
||||
|
||||
reassign_track_numbers();
|
||||
if (what_changed.contains (Properties::order)) {
|
||||
PBD::Unwinder<bool> uw (_route_reorder_in_progress, true);
|
||||
ensure_stripable_sort_order ();
|
||||
reassign_track_numbers ();
|
||||
set_dirty ();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user