summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/audio_playlist.cc2
-rw-r--r--libs/ardour/session.cc4
-rw-r--r--libs/surfaces/control_protocol/control_protocol.cc7
-rw-r--r--libs/surfaces/control_protocol/control_protocol/control_protocol.h4
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);
};