new audio engine backend for native CoreAudio audio I/O, and PortMIDI for MIDI.
[ardour.git] / libs / backends / wavesaudio / waves_midi_buffer.h
1 /*\r
2     Copyright (C) 2014 Waves Audio Ltd.\r
3 \r
4     This program is free software; you can redistribute it and/or modify\r
5     it under the terms of the GNU General Public License as published by\r
6     the Free Software Foundation; either version 2 of the License, or\r
7     (at your option) any later version.\r
8 \r
9     This program is distributed in the hope that it will be useful,\r
10     but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
12     GNU General Public License for more details.\r
13 \r
14     You should have received a copy of the GNU General Public License\r
15     along with this program; if not, write to the Free Software\r
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
17 \r
18 */\r
19 #ifndef __libardour_waves_midi_buffer_h__\r
20 #define __libardour_waves_midi_buffer_h__\r
21 \r
22 #include "ardour/types.h"\r
23 \r
24 namespace ARDOUR {\r
25 \r
26 class WavesMidiEvent;\r
27 \r
28 class WavesMidiBuffer : public std::vector<WavesMidiEvent*>\r
29 {\r
30 public:\r
31     WavesMidiBuffer (std::string name);\r
32     ~WavesMidiBuffer ();\r
33     void clear ();\r
34     WavesMidiBuffer& operator += (const WavesMidiBuffer& source);\r
35 \r
36     inline const std::string name () { return _name; } // for DBG purpouses;\r
37 \r
38 private:\r
39     const std::string _name;\r
40 };\r
41 \r
42 typedef std::vector<WavesMidiEvent*>::iterator WavesMidiBufferIterator;\r
43 typedef std::vector<WavesMidiEvent*>::const_iterator WavesMidiBufferConstIterator;\r
44 \r
45 } // namespace\r
46 \r
47 #endif /* __libardour_waves_midi_buffer_h__ */\r