20 #ifndef __JackCoreMidiOutputPort__
21 #define __JackCoreMidiOutputPort__
23 #include <semaphore.h>
25 #include "JackCoreMidiPort.h"
26 #include "JackMidiAsyncQueue.h"
27 #include "JackMidiBufferReadQueue.h"
28 #include "JackThread.h"
38 GetCoreMidiEvent(
bool block);
41 GetTimeStampFromFrames(jack_nframes_t frames);
43 static const size_t PACKET_BUFFER_SIZE = 65536;
45 SInt32 advance_schedule_time;
46 char packet_buffer[PACKET_BUFFER_SIZE];
48 char semaphore_name[128];
51 sem_t *thread_queue_semaphore;
56 SendPacketList(MIDIPacketList *packet_list) = 0;
59 Initialize(
const char *alias_name,
const char *client_name,
60 const char *driver_name,
int index,
61 MIDIEndpointRef endpoint, SInt32 advance_schedule_time);
66 size_t max_messages=1024);
The base class for runnable objects, that have an Init and Execute method to be called in a threa...
Darwin threads. Real-time threads are actually "time constraint" threads.