2009-07-21 20:23:12 +00:00
|
|
|
/* $Id$ */
|
|
|
|
|
|
|
|
#ifndef RINGBUFFER_H
|
|
|
|
#define RINGBUFFER_H
|
|
|
|
|
2009-07-24 14:25:44 +00:00
|
|
|
#include <jack/ringbuffer.h>
|
|
|
|
|
2009-07-21 20:23:12 +00:00
|
|
|
class RingBuffer {
|
|
|
|
private:
|
2009-07-24 14:25:44 +00:00
|
|
|
jack_ringbuffer_t *m_buffer;
|
2009-07-21 20:23:12 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
RingBuffer(size_t length)
|
|
|
|
{
|
2009-07-24 14:25:44 +00:00
|
|
|
m_buffer = jack_ringbuffer_create(length);
|
2009-07-21 20:23:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
~RingBuffer()
|
|
|
|
{
|
2009-07-24 14:25:44 +00:00
|
|
|
jack_ringbuffer_free(m_buffer);
|
2009-07-21 20:23:12 +00:00
|
|
|
}
|
2009-07-22 19:43:12 +00:00
|
|
|
|
2009-07-24 14:25:44 +00:00
|
|
|
bool PushEvent(const jack_midi_event_t &event);
|
2009-07-22 19:43:12 +00:00
|
|
|
bool PopEvent(jack_midi_event_t &event);
|
2009-07-21 20:23:12 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* RINGBUFFER_H */
|