20 #ifndef __JackALSARawMidiDriver__
21 #define __JackALSARawMidiDriver__
25 #include <alsa/asoundlib.h>
28 #include "JackALSARawMidiInputPort.h"
29 #include "JackALSARawMidiOutputPort.h"
30 #include "JackMidiDriver.h"
31 #include "JackThread.h"
43 jack_nframes_t *output_port_timeouts;
45 struct pollfd *poll_fds;
49 FreeDeviceInfo(std::vector<snd_rawmidi_info_t *> *in_info_list,
50 std::vector<snd_rawmidi_info_t *> *out_info_list);
53 GetDeviceInfo(snd_ctl_t *control, snd_rawmidi_info_t *info,
54 std::vector<snd_rawmidi_info_t *> *info_list);
57 HandleALSAError(
const char *driver_func,
const char *alsa_func,
79 Open(
bool capturing,
bool playing,
int in_channels,
int out_channels,
80 bool monitoring,
const char *capture_driver_name,
81 const char *playback_driver_name, jack_nframes_t capture_latency,
82 jack_nframes_t playback_latency);
The base class for MIDI drivers: drivers with MIDI ports.
Inter process synchronization using using Mach semaphore.
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...
Darwin threads. Real-time threads are actually "time constraint" threads.