diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/session.h | 5 | ||||
-rw-r--r-- | libs/ardour/session.cc | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index c0e9e304fc..fd607cd6f6 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -833,6 +833,11 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi */ static PBD::Signal0<void> FeedbackDetected; + /** Emitted when a graph sort has successfully completed, which means + that it has no feedback cycles. + */ + static PBD::Signal0<void> SuccessfulGraphSort; + /* handlers can return an integer value: 0: config.set_audio_search_path() or config.set_midi_search_path() was used to modify the search path and we should try to find it again. diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index e940009e94..6f03392548 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -130,6 +130,7 @@ PBD::Signal2<void,std::string, std::string> Session::Exported; PBD::Signal1<int,boost::shared_ptr<Playlist> > Session::AskAboutPlaylistDeletion; PBD::Signal0<void> Session::Quit; PBD::Signal0<void> Session::FeedbackDetected; +PBD::Signal0<void> Session::SuccessfulGraphSort; static void clean_up_session_event (SessionEvent* ev) { delete ev; } const SessionEvent::RTeventCallback Session::rt_cleanup (clean_up_session_event); @@ -1390,6 +1391,8 @@ Session::resort_routes_using (boost::shared_ptr<RouteList> r) } #endif + SuccessfulGraphSort (); /* EMIT SIGNAL */ + } else { /* The topological sort failed, so we have a problem. Tell everyone and stick to the old graph; this will continue to be processed, so |