21 #ifndef __JackMidiPort__    22 #define __JackMidiPort__    25 #include "JackConstants.h"    26 #include "JackPlatformPlug.h"    30 typedef unsigned char jack_midi_data_t;
    41 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"    49     enum { INLINE_SIZE_MAX = 
sizeof(jack_shmsize_t) };
    54         jack_shmsize_t offset;
    55         jack_midi_data_t data[INLINE_SIZE_MAX];
    58     jack_midi_data_t* GetData(
void* 
buffer)
    60         if (size <= INLINE_SIZE_MAX) {
    63             return (jack_midi_data_t*)buffer + offset;
    77     enum { MAGIC = 0x900df00d };
    80     jack_shmsize_t buffer_size;
    81     jack_nframes_t nframes;
    90         return magic == MAGIC;
    92     void Reset(jack_nframes_t nframes);
    93     jack_shmsize_t MaxEventSize() 
const;
    96     jack_midi_data_t* ReserveEvent(jack_nframes_t 
time, jack_shmsize_t 
size);
    99 void MidiBufferInit(
void* 
buffer, 
size_t buffer_size, jack_nframes_t nframes);
 jack_midi_data_t * buffer
jack_shmsize_t write_pos
data write position from the end of the buffer.