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.