X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmidi_selection.h;h=28ac932c6302ecc78fa3df5e656c5e5551ddf104;hb=a8d62ce056fe260792d4e72bf8cf2fbff0e8b39b;hp=bd6851870e14166808911eac22f3bf452eb75cba;hpb=0178875021916feea05a830325c25e9a7db81d34;p=ardour.git diff --git a/gtk2_ardour/midi_selection.h b/gtk2_ardour/midi_selection.h index bd6851870e..28ac932c63 100644 --- a/gtk2_ardour/midi_selection.h +++ b/gtk2_ardour/midi_selection.h @@ -1,31 +1,52 @@ /* - Copyright (C) 2009 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 - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ + * Copyright (C) 2009-2014 David Robillard + * Copyright (C) 2009 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 + * 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_midi_selection_h__ #define __ardour_gtk_midi_selection_h__ -#include +#include "region_selection.h" class MidiRegionView; class MidiCutBuffer; - -struct MidiRegionSelection : std::list {}; -struct MidiNoteSelection : std::list {}; +class RegionView; + +class MidiRegionSelection : public RegionSelection +{ +public: + MidiRegionSelection (); + MidiRegionSelection (const MidiRegionSelection&); + + MidiRegionSelection& operator= (const MidiRegionSelection&); +}; + +struct MidiNoteSelection : std::list { +public: + const_iterator + get_nth(size_t nth) const { + size_t count = 0; + for (const_iterator m = begin(); m != end(); ++m) { + if (count++ == nth) { + return m; + } + } + return end(); + } +}; #endif /* __ardour_gtk_midi_selection_h__ */