a reverb is a reverb is a reverb
[ardour.git] / gtk2_ardour / automation_selection.h
index fb19c0b5e0d3697de4a49cc3792df22a1a9f69e7..204f4f19becd9188ed902289c8a9ca8babebd498 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000-2007 Paul Davis 
+    Copyright (C) 2000-2007 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 #include <list>
 
-namespace ARDOUR {
-       class AutomationList;
-}
-
-struct AutomationSelection : 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__ */