a reverb is a reverb is a reverb
[ardour.git] / gtk2_ardour / automation_selection.h
index f22d4831e2a5c07b6005c4d26b0cabf357a27b07..204f4f19becd9188ed902289c8a9ca8babebd498 100644 (file)
 
 #include <list>
 
-namespace ARDOUR {
-       class AutomationList;
-}
-
-struct AutomationSelection : 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__ */