20 #include "JackEngineControl.h"    21 #include "JackFrameTimer.h"    22 #include "JackGlobals.h"    23 #include "JackMidiUtil.h"    27 Jack::ApplyRunningStatus(
size_t *size, jack_midi_data_t **buffer,
    28                          jack_midi_data_t running_status)
    33     jack_midi_data_t status = **buffer;
    34     if ((status >= 0x80) && (status < 0xf0)) {
    35         if (status == running_status) {
    39             running_status = status;
    41     } 
else if (status < 0xf8) {
    44     return running_status;
    49                          jack_midi_data_t running_status)
    51     return ApplyRunningStatus(&(event->
size), &(event->
buffer),
    56 Jack::GetCurrentFrame()
    58     jack_time_t time = GetMicroSeconds();
    59     JackEngineControl *control = GetEngineControl();
    61     control->ReadFrameTime(&timer);
    62     return timer.Time2Frames(time, control->fBufferSize);
    66 Jack::GetFramesFromTime(jack_time_t time)
    68     JackEngineControl* control = GetEngineControl();
    70     control->ReadFrameTime(&timer);
    71     return timer.Time2Frames(time, control->fBufferSize);
    81 Jack::GetMessageLength(jack_midi_data_t status_byte)
    83     switch (status_byte & 0xf0) {
    94         switch (status_byte) {
   115 Jack::GetTimeFromFrames(jack_nframes_t frames)
   117     JackEngineControl* control = GetEngineControl();
   119     control->ReadFrameTime(&timer);
   120     return timer.Frames2Time(frames, control->fBufferSize);
 T * ReadCurrentState()
Returns the current state : only valid in the RT reader thread.
jack_midi_data_t * buffer