summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-16 23:31:51 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:29 -0500
commiteadf9bbef17a1405096ad6ce6966e4265d566cca (patch)
tree8d295bb2892e3b5ef74c8abad01dd0704a5e4f05 /libs/ardour/ardour
parent0e5ac13a045c41e6451b92da0a5e588dddb84e62 (diff)
light solo button, and do cancel_all_solo() when it is pressed
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/utils.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/ardour/utils.h b/libs/ardour/ardour/utils.h
index cc6e5044ce..6355c2d7ca 100644
--- a/libs/ardour/ardour/utils.h
+++ b/libs/ardour/ardour/utils.h
@@ -198,6 +198,17 @@ template<typename T> boost::shared_ptr<ControlList> stripable_list_to_control_li
return cl;
}
+template<typename T> boost::shared_ptr<ControlList> stripable_list_to_control_list (StripableList& sl, boost::shared_ptr<T> (Stripable::*get_control)() const) {
+ boost::shared_ptr<ControlList> cl (new ControlList);
+ for (StripableList::const_iterator s = sl.begin(); s != sl.end(); ++s) {
+ boost::shared_ptr<AutomationControl> ac = ((*s).get()->*get_control)();
+ if (ac) {
+ cl->push_back (ac);
+ }
+ }
+ return cl;
+}
+
#if __APPLE__
LIBARDOUR_API std::string CFStringRefToStdString(CFStringRef stringRef);
#endif // __APPLE__