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