20 #ifndef __JackMidiRawInputWriteQueue__
21 #define __JackMidiRawInputWriteQueue__
23 #include "JackMidiAsyncQueue.h"
24 #include "JackMidiWriteQueue.h"
41 jack_midi_data_t event_byte;
43 size_t expected_bytes;
44 jack_midi_data_t *input_buffer;
45 size_t input_buffer_size;
48 jack_midi_data_t status_byte;
50 size_t unbuffered_bytes;
57 PrepareBufferedEvent(jack_nframes_t time);
60 PrepareByteEvent(jack_nframes_t time, jack_midi_data_t byte);
63 PrepareEvent(jack_nframes_t time,
size_t size,
64 jack_midi_data_t *buffer);
67 ProcessByte(jack_nframes_t time, jack_midi_data_t byte);
70 RecordByte(jack_midi_data_t byte);
73 WriteEvent(jack_nframes_t boundary_frame);
84 HandleBufferFailure(
size_t unbuffered_bytes,
size_t total_bytes);
102 HandleIncompleteMessage(
size_t total_bytes);
110 HandleInvalidStatusByte(jack_midi_data_t byte);
119 HandleUnexpectedSysexEnd(
size_t total_bytes);
136 size_t max_packet_data=4096,
137 size_t max_packets=1024);
142 EnqueueEvent(jack_nframes_t time,
size_t size,
143 jack_midi_data_t *buffer);
171 Process(jack_nframes_t boundary_frame=0);
virtual EnqueueResult EnqueueEvent(jack_nframes_t time, size_t size, jack_midi_data_t *buffer)=0