21 #ifndef __JackCoreMidiDriver__    22 #define __JackCoreMidiDriver__    24 #include "JackCoreMidiPhysicalInputPort.h"    25 #include "JackCoreMidiPhysicalOutputPort.h"    26 #include "JackCoreMidiVirtualInputPort.h"    27 #include "JackCoreMidiVirtualOutputPort.h"    28 #include "JackMidiDriver.h"    29 #include "JackThread.h"    38         HandleInputEvent(
const MIDIPacketList *packet_list, 
void *driver,
    42         HandleNotificationEvent(
const MIDINotification *message, 
void *driver);
    45         HandleNotification(
const MIDINotification *message);
    48         MIDIPortRef internal_input;
    49         MIDIPortRef internal_output;
    50         int num_physical_inputs;
    51         int num_physical_outputs;
    52         int num_virtual_inputs;
    53         int num_virtual_outputs;
    81         Open(
bool capturing, 
bool playing, 
int num_inputs, 
int num_outputs,
    82              bool monitor, 
const char* capture_driver_name,
    83              const char* playback_driver_name, jack_nframes_t capture_latency,
    84              jack_nframes_t playback_latency);
   109 #define WAIT_COUNTER 100 The base class for MIDI drivers: drivers with MIDI ports.
Locked Engine, access to methods is serialized using a mutex.
The base class for runnable objects, that have an  Init  and  Execute  method to be called in a threa...
Inter process synchronization using POSIX semaphore.
Base class for "lockable" objects.
JackCoreMidiDriver(const char *name, const char *alias, JackLockedEngine *engine, JackSynchro *table)
Darwin threads. Real-time threads are actually "time constraint" threads.