summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/presentation_info.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-05 20:49:14 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-05 20:50:57 -0400
commit6520548fc27ffc7422f3714739841f3e88d47b5c (patch)
tree5b93b8290b59872db681d28cc6f1021fc634246f /libs/ardour/ardour/presentation_info.h
parent9e28056fd2325409a20482679ba40056affd056d (diff)
extend/modify PresentationInfo to make searching for routes via Session::get_remote_nth_stripable() work
Diffstat (limited to 'libs/ardour/ardour/presentation_info.h')
-rw-r--r--libs/ardour/ardour/presentation_info.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/libs/ardour/ardour/presentation_info.h b/libs/ardour/ardour/presentation_info.h
index 0de0a3d8bc..5ad33ab109 100644
--- a/libs/ardour/ardour/presentation_info.h
+++ b/libs/ardour/ardour/presentation_info.h
@@ -128,9 +128,10 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful
StatusMask = (Selected|Hidden)
};
- static const Flag Route;
- static const Flag Track;
- static const Flag Bus;
+ static const Flag AllRoutes; /* mask to use for any route include master+monitor, but not auditioner */
+ static const Flag Route; /* mask for any route (bus or track */
+ static const Flag Track; /* mask to use for any track */
+ static const Flag Bus; /* mask to use for any bus */
typedef uint32_t order_t;
typedef uint32_t color_t;
@@ -193,11 +194,23 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful
return true;
}
if (f == Route && (_flags & Route)) {
- /* any kind of route */
+ /* any kind of route, but not master, monitor in
+ or auditioner.
+ */
return true;
}
- return f == _flags;
+ if (f == AllRoutes && (_flags & AllRoutes)) {
+ /* any kind of route, but not auditioner. Ask for that
+ specifically.
+ */
+ return true;
+ }
+
+ /* compare without status mask - we already checked that above
+ */
+
+ return (f &~ (StatusMask|OrderSet)) == (_flags &~ (StatusMask|OrderSet));
}
int set_state (XMLNode const&, int);