summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_selection.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/automation_selection.h')
-rw-r--r--gtk2_ardour/automation_selection.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/gtk2_ardour/automation_selection.h b/gtk2_ardour/automation_selection.h
index 6f30c588e2..204f4f19be 100644
--- a/gtk2_ardour/automation_selection.h
+++ b/gtk2_ardour/automation_selection.h
@@ -22,10 +22,23 @@
#include <list>
-namespace ARDOUR {
- class AutomationList;
-}
-
-class AutomationSelection : public std::list<boost::shared_ptr<ARDOUR::AutomationList> > {};
+#include "ardour/automation_list.h"
+#include "evoral/Parameter.hpp"
+
+class AutomationSelection : public std::list<boost::shared_ptr<ARDOUR::AutomationList> > {
+public:
+ const_iterator
+ get_nth(const Evoral::Parameter& param, size_t nth) const {
+ size_t count = 0;
+ for (const_iterator l = begin(); l != end(); ++l) {
+ if ((*l)->parameter() == param) {
+ if (count++ == nth) {
+ return l;
+ }
+ }
+ }
+ return end();
+ }
+};
#endif /* __ardour_gtk_automation_selection_h__ */