22 #include "JackALSARawMidiSendQueue.h"
23 #include "JackMidiUtil.h"
24 #include "JackError.h"
28 JackALSARawMidiSendQueue::JackALSARawMidiSendQueue(snd_rawmidi_t *rawmidi,
29 size_t bytes_per_poll)
31 assert(bytes_per_poll > 0);
32 this->bytes_per_poll = bytes_per_poll;
33 this->rawmidi = rawmidi;
35 bytes_available = bytes_per_poll;
38 Jack::JackMidiWriteQueue::EnqueueResult
40 jack_midi_data_t *buffer)
43 if (time > GetCurrentFrame()) {
46 if (! bytes_available) {
49 ssize_t result = snd_rawmidi_write(rawmidi, buffer, 1);
59 jack_error(
"JackALSARawMidiSendQueue::EnqueueEvent - snd_rawmidi_write: "
60 "%s", snd_strerror(result));
65 JackALSARawMidiSendQueue::IsBlocked()
71 JackALSARawMidiSendQueue::ResetPollByteCount()
73 bytes_available = bytes_per_poll;
JackMidiWriteQueue::EnqueueResult EnqueueEvent(jack_nframes_t time, size_t size, jack_midi_data_t *buffer)
SERVER_EXPORT void jack_error(const char *fmt,...)