20 #ifndef __JackWinMMEOutputPort__    21 #define __JackWinMMEOutputPort__    23 #include "JackMidiAsyncQueue.h"    24 #include "JackMidiBufferReadQueue.h"    25 #include "JackThread.h"    26 #include "JackWinMMEPort.h"    36         HandleMessageEvent(HMIDIOUT handle, UINT message, DWORD_PTR port,
    37                            DWORD_PTR param1, DWORD_PTR param2);
    40         GetOutErrorString(MMRESULT error, LPTSTR text);
    43         HandleMessage(UINT message, DWORD_PTR param1, DWORD_PTR param2);
    46         Signal(HANDLE semaphore);
    49         Wait(HANDLE semaphore);
    52         WriteOutError(
const char *jack_func, 
const char *mm_func,
    57         HANDLE sysex_semaphore;
    60         HANDLE thread_queue_semaphore;
    66                              const char *driver_name, UINT index,
    67                              size_t max_bytes=4096, 
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.