#include "ardour/session.h"
#include "ardour/stripable.h"
+#include "pbd/i18n.h"
+
using namespace ARDOUR;
using namespace PBD;
{
}
-template<typename IterTypeForward, typename IterTypeCore>
+template<typename IterTypeCore>
void
CoreSelection::select_adjacent_stripable (bool mixer_order, bool routes_only,
IterTypeCore (StripableList::*begin_method)(),
session.get_stripables (stripables);
stripables.sort (ARDOUR::Stripable::Sorter (mixer_order));
- for (IterTypeForward s = (stripables.*begin_method)(); s != (stripables.*end_method)(); ++s) {
+ for (StripableList::iterator s = stripables.begin(); s != stripables.end(); ++s) {
if (select_stripable_and_maybe_group (*s, true, routes_only, 0)) {
break;
}
/* monitor is never selectable anywhere. for now, anyway */
- if ((!routes_only || r) && !(*s)->is_monitor()) {
+ if (!routes_only || r) {
if (select_stripable_and_maybe_group (*s, true, routes_only, 0)) {
return;
}
return false;
}
+ /* monitor is never selectable */
+
+ if (s->is_monitor()) {
+ return false;
+ }
+
if ((r = boost::dynamic_pointer_cast<Route> (s))) {
/* no selection of inactive routes, though they can be selected