X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmidi_selection.h;h=6ee26e4487c549cf118a669019fe9b9b7122674d;hb=39c2b544f034f7289a8efdeed6817dd2ef8a5bea;hp=bd6851870e14166808911eac22f3bf452eb75cba;hpb=0178875021916feea05a830325c25e9a7db81d34;p=ardour.git diff --git a/gtk2_ardour/midi_selection.h b/gtk2_ardour/midi_selection.h index bd6851870e..6ee26e4487 100644 --- a/gtk2_ardour/midi_selection.h +++ b/gtk2_ardour/midi_selection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2009 Paul Davis + 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 @@ -20,12 +20,33 @@ #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__ */