diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/audio_playlist.cc | 2 | ||||
-rw-r--r-- | libs/ardour/session.cc | 4 | ||||
-rw-r--r-- | libs/surfaces/control_protocol/control_protocol.cc | 7 | ||||
-rw-r--r-- | libs/surfaces/control_protocol/control_protocol/control_protocol.h | 4 |
4 files changed, 14 insertions, 3 deletions
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index bd30ae0eeb..929101fe6d 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -346,8 +346,6 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh) return; } - cerr << "Check dependents of " << r->name() << endl; - if ((region = boost::dynamic_pointer_cast<AudioRegion> (r)) == 0) { fatal << _("programming error: non-audio Region tested for overlap in audio playlist") << endmsg; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 9e382a6a6e..ff549f9896 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1920,11 +1920,13 @@ Session::new_audio_route (int input_channels, int output_channels, uint32_t how_ do { snprintf (bus_name, sizeof(bus_name), "Bus %" PRIu32, bus_id); + bus_id++; + if (route_by_name (bus_name) == 0) { break; } - } while (++bus_id < (UINT_MAX-1)); + } while (bus_id < (UINT_MAX-1)); try { shared_ptr<Route> bus (new Route (*this, bus_name, -1, -1, -1, -1, Route::Flag(0), DataType::AUDIO)); diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc index 1ef7a2c1b4..708373e3bc 100644 --- a/libs/surfaces/control_protocol/control_protocol.cc +++ b/libs/surfaces/control_protocol/control_protocol.cc @@ -38,6 +38,7 @@ ControlProtocol::ControlProtocol (Session& s, string str) _name (str) { _active = false; + session->RouteAdded.connect (mem_fun(*this, &ControlProtocol::add_strip)); } ControlProtocol::~ControlProtocol () @@ -45,6 +46,12 @@ ControlProtocol::~ControlProtocol () } void +ControlProtocol::add_strip (std::list<boost::shared_ptr<ARDOUR::Route> >) +{ + route_list_changed(); +} + +void ControlProtocol::next_track (uint32_t initial_id) { uint32_t limit = session->nroutes(); 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<void> 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<boost::shared_ptr<ARDOUR::Route> >); + void next_track (uint32_t initial_id); void prev_track (uint32_t initial_id); }; |