Jack2 1.9.6
Public Member Functions | Protected Member Functions

Jack::JackPhysicalMidiOutput Class Reference

List of all members.

Public Member Functions

 JackPhysicalMidiOutput (size_t non_rt_buffer_size=1024, size_t rt_buffer_size=64)
void Process (jack_nframes_t)
void SetPortBuffer (JackMidiBuffer *port_buffer)

Protected Member Functions

virtual jack_nframes_t Advance (jack_nframes_t)
virtual void HandleEventLoss (JackMidiEvent *)
virtual jack_nframes_t Send (jack_nframes_t, jack_midi_data_t)=0
virtual jack_nframes_t SendBufferedData (jack_ringbuffer_t *, jack_nframes_t, jack_nframes_t)

Detailed Description

Definition at line 28 of file JackPhysicalMidiOutput.h.


Constructor & Destructor Documentation

usr src RPM BUILD jack common JackPhysicalMidiOutput cpp Jack::JackPhysicalMidiOutput::JackPhysicalMidiOutput ( size_t  non_rt_buffer_size = 1024,
size_t  rt_buffer_size = 64 
)

The non-realtime buffer size and the realtime buffer size are both optional arguments.

Definition at line 28 of file JackPhysicalMidiOutput.cpp.


Member Function Documentation

jack_nframes_t Jack::JackPhysicalMidiOutput::Advance ( jack_nframes_t  frame) [protected, virtual]

Override to specify the next frame at which a midi byte can be sent. The returned frame must be greater than or equal to the frame argument. The default returns the frame passed to it.

Definition at line 57 of file JackPhysicalMidiOutput.cpp.

void Jack::JackPhysicalMidiOutput::HandleEventLoss ( JackMidiEvent event) [protected, virtual]

Override to customize how to react when a MIDI event can't be buffered and can't be sent immediately. The default calls 'jack_error' and specifies the number of bytes lost.

Definition at line 84 of file JackPhysicalMidiOutput.cpp.

virtual jack_nframes_t Jack::JackPhysicalMidiOutput::Send ( jack_nframes_t  ,
jack_midi_data_t   
) [protected, pure virtual]

This method *must* be overridden to specify what happens when a MIDI byte is sent at the specfied frame. The frame argument specifies the frame at which the MIDI byte should be sent, and the second argument specifies the byte itself. The return value is the next frame at which a MIDI byte can be sent, and must be greater than or equal to the frame argument.

jack_nframes_t Jack::JackPhysicalMidiOutput::SendBufferedData ( jack_ringbuffer_t buffer,
jack_nframes_t  current_frame,
jack_nframes_t  boundary 
) [protected, virtual]

Override to optimize behavior when sending MIDI data that's in the ringbuffer. The first frame argument is the current frame, and the second frame argument is the boundary frame. The function returns the next frame at which MIDI data can be sent, regardless of whether or not the boundary is reached. The default implementation calls 'Send' with each byte in the ringbuffer until either the ringbuffer is empty, or a frame beyond the boundary frame is returned by 'Send'.

Definition at line 302 of file JackPhysicalMidiOutput.cpp.

void Jack::JackPhysicalMidiOutput::Process ( jack_nframes_t  frames)

Called to process MIDI data during a period.

Definition at line 90 of file JackPhysicalMidiOutput.cpp.

void Jack::JackPhysicalMidiOutput::SetPortBuffer ( JackMidiBuffer port_buffer) [inline]

Set the MIDI buffer that will contain the outgoing MIDI messages.

Definition at line 109 of file JackPhysicalMidiOutput.h.


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