diff options
Diffstat (limited to 'gtk2_ardour/automation_selection.h')
-rw-r--r-- | gtk2_ardour/automation_selection.h | 23 |
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__ */ |