From dbffba81c598921b1f027f66c0261938a1d8808e Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Wed, 2 May 2007 19:06:56 +0000 Subject: [PATCH] controllers need to be updated when tracks are added so they can rebuild the route table git-svn-id: svn://localhost/ardour2/trunk@1777 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/surfaces/control_protocol/control_protocol.cc | 7 +++++++ .../control_protocol/control_protocol/control_protocol.h | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc index bb8ada746f..8456654f20 100644 --- a/libs/surfaces/control_protocol/control_protocol.cc +++ b/libs/surfaces/control_protocol/control_protocol.cc @@ -38,12 +38,19 @@ ControlProtocol::ControlProtocol (Session& s, string str) _name (str) { _active = false; + session->RouteAdded.connect (mem_fun(*this, &ControlProtocol::add_strip)); } ControlProtocol::~ControlProtocol () { } +void +ControlProtocol::add_strip (std::list >) +{ + route_list_changed(); +} + void ControlProtocol::next_track (uint32_t initial_id) { diff --git a/libs/surfaces/control_protocol/control_protocol/control_protocol.h b/libs/surfaces/control_protocol/control_protocol/control_protocol.h index c0961645ab..b787aeeb8f 100644 --- a/libs/surfaces/control_protocol/control_protocol/control_protocol.h +++ b/libs/surfaces/control_protocol/control_protocol/control_protocol.h @@ -47,6 +47,8 @@ class ControlProtocol : public sigc::trackable, public Stateful, public BasicUI virtual int set_feedback (bool yn) { return 0; } virtual bool get_feedback () const { return false; } + virtual void route_list_changed () {} + sigc::signal ActiveChanged; /* signals that a control protocol can emit and other (presumably graphical) @@ -101,6 +103,8 @@ class ControlProtocol : public sigc::trackable, public Stateful, public BasicUI std::string _name; bool _active; + void add_strip (std::list >); + void next_track (uint32_t initial_id); void prev_track (uint32_t initial_id); };