mini-tl: subscribe to location add/remove signals
authorRobin Gareus <robin@gareus.org>
Sun, 18 Dec 2016 13:52:26 +0000 (14:52 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 18 Dec 2016 16:25:08 +0000 (17:25 +0100)
gtk2_ardour/mini_timeline.cc
gtk2_ardour/mini_timeline.h

index 23de27eb3cd84cac29c09001209d50ee525845df..d3c32b0d13881dc9bde9782a616f909dbf8a811d 100644 (file)
@@ -68,7 +68,7 @@ void
 MiniTimeline::session_going_away ()
 {
        super_rapid_connection.disconnect ();
-       session_connection.disconnect ();
+       session_connection.drop_connections ();
        SessionHandlePtr::session_going_away ();
        _jumplist.clear ();
 }
@@ -85,10 +85,23 @@ MiniTimeline::set_session (Session* s)
        super_rapid_connection = Timers::super_rapid_connect (
                        sigc::mem_fun (*this, &MiniTimeline::super_rapid_update)
                        );
+
        _session->config.ParameterChanged.connect (session_connection,
                        invalidator (*this),
                        boost::bind (&MiniTimeline::parameter_changed, this, _1), gui_context()
                        );
+       _session->locations()->added.connect (session_connection,
+                       invalidator (*this),
+                       boost::bind (&MiniTimeline::update_minitimeline, this), gui_context()
+                       );
+       _session->locations()->removed.connect (session_connection,
+                       invalidator (*this),
+                       boost::bind (&MiniTimeline::update_minitimeline, this), gui_context()
+                       );
+       _session->locations()->changed.connect (session_connection,
+                       invalidator (*this),
+                       boost::bind (&MiniTimeline::update_minitimeline, this), gui_context()
+                       );
 
        _jumplist.clear ();
 }
index d0b07d0a625b1285e6c89b343d5120b4b1690fc7..2d50c11ddfd6f4a5e76a4396d33a8e291d37c34d 100644 (file)
@@ -69,7 +69,7 @@ private:
        Glib::RefPtr<Pango::Layout> _layout;
        sigc::connection super_rapid_connection;
        PBD::ScopedConnectionList marker_connection;
-       PBD::ScopedConnection session_connection;
+       PBD::ScopedConnectionList session_connection;
 
        framepos_t _last_update_frame;
        AudioClock::Mode _clock_mode;