X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_selection.h;h=8460613e94cb8e5e87685f8936063c35deafc0fd;hb=refs%2Fheads%2Fcarl-master;hp=1fec8b1d86088fcf18c2d96faf4d2f9869422957;hpb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;p=ardour.git diff --git a/gtk2_ardour/automation_selection.h b/gtk2_ardour/automation_selection.h index 1fec8b1d86..8460613e94 100644 --- a/gtk2_ardour/automation_selection.h +++ b/gtk2_ardour/automation_selection.h @@ -1,12 +1,43 @@ +/* + * Copyright (C) 2008-2014 David Robillard + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + #ifndef __ardour_gtk_automation_selection_h__ #define __ardour_gtk_automation_selection_h__ #include -namespace ARDOUR { - class AutomationList; -} +#include "ardour/automation_list.h" +#include "evoral/Parameter.h" -struct AutomationSelection : list {}; +class AutomationSelection : public std::list > { +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__ */