22 #include "JackMidiAsyncQueue.h"
26 JackMidiAsyncQueue::JackMidiAsyncQueue(
size_t max_bytes,
size_t max_messages)
28 data_buffer =
new jack_midi_data_t[max_bytes];
36 this->max_bytes = max_bytes;
42 throw std::bad_alloc();
45 JackMidiAsyncQueue::~JackMidiAsyncQueue()
58 event = &dequeue_event;
60 sizeof(jack_nframes_t));
64 size *
sizeof(jack_midi_data_t));
65 event->buffer = data_buffer;
71 Jack::JackMidiWriteQueue::EnqueueResult
73 jack_midi_data_t *buffer)
75 if (size > max_bytes) {
76 return BUFFER_TOO_SMALL;
80 (size *
sizeof(jack_midi_data_t))))) {
84 size *
sizeof(jack_midi_data_t));
86 sizeof(jack_nframes_t));
size_t jack_ringbuffer_read_space(const jack_ringbuffer_t *rb)
jack_ringbuffer_t * jack_ringbuffer_create(size_t sz)
size_t jack_ringbuffer_write_space(const jack_ringbuffer_t *rb)
void jack_ringbuffer_free(jack_ringbuffer_t *rb)
size_t GetAvailableSpace()
size_t jack_ringbuffer_write(jack_ringbuffer_t *rb, const char *src, size_t cnt)
int jack_ringbuffer_mlock(jack_ringbuffer_t *rb)
size_t jack_ringbuffer_read(jack_ringbuffer_t *rb, char *dest, size_t cnt)
virtual jack_midi_event_t * DequeueEvent()
virtual EnqueueResult EnqueueEvent(jack_nframes_t time, size_t size, jack_midi_data_t *buffer)