Jack2  1.9.8
Public Types | Public Member Functions
Jack::JackMidiWriteQueue Class Reference

#include <JackMidiWriteQueue.h>

Inheritance diagram for Jack::JackMidiWriteQueue:
Jack::JackMidiAsyncQueue Jack::JackMidiBufferWriteQueue Jack::JackMidiRawInputWriteQueue Jack::JackMidiRawOutputWriteQueue Jack::JackMidiSendQueue Jack::JackMidiAsyncWaitQueue Jack::JackALSARawMidiSendQueue Jack::JackFFADOMidiSendQueue

List of all members.

Public Types

enum  EnqueueResult {
  BUFFER_FULL, BUFFER_TOO_SMALL, EVENT_EARLY, EN_ERROR,
  OK
}

Public Member Functions

virtual EnqueueResult EnqueueEvent (jack_nframes_t time, size_t size, jack_midi_data_t *buffer)=0
EnqueueResult EnqueueEvent (jack_midi_event_t *event, jack_nframes_t frame_offset=0)

Detailed Description

Interface for classes that act as write queues for MIDI messages. Write queues are used by processors to transfer data to the next processor.

Definition at line 32 of file JackMidiWriteQueue.h.


Member Function Documentation

virtual EnqueueResult Jack::JackMidiWriteQueue::EnqueueEvent ( jack_nframes_t  time,
size_t  size,
jack_midi_data_t *  buffer 
) [pure virtual]

Enqueues a data packet in the write queue of `size` bytes contained in `buffer` that will be sent the absolute time specified by `time`. This method should not block unless 1.) this write queue represents the actual outbound MIDI connection, 2.) the MIDI event is being sent *now*, meaning that `time` is less than or equal to *now*, and 3.) the method is *not* being called in the process thread. The method should return `OK` if the event was enqueued, `BUFFER_FULL` if the write queue isn't able to accept the event right now, `BUFFER_TOO_SMALL` if this write queue will never be able to accept the event because the event is too large, `EVENT_EARLY` if this queue cannot schedule events ahead of time, and `EN_ERROR` if an error occurs that cannot be specified by another return code.

Implemented in Jack::JackMidiRawInputWriteQueue, Jack::JackMidiRawOutputWriteQueue, Jack::JackMidiAsyncWaitQueue, Jack::JackMidiAsyncQueue, Jack::JackMidiBufferWriteQueue, Jack::JackALSARawMidiSendQueue, and Jack::JackFFADOMidiSendQueue.

EnqueueResult Jack::JackMidiWriteQueue::EnqueueEvent ( jack_midi_event_t event,
jack_nframes_t  frame_offset = 0 
) [inline]

A wrapper method for the `EnqueueEvent` method above. The optional 'frame_offset' argument is an amount of frames to add to the event's time.

Definition at line 72 of file JackMidiWriteQueue.h.


The documentation for this class was generated from the following files: